Features

Every conversion delivered once, with consent, to the platform it belongs to

Track replaces the tag container with a guided setup, a consent-aware server-side router and a debugger that explains every event. This page shows the product as it works — the states below are example data, not live traffic.

Data flow from the website through Track to the destinationsA website sends events from the browser SDK and from the server to Track. Track evaluates consent at a policy gate and forwards each event only to destinations whose purpose was granted: Meta, Google Ads, Google Analytics 4 and TikTok.Websiteone event idBrowser SDKServer APITrackConsent / Policyconsent grantedMetadeliveredGoogle AdsdeliveredGA4deliveredTikTokdelivered
Website → Track → Consent/Policy → Destinations. Browser and server share one event id; the gate decides per destination.

What happens to one purchase

Switch the scenario to see how the same event is routed when consent is granted, withdrawn, or a vendor is down. The decision and its reason are what you later read in the debugger.

Analytics and marketing granted

The purchase arrives from the browser and from the server with the same event id. The gate finds the required purposes and forwards it to all four destinations; Meta and TikTok deduplicate on the event id, Google Ads on the order id.

  • Decision: delivered to Meta, Google Ads, GA4, TikTok
  • Deduplication: event id (Meta, TikTok), order id (Google Ads)
  • Click ids attached per destination: gclid → Google, fbclid → Meta
Analytics and marketing grantedThe website sends events from the browser SDK and the server API with one shared event id to Track; the consent gate is open and events reach the destinations.Websiteone event idBrowser SDKServer APITrackConsent / Policyconsent grantedMetadeliveredGoogle AdsdeliveredGA4deliveredTikTokdelivered

Six capabilities, one event layer

Each capability is built on the same signed configuration and the same event schema. Open a capability to see its product view, data flow and a before/after comparison.

AI-guided setup

Your first destination goes live in one guided session — without writing a tag, and without giving up control over what gets published.

  • Business type and platform detection with a confidence level
  • Event plan templates for shops, lead generation, SaaS and publishers
Read more: AI-guided setup

Guided setup

Example data: Static example state — not live traffic, no real customer data.
  1. Track AI

    example-shop.test runs on Shopify with Cookiebot as consent tool (high confidence). For a shop I suggest view_item, add_to_cart, begin_checkout and purchase. Shall I draft the plan for Meta and Google Ads?

  2. You

    Yes, Meta first.

  3. Track AI

    Pixel id validated. The Conversions API needs an access token — please enter it in the vault card below; it never appears in this chat.

Vault card · Meta access token

Stored encrypted; visible to no one, including the model.

stored

Test event · purchase

Sent through the real pipeline with the vendor's test event code.

accepted by Meta

Publish version 13

Bound to exactly this diff and to you as the approver.

waiting for your approval
  • + destination meta: browser + server
  • + mapping purchase → Purchase (event id, order id)
  • ~ consent: marketing required for meta
Approve and publish

The assistant proposes, tools validate, you approve.

Server-side event router

Send each conversion once and let every platform receive it in the way it counts best — browser, server or both — without double counting.

  • Browser SDK kept under 30 KB gzip by a CI budget, with consent-gated storage
  • Server API with source keys for CRM and offline conversions
Read more: Server-side event router

Destination health

Example data: Static example state — not live traffic, no real customer data.
Health, mode and queue per destination; failures are handled, not hidden.
DestinationModeHealthLast deliveryQueue
Metabrowser + serverhealthy12 s ago0 retries
Google Adsserverhealthy40 s ago0 retries
TikTokbrowser + serverdegraded, circuit breaker open6 min ago3 in dead-letter queue
LinkedInserverpaused by kill switch2 h agoheld

Health, mode and queue per destination; failures are handled, not hidden.

Event debugger and lineage

When a number in an ad platform looks wrong, you find out why in one place — not by guessing between browser console, vendor UI and a colleague's memory.

  • Filter by event name, state and source
  • Per-destination attempt history with HTTP status and error class
Read more: Event debugger and lineage

Live events

Example data: Static example state — not live traffic, no real customer data.
Every row is one event with its origin, the consent at that moment, the routing decision and the destinations.
EventOriginConsentDecisionDestinations
page_viewbrowseranalyticsdeliveredGA4
add_to_cartbrowsermarketingdeliveredMeta, TikTok
purchasebrowser + servermarketingdelivered, deduplicated (order id)Meta CAPI, Google Ads
purchaseservermarketing missingblocked: consent_missingMeta CAPI
generate_leadbrowsermarketingdeliveredLinkedIn

Every row is one event with its origin, the consent at that moment, the routing decision and the destinations.

Data quality and health score

Know when tracking breaks, see which part broke and jump straight to the fix — before a campaign runs on bad data.

  • Score per site with its components
  • Resolve or ignore issues with an audit trail
Read more: Data quality and health score

Tracking health

Example data: Static example state — not live traffic, no real customer data.

Score

86 / 100

Components

  • Consent coverage91 · 20% weight

    91% of events carry an explicit consent signal

  • Critical events78 · 25% weight

    7 of 9 planned critical events observed

  • Schema quality74 · 15% weight

    74% of events pass schema and PII checks

  • Duplicates96 · 10% weight

    1.0% duplicates

  • Delivery88 · 20% weight

    94% delivered, 1 integration with credential problems

  • Freshness100 · 10% weight

    Last browser event 4 min ago

Open issues

  • purchase without currency

    12 events in the last 24 h are missing the required parameter

    Fix: update the event mapping
  • Consent signal missing

    9% of events arrived without an explicit consent state

    Fix: connect the CMP adapter

Weighted components; a lower score always points at its cause.

Consent-aware by construction

Every destination receives exactly what the visitor agreed to — evaluated for each event, in the browser and again on the server — so compliance is not a banner setting you hope is right.

  • Inferred consent is never exported to advertising platforms
  • Withdrawal stops sends immediately
Read more: Consent-aware by construction

Consent state and derived signals

Example data: Static example state — not live traffic, no real customer data.

Purposes

  • Strictly necessarygranted
  • Analyticsgranted
  • Marketingdenied
  • Personalizationdenied

Consent Mode v2

  • analytics_storagegranted
  • ad_storagedenied
  • ad_user_datadenied
  • ad_personalizationdenied

Block reasons the policy engine reports

consent_missing
no consent signal for the event yet
consent_denied
the visitor declined
purpose_not_granted
destination needs a purpose that was not granted
gpc_opt_out
Global Privacy Control set
destination_paused
kill switch or circuit breaker
inferred_data_not_exportable
inferred consent never reaches ad platforms

Purposes come from your CMP; everything else is derived, never guessed.

Click ids and attribution done right

Your campaigns get the click ids they need to attribute a conversion — and no platform ever receives an id that belongs to another.

  • Documented retention per click id (90 days by default)
  • Enhanced Conversions with normalized hashing
Read more: Click ids and attribution done right

Click-id matrix

Example data: Static example state — not live traffic, no real customer data.
Captured after marketing consent, stored first-party, forwarded only to the owning platform.
Click idCapturedForwarded only toKept
gclidlanding page, after marketing consentGoogle Ads, GA4, Google Marketing Platform90 days
fbclidlanding page, after marketing consentMeta90 days
ttclidlanding page, after marketing consentTikTok90 days
msclkidlanding page, after marketing consentMicrosoft Advertising90 days
li_fat_idlanding page, after marketing consentLinkedIn90 days

Retention is documented per id and configurable; 90 days is the default.

Captured after marketing consent, stored first-party, forwarded only to the owning platform.

Tag container versus event layer

Where a classic container leaves the work to you and where Track does it by construction.

Tag container versus event layer
Tag container versus event layerClassic tag containerTrack
What runs on your siteCustom HTML and JavaScript tags from anyone with container accessOne snippet and a signed, versioned configuration — no custom code execution
ConsentTrigger conditions per tag, maintained by handPolicy engine that evaluates every event for every destination, browser and server
Server-side deliveryA second container, a second set of tags, manual deduplicationBuilt in: shared event id, retries, circuit breakers, replay
Finding errorsPreview mode and vendor UIsEvent lineage with consent snapshot, routing decision and vendor response
ChangesPublish and hopeDiff, approval, signed version, one-click rollback

Facts you can verify

EU data region
Events are processed in the EU; vendor APIs receive only the fields you mapped, under the transfer basis documented per destination.
Signed configurations
Every published bundle is immutable, versioned and Ed25519-signed; the SDK verifies the signature before applying it.
No custom code
There is no custom HTML or JavaScript tag type. Transformations are declarative and validated on the server.
Strict opt-in by default
EU/EEA/UK/CH start with strict opt-in; inferred consent is never exported to advertising platforms.

See these views with your own events

Create your site, paste the snippet and let the assistant configure the first destination — the debugger and the health score fill up from the first event.