How Tracking Works
For everyone
This page explains the moving parts of tracking without any code. Developers can find the exact field names and runtime behavior in Event Overview and Event Parameters and Types.
The big picture
Every time something meaningful happens in the app, the SDK builds a small message and sends it to Segmentify.
flowchart LR action["Shopper action (view, add to cart, search...)"] --> sdk["SDK builds an event"] sdk --> enrich["SDK adds context (user, session, device)"] enrich --> network{"Online?"} network -->|Yes| send["Send to Segmentify"] network -->|No| queue["Hold in a local queue"] queue -->|Back online| send send --> segmentify["Segmentify: recommendations, search, campaigns"]Events: the moments you report
An event is a single reported moment, like “a product was viewed” or “an order was placed”. Events come in families (for example, page views, basket operations, user operations). Some families have a step that says which variation happened, for example a basket operation can be an add, a remove, or a clear.
You don’t report everything that happens on screen. You report the moments that carry business meaning. Reporting from clear business actions (not from every screen redraw) keeps the data clean and trustworthy.
Context the SDK adds for you
You only send the business details (which product, which order, which search term). The SDK automatically attaches the surrounding context to every event, so your team doesn’t have to:
- Who: a
userId(and theemailif the shopper is known). - Which visit: a
sessionId. - What device: device model, operating system, and OS version.
- Settings: currency, language, and whether this is test data.
This is why the developer guides say “send only business fields” — the rest is filled in behind the scenes.
Sessions vs users
- A user is a person, tracked across visits with a stable
userId. When they log in, their identity (such as email) is linked too. - A session is a single visit, tracked with a
sessionId. A user has many sessions over time.
Both are created and maintained automatically. Together they let Segmentify say “this person did these things during this visit”.
Page types: a shared vocabulary
Mobile screens have technical names (like ProductDetail). Segmentify and your web setup think in page types (like Product Page). A mapping connects the two, so a campaign configured for “Product Page” runs on the right mobile screen.
Keeping mobile page types identical to your web page names is what keeps campaigns consistent across platforms. The developer details are in the Page Mapping Guide.
Reliability: events are not lost on a bad network
Mobile networks drop in and out. The SDK is built for that:
- If the device is offline, events are held in a local queue instead of being thrown away.
- When the connection returns, the queued events are replayed automatically.
- Some events can also be deliberately deferred and sent with the next batch.
The result: a shopper riding an elevator or losing signal still produces complete analytics once they reconnect.
Consent and identity
For messaging channels (email, SMS, WhatsApp, calls), Segmentify tracks consent so you only contact people who agreed. Identity and consent are reported through user events and, for richer profiles, through the Customer Data Platform. The business meaning is covered in the Event Catalog in Plain Language.
Where to go next
- See what each event means for the business in the Event Catalog in Plain Language.
- Look up any unfamiliar word in the Glossary.
- Ready for implementation details? Read the Event Overview.