Tracking lab

Every route an event can take

Each lab exercises one or more swimlanes of the crm-events solution overview. Press things, then read the event console at the bottom of the page: it shows what each control sent and what the page's scripts were seen to do.

Before you start

Identify first. Server routes (beacon, ping, server events) need the shop's persona cookie, and Klaviyo.js needs to know the browser for front-end events to land on a profile. Use Identify as… in the shop, then come back. The strip at the top of every lab page shows both.

One console. The console is shared with the shop, so one trail follows you between them. Entries are labelled with the page they came from; observed entries are what Klaviyo.js, track.js or the beacon script reported, not what a button meant to do.

Live. Browser routes always send for real. Only server routes follow the shop's Live / Dry run switch.

Reading the chips

Under every control: what it sends and by which route, then the swimlane it exercises.

  • Clicked Test CTA· track.jselement attributes: track.js turns a click into a Klaviyo.js call
  • view_item· dataLayera dataLayer push; GTM's bridge forwards it to Klaviyo.js
  • Identify· klaviyo.jsa direct Klaviyo.js call
  • Clicked Outbound Link· beaconhanded to the browser for this site's /crm-beacon endpoint
  • Lab Server Event· servercrm-events-node, from this site's server
  • Ignored: not an eventnothing is sent, on purpose
  • Lane C2 · Element attributesthe overview swimlane; opens the Map
Full console