Respectlytics Respect lytics
Menu
Mobile Commerce Analytics Cart Funnel Session-Based Tracking

Retail & E-commerce App Analytics
Without Customer IDs

11 min read

Conversion is a property of a session, not a person. A retail funnel — search, browse, add-to-cart, checkout — happens in a single shopping intent. You can measure it cleanly without a persistent customer ID. This guide gives you the event taxonomy, the funnel definitions, and the segments that actually matter for a shopping app.

🛒 Why Session-Based Works for Retail

A shopping intent fits inside a session. People open a retail app to search for something, decide whether to buy it, and either complete or abandon. The whole arc is usually minutes — well under the typical session window.

That means session-based analytics captures the funnel naturally. You do not need persistent customer tracking to know what happens between search and checkout — you just need the events of one session, in order.

💡 The shift in mental model

Old analytics: "What is this customer's lifetime conversion rate?" Session analytics: "What fraction of shopping sessions convert this week?" The second answer is faster, simpler, and the one product teams actually act on.

🗂️ The Retail Event Taxonomy

Use snake_case with object_action (see Event Naming Best Practices) and namespace prefixes for the funnel stage:

StageEvents
Acquisitionapp_opened, push_notification_opened
Discoverysearch_performed, category_viewed, product_viewed
Cartcart_item_added, cart_item_removed, cart_viewed
Checkoutcheckout_started, checkout_address_entered, checkout_payment_entered, checkout_completed
Failureorder_failed, payment_declined
Engagementreview_submitted, wishlist_item_added, promo_applied

Do not embed values in event names. cart_added_blue_widget creates a unique event per SKU and breaks every funnel chart. Keep the name fixed; if you need product-level analysis, look at it in your transactional system.

🛤️ Three Funnels Every Shopping App Needs

1. The browse-to-buy funnel

app_openedproduct_viewedcart_item_addedcheckout_completed

The headline conversion funnel. Watch the drop-off at cart_item_addedcheckout_completed closely.

2. The search-driven funnel

search_performedproduct_viewedcart_item_added

If search_performed rarely leads to product_viewed, search is broken. Fix that before optimizing checkout.

3. The checkout micro-funnel

checkout_startedcheckout_address_enteredcheckout_payment_enteredcheckout_completed

Per-step drop-off pinpoints which checkout screen is killing conversions. Address screens lose buyers more often than payment screens — but you only know which by measuring.

📊 Useful Segments Without User IDs

Session attributes give you most of what you need:

  • Platform — iOS vs Android, sometimes Web. Conversion rate frequently diverges.
  • Country — Local payment methods, shipping latency, and translation quality vary by country.
  • Hour of day — Push timing, promo timing, restock windows.
  • Session depth — High-engagement sessions (10+ events) buy at very different rates than skimmers.

🛑 Measuring Cart Abandonment

The classic metric: of the shoppers who added something to a cart, how many failed to complete checkout? In session terms:

session_abandonment_rate =

1 − (sessions_with(checkout_completed) / sessions_with(cart_item_added))

This is not the same metric as per-customer abandonment. Instead of "this person abandoned twice last week," it tells you "of every 100 shopping intents, X never reached purchase." For day-to-day product decisions that is usually the better signal.

💳 Payments, Refunds, and Failure Modes

Treat your payment provider as the source of truth for money. Analytics tracks intent and outcome, not amounts:

  • payment_declined — Card was declined. Compare rate by country to spot acquirer issues.
  • order_failed — Backend rejection (out of stock, address invalid). Use to find merchandising bugs.
  • refund_requested — A customer support hop, not the refund itself. Reconcile with billing.

Never put dollar amounts in event names or properties. Order totals belong in your transactional database.

📈 KPIs Without PII

A starter scorecard for a retail product manager:

KPIDefinition
Session conversion ratesessions with checkout_completed / sessions with app_opened
Cart-to-purchase ratecheckout_completed / cart_item_added (session-level)
Search success ratesearch_performed sessions that reach product_viewed
Checkout completion ratecheckout_completed / checkout_started
Avg events per buying sessionavg event count for sessions with checkout_completed

💡 Why retail teams choose Respectlytics

The strict 5-field schema means you cannot accidentally write customer_email, order_total, or credit_card_last4 into an event. The API rejects them at the edge.

For shopping apps that move money, that constraint is the feature. The PCI-relevant data stays in your payment processor, and your analytics pipeline cannot become an unintended PII leak.

Frequently Asked Questions

Can you track e-commerce conversions without customer IDs?

Yes. Conversion is a property of a session. If a session contains app_opencheckout_completed, that session converted. No persistent customer ID needed.

What events should a retail app track?

app_opened, search_performed, category_viewed, product_viewed, cart_item_added, cart_viewed, checkout_started, checkout_payment_entered, checkout_completed, order_failed.

How do you measure cart abandonment without a user ID?

Compare sessions that fired cart_item_added to those that fired checkout_completed. The ratio is your session-level abandonment rate.

Does Respectlytics work for retail apps with high traffic?

Yes. The five-field schema is small enough to scale and the API rejects custom properties so you cannot accidentally write order amounts or emails to events.

Can I segment by repeat shopper without a customer ID?

Not directly. You can segment by session depth, hour, platform, country. Logged-in cohort analysis belongs in your transactional database, not the analytics pipeline.

Legal Disclaimer: This information is provided for educational purposes and does not constitute legal advice. Consult your legal team to determine the requirements that apply to your specific situation.

Cart-to-purchase analytics, without customer profiles.

Five fields per event. No PII can leak in. Funnel analysis on session intent.