Summarize this documentation using AI
Overview
If you’re running retention in Customer.io, screen tracking is one of the fastest ways to turn “app usage” into real segments and triggers—especially for browse follow-up, cart recovery, and reactivation. If you want a second set of operator eyes on your tracking plan before you ship, book a strategy call and we’ll sanity-check naming, identity stitching, and the campaign triggers you’ll actually use.
In most D2C apps, the difference between “we have events” and “we can run retention off events” comes down to screen tracking discipline: consistent screen names, the right metadata, and a clean handoff from anonymous browsing to logged-in identity.
How It Works
Screen tracking is just event tracking with one key difference: it reflects intent in a way purchase events don’t. When someone hits Product Detail three times in a week, or bounces between Cart and Shipping, you’ve got retention leverage—even if they never fire a checkout event.
- Your app sends a “screen viewed” event every time a user lands on a meaningful screen (PDP, Collection, Cart, Checkout, Order Status, Subscription, Account).
- Customer.io stores those events on the person profile and they become usable for segmentation (“Viewed Cart in last 2 hours”) and orchestration (trigger a push after a Cart screen view with no Purchase event).
- Identity stitching is the make-or-break piece: you’ll often track screens anonymously first, then call
identifyat login/checkout so those pre-login screens attach to the right customer record. In practice, this tends to break when teams identify too late (after purchase), or they rotate anonymous IDs incorrectly. - Good screen tracking includes context (product_id, collection_id, cart_value, currency, variant, subscription_eligible) so you can do more than generic “come back” nudges.
Step-by-Step Setup
Before you write any code, decide what screens actually matter for retention. If you track every screen, you’ll drown in noise and your segments will be unusable. Start with the screens that map to revenue intent and drop-off points.
- Define your screen taxonomy (names you won’t regret later).
Pick a consistent convention likeScreen Viewedas the event name andscreen_nameas the property (or use a per-screen event name, but be consistent). Keep names stable across iOS/Android/Web. - Install the Customer.io SDK for your platform.
Use the official mobile SDK (iOS/Android/React Native/Flutter/etc.) or web tracking depending on where the experience lives. Don’t mix multiple tracking methods for the same app session unless you’re deliberate about identity. - Initialize the SDK early in app launch.
You want screen events to fire from the first meaningful view. If initialization happens after routing, your “first screen” data will be missing and funnels will look broken. - Track anonymous screen views immediately.
Fire a screen event as soon as the user lands on key screens (Home, Collection, PDP, Cart, Checkout steps). Include properties that will matter later—at minimum:screen_name,timestamp, and any business IDs (likeproduct_id). - Call
identifyat the first reliable moment.
For D2C, that’s typically when the user logs in, creates an account, or enters an email/phone at checkout. The goal is to merge pre-identify screen history into the known customer profile so you can message off it. - Validate in Customer.io Activity Logs.
Confirm: (1) events are arriving, (2) properties are present, (3) the same person profile shows both pre- and post-login activity. If you see duplicate people for the same real customer, fix identity before you build campaigns. - Build one “proof” segment and one trigger.
Example: segment = “Viewed Cart screen in last 60 minutes AND no Purchase event in last 60 minutes.” Trigger a push/email and confirm the audience size and timing match reality.
When Should You Use This Feature
Screen tracking earns its keep when purchase events are too late in the story. You use it to capture intent and friction—then orchestrate around it with tight timing windows.
- Cart recovery in an app-first brand.
Scenario: a customer adds a refill pack, opens the Cart screen twice, then disappears. A screen-view trigger lets you start a 30–90 minute recovery sequence even if your “Checkout Started” event never fired. - Browse follow-up for product discovery.
If someone views 3+ PDPs from the same collection but never hits cart, you can send a “best sellers from that line” push or email—without guessing what they looked at. - Reactivation based on “high intent, no conversion.”
People who hit Checkout or Shipping screens in the last 30 days but never purchased are often your cheapest win-back audience. - Post-purchase CX that increases LTV.
Track Order Status, Returns, and Subscription screens to identify customers who might churn (e.g., repeatedly viewing “Cancel subscription”).
Operational Considerations
Once screen tracking is live, the biggest operational work is keeping the data usable for segmentation and orchestration. The retention team needs stable event contracts; the product team will keep shipping UI changes.
- Segmentation depends on naming stability.
If “ProductDetail” becomes “PDP” in a redesign, your segments silently die. Treat screen names like an analytics contract and version them intentionally. - Data flow needs a clear source of truth.
Decide whether Customer.io is getting events directly from the SDK, through a CDP, or via server-side forwarding. Mixed paths often create duplicates or timing mismatches (especially painful for cart recovery windows). - Identity stitching needs explicit ownership.
Someone on the team should own whenidentifyfires, what identifier is used (email, customer_id), and how logout resets the device/user state. A common failure mode is reusing a device across multiple accounts and polluting profiles. - Orchestration reality: screen events are noisy.
Add guardrails: frequency caps, “only once per X hours,” and exclusions like “purchased since screen view.” Otherwise you’ll spam active shoppers who are just navigating. - Property hygiene matters more than volume.
A singlescreen_name=Cartevent withcart_valueanditem_countbeats five vague navigation events. Optimize for decision-making fields.
Implementation Checklist
If you want screen tracking to drive revenue workflows (not just dashboards), you need a short checklist that engineering and retention both agree on before launch.
- SDK installed and initialized on app start
- Standardized event naming: one canonical way to represent “screen viewed”
- Key screens mapped: Collection, PDP, Cart, Checkout steps, Order Status, Subscription
- Required properties defined (at least
screen_name; ideally product/cart metadata where relevant) identifyimplemented at login and/or checkout identity capture- Anonymous-to-known merge verified in Customer.io Activity Logs
- At least one segment built off screen timing windows (e.g., last 30/60/120 minutes)
- At least one triggered campaign tested end-to-end (push/email) with exclusions for purchasers
Expert Implementation Tips
The teams that get real lift from screen tracking treat it like a retention primitive, not a product analytics afterthought. A few patterns tend to hold up across D2C apps.
- Track “screen enter” once, not every render.
Mobile frameworks can re-render screens frequently. Debounce so you don’t inflate counts and accidentally qualify people for “viewed PDP 5+ times” segments in one session. - Use screen properties to power merchandising.
For PDP: sendproduct_id,variant_id,price,category. For Collection: includecollection_id. This is how you graduate from generic browse nudges to relevant follow-ups. - Build “intent ladders” instead of single-screen triggers.
Example ladder: Collection → PDP → Cart → Checkout. Trigger different messaging depending on the highest-intent screen in the last X hours. - Time windows should match buying behavior.
For cart recovery, 30–90 minutes usually beats “next day.” For browse follow-up, 4–24 hours often performs better because it catches people after the session ends. - Instrument logout and account switching.
If you support multiple accounts on one device, make sure you reset identity correctly or you’ll end up sending cart recovery to the wrong person.
Common Mistakes to Avoid
Most “screen tracking didn’t work for us” stories are really “we shipped events, but they weren’t campaign-ready.” These are the issues that usually cause the pain.
- Identifying too late.
If you only callidentifyafter purchase, you lose the entire pre-purchase journey for retention triggers like cart recovery and browse follow-up. - Inconsistent screen names across platforms.
“Cart”, “CartScreen”, and “Bag” become three different segments. Standardize early. - No purchase exclusion logic.
Teams trigger off Cart Viewed but forget to suppress users who purchased 2 minutes later. That’s how you end up with the classic “You left something behind” message after an order confirmation. - Over-tracking low-signal screens.
Tracking every settings screen bloats volume and makes segmentation harder. Prioritize revenue and churn-related screens. - Relying on screen count without debouncing.
Re-render loops can inflate “views” and cause customers to enter flows they shouldn’t.
Summary
If your app is where shopping happens, screen tracking is how you capture intent early enough to recover revenue and lift repeat purchase. Get the naming and identity stitching right first, then build a small set of high-signal triggers (Cart, PDP, Checkout) with tight time windows and purchase exclusions.
Implement Screen Events with Propel
If you’re implementing screen events into Customer.io, the biggest win is aligning engineering instrumentation with the segments and triggers retention actually needs. If you want help pressure-testing your screen taxonomy, identify timing, and “highest intent” orchestration (so campaigns don’t break on the next app release), book a strategy call.