Anonymous Navigation Reconciliation

Feature Overview

Anonymous Navigation Reconciliation links anonymous browsing sessions to a known user once they log in or identify themselves.

This lets marketers recover the full customer journey, even if the user was anonymous at first.

Example Scenarios:

  • User browses anonymously and never logs in
Day 1, 10:00 AM: 
- User arrives on the website
- a cookie is set for the user -> an anonymous user ID is assigned
  ├─ anon_user_id: "ANON_123"
  ├─ user_id: NULL
  ├─ Page view: /home
  ├─ Page view: /products/shoes
  ├─ Product view: Sneakers v42
  └─ Leaves (no login, no purchase)

❌ User never logs in
❌ Remains anonymous forever

➡️ The visitor never identifies themselves → the session remains permanently anonymous.

  • User browses anonymously, then logs in later
Day 1, 10:00 AM
- User arrives on the website
- A cookie is set for the user → an anonymous user ID is assigned
  ├─ anon_user_id: "ANON_456"
  ├─ user_id: NULL
  ├─ Page view: /home
  ├─ Page view: /products/shoes
  ├─ Product view: Sneakers v42
  └─ Leaves (no login)

Day 3, 2:00 PM
- User returns to the website (same browser/device)
- Cookie is still present → same anonymous user ID
- User logs in
  ├─ anon_user_id: "ANON_456" (same cookie from Day 1)
  ├─ user_id: "[email protected]" ✅
  ├─ Event: login
  └─ Leaves (no purchase)

✅ User logged in → Reconciliation triggered
✅ Day 1 anonymous events are now linked to [email protected]
✅ Works even though user left and came back days later!

➡️ Login detected → Reconciliation happens ➡️ All Day 1 anonymous events are now attributed to [email protected]

Marketing Impact:

  • Full customer journey recovered
  • “Abandoned browse” campaigns can be triggered
  • Better product‑interest scoring (e.g., shoes → sneaker recommendations)
  • Richer customer profiles for segmentation and retargeting

How it works

When the Web Tracker collects events, it sends two identifiers:

  • user_id → the authenticated user’s identifier
  • anon_user_id → the anonymous ID stored in a browser cookie

The anon_user_id exists for all visitors, logged in or not. It is stored in a cookie. It does not always correspond to a user_id.
A reconciliation is possible only when the same anonymous ID is later seen with a valid user_id.

30‑Day Lookback Logic

The CDP reviews up to 30 days of past events (default value) for that anon_user_id:

If it finds an event where the same anonymous ID was tied to a logged‑in user → It creates a mapping between anon_user_id and user_id.

This mapping is then used during ingestion to automatically fill missing user_id values on past anonymous events.