Screen Tracking (Screen Events) for Retention in Customer.io

Customer.io partner logo

Table of Contents

Summarize this documentation using AI

This banner was added using fs-inject

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Overview

If you want Customer.io to drive real retention outcomes, screen tracking is one of the cleanest ways to understand intent inside the app—without trying to infer everything from purchases and page views. If you’re unsure what to name, when to fire, or how to stitch identity cleanly, it’s usually faster to book a strategy call and map the event plan to your actual flows.

In most retention programs, screen events become the backbone for “what did they look at right before they bounced?”—which is exactly what you need for cart recovery, browse abandonment, and reactivation that doesn’t feel random.

How It Works

Screen tracking is simply your app telling Customer.io, “the user is now looking at this screen.” The retention value comes from consistency: stable screen names, the right properties, and identity stitched to the same person across anonymous sessions and logged-in usage.

  • SDK fires a screen event when a user lands on a screen (e.g., ProductDetail, Cart, Checkout, OrderHistory).
  • Customer.io records the event on the person profile (or an anonymous profile if you haven’t identified them yet).
  • Identity stitching happens when you call identify: anonymous screen history can be merged onto the known customer once they log in / create an account (assuming you implement identify correctly and consistently).
  • You segment and orchestrate off screen sequences: “Viewed Cart but no Purchase,” “Visited ProductDetail 3+ times in 7 days,” “Opened app and hit Home but never reached Category.”

Practical D2C scenario: a shopper opens your app from an Instagram ad, views ProductDetail for a best-seller, hits Cart, then bounces. If you only track Add to Cart, you miss the “they made it to Cart” signal that’s often the best predictor for a fast cart recovery push.

Step-by-Step Setup

The goal here is to make screen events trustworthy enough that you can confidently trigger flows off them. That means: install the SDK, identify users at the right moments, and standardize screen names so you don’t end up with 40 variants of “PDP.”

  1. Install the Customer.io SDK for your platform Use the official Customer.io Mobile SDK for iOS/Android (or your wrapper like React Native/Flutter/Expo). Confirm you’re sending data to the right workspace/site ID and environment (prod vs staging).
  2. Define your screen naming convention before you ship Pick stable, human-readable identifiers like Home, Category, ProductDetail, Cart, CheckoutShipping, CheckoutPayment, OrderConfirmation. Avoid including dynamic IDs in the screen name (put those in properties).
  3. Implement identify as soon as you have a durable user ID Call identify when the user logs in, creates an account, or when you can confidently associate the device with a known customer. Use your internal customer ID (not email) as the primary identifier whenever possible.
  4. Operator note: In practice, this tends to break when teams identify on app open with an email that changes, then later identify again with a different ID. Pick one canonical ID and stick to it.
  5. Track screen events on navigation (not on render loops) Fire a screen event when the user arrives at a screen. Don’t fire repeatedly on re-renders, state updates, or tab refreshes—this will inflate counts and ruin your “visited X times” segments.
  6. Attach the right properties to make the event actionable For a D2C app, screen name alone is rarely enough. Add properties like:
    • product_id, variant_id, price, category on ProductDetail
    • cart_value, items_count on Cart
    • checkout_step on checkout screens
    • source / utm_* if you pass attribution into the app session
  7. Verify identity stitching with a real device test Do a test flow: open app anonymously → view a product → go to cart → then log in. Confirm the screen events appear under the known profile after identify/merge, not stranded on an anonymous profile.
  8. Build one “canary” campaign to validate data Create a lightweight internal push/email triggered by Cart screen viewed with no purchase in 30 minutes (limit to internal testers). If that fires reliably, your tracking is probably good enough to scale.

When Should You Use This Feature

Screen tracking matters when the app journey itself contains intent signals you can monetize. If you’re only using Customer.io for post-purchase emails, you’ll underuse what the SDK can give you.

  • Cart recovery in-app-first brands: trigger push/in-app when someone hits Cart or CheckoutPayment and disappears.
  • Browse abandonment for product discovery: segment users who hit ProductDetail 2–3 times without adding to cart, then send a “best sellers in your size” message.
  • Reactivation based on “low-intent opens”: users who open the app and only see Home (or bounce quickly) for multiple sessions—often a sign they can’t find what they want.
  • Repeat purchase timing: if customers repeatedly visit OrderHistory or Reorder screens, that’s a strong signal to surface replenishment or bundles.

Operational Considerations

Screen events look simple, but they create operational debt fast if you don’t control naming, volume, and how you join them to purchase outcomes. The difference between “useful” and “noise” is usually decided in week one of implementation.

  • Segmentation depends on stable taxonomy: if one team logs PDP and another logs Product Detail, you’ll end up maintaining segments forever. Lock names in a tracking plan and treat changes like API changes.
  • Data flow timing affects triggers: mobile events can arrive late (backgrounded apps, flaky connections). Build grace periods into cart recovery (e.g., wait 20–45 minutes) rather than firing instantly.
  • Orchestration needs dedupe rules: users can hit Cart 10 times in a day. Use frequency caps and “only enter once per X hours” logic in journeys.
  • Identity stitching is the make-or-break: if you don’t merge anonymous activity, you’ll miss a big chunk of top-of-funnel intent (especially for shoppers who browse before logging in).
  • Event volume vs cost/clarity: track meaningful screens, not every modal. The goal is retention triggers, not a perfect analytics mirror.

Implementation Checklist

If you want this to hold up once you start building automations, run through this checklist before you wire screen events into high-volume journeys.

  • SDK installed in the correct environment (prod/staging) with verified credentials
  • Canonical screen naming convention documented and shared with engineering
  • identify called with a stable customer ID (and not redefined inconsistently)
  • Anonymous-to-known merge validated with a real device test
  • Screen events fire on navigation events (not on render loops)
  • Key properties included for PDP/cart/checkout screens (product_id, cart_value, etc.)
  • At least one internal test campaign proves end-to-end triggering works
  • Frequency caps / re-entry rules defined for high-traffic screens like Cart

Expert Implementation Tips

These are the small decisions that keep screen tracking usable six months later—when you’re trying to squeeze incremental repeat purchases out of the same audience.

  • Prefer properties over screen-name variants: use screen_name=ProductDetail plus category=Skincare instead of separate screens like PDP_Skincare.
  • Track “screen exit” only if you have a specific use: most retention triggers only need arrival. Exit events add complexity and often break on mobile lifecycle edge cases.
  • Use screen sequences as intent scoring: ProductDetail → Cart → CheckoutPayment is a different user than Home → Category. Build segments around sequences, not single events.
  • Pair screen events with a purchase guardrail: for recovery flows, always add a “has not purchased since event” condition to avoid the classic ‘you forgot something’ message after they already bought.
  • Instrument one platform first: ship iOS or Android first, validate naming and stitching, then roll out to the other platform. Parallel launches often create taxonomy drift.

Common Mistakes to Avoid

Most teams don’t fail because they can’t send a screen event—they fail because the data becomes untrustworthy, and then nobody wants to build automations on top of it.

  • Identifying with email, then switching to an internal ID later: this creates duplicate people and fragmented history.
  • Firing screen events multiple times per visit: re-render loops and navigation listeners can spam events and destroy “count-based” segments.
  • Putting dynamic values in the screen name: ProductDetail_12345 guarantees your segments won’t scale. Put IDs in properties.
  • No purchase suppression on recovery: cart/checkout triggers without a purchase check will hit customers who converted on another device.
  • Tracking everything: logging every drawer, modal, and tooltip makes it harder to find the signals that matter for retention.

Summary

Screen tracking is worth it when you want retention orchestration to respond to in-app intent, not just transactions. Get naming and identity stitching right first, then build a small set of high-confidence triggers (cart, checkout, PDP repeat views) and scale from there.

Implement Screen Events with Propel

If your team is already running retention in Customer.io, screen events are one of the highest-leverage SDK upgrades—especially for cart recovery and browse-to-buy flows. When you want a clean tracking plan (names, properties, identify timing) that won’t collapse under real traffic, it’s usually easiest to book a strategy call and pressure-test the implementation against your actual app journeys.

The goal isn’t “more events.” It’s fewer, more reliable intent signals that you can confidently use to drive repeat purchase and reactivation.

Contact us

Get in touch

Our friendly team is always here to chat.

Here’s what we’ll dig into:

Where your lifecycle flows are underperforming and the revenue you’re missing

How AI-driven personalisation can move the needle on retention and LTV

Quick wins your team can action this quarter

Whether Propel AI is the right fit for your brand, stage, and stack