Attribution · ~6 min read
Tracking Health — four states that tell you whether your data agrees
Every row on /marketing-acquisition carries a Tracking Health badge
that summarises how closely your pixel and your ad platform agree about what
happened. Four states, plain-English thresholds, and a worked example for each.
Replaces the old raw "Pixel Gap" dollar cell — the one that turned negative and
confused everyone — with semantics an operator can act on.
What is Tracking Health?
Tracking Health is a per-row semantic label that summarises how closely the
pixel and the ad platform agree on revenue for a given channel, campaign,
adset, or ad. It is computed once on the server using the formula
abs(platform_cv - pixel_cv) / max(platform_cv, pixel_cv) when both
sides are non-zero, with the pixel-zero plus platform-non-zero edge case
auto-classified as untracked. The FE never recomputes; that
contract guarantees the same row gets the same colour in every surface (Sources
table, Reconciliation popover, AI agent's query_metrics tool).
The four states
Healthy (≤ 10% gap)
Pixel saw $9,500 in revenue from a Meta campaign. Meta reported $10,000. Gap is 5% — well within the healthy band. The numbers agree.
Minor drift (10–30% gap)
Pixel saw $7,800. Meta reported $10,200. Gap is 24%. Common culprits: a couple of Conversion API events failed to deliver, or the ad-blocker rate on this audience is a bit higher than average. Worth a five-minute check, but not a fire.
Major drift (More than 30% gap)
Pixel saw $4,100. Meta reported $11,400. Gap is 64%. The platform is reporting more than triple what your pixel measured. Likely root cause: Conversion API not firing for a critical event (Purchase / Add To Cart), a recent JavaScript error wiping the pixel on certain pages, or a heavy ad-blocker concentration for this audience. Investigate before next budget decision.
Untracked (Pixel saw $0 vs platform CV > 0)
Meta reported $3,200 in conversion value but your pixel recorded zero conversions for this channel. Almost always a UTM-template error (your tracking URL doesn't tag the source as 'meta') or a CAPI configuration that never wired up. The channel is invisible to your pixel — none of your reconciliation models can credit it.
Why drift happens — root causes in operational order
The five most-common root causes of pixel-vs-platform drift on a DTC store, sorted by how often they show up in real-world Admaxxer workspaces:
- 1. Conversion API events missing. When the browser pixel can't fire (ad-blockers, ATT/iOS 14.5, Safari ITP wiping cookies), the server-to-server CAPI call is the only signal. If CAPI isn't configured for a specific event (most often Purchase or AddToCart), the pixel sees nothing — but the platform's optimizer still credits the conversion via its own modeled attribution. Result: large platform-vs-pixel gaps.
- 2. Ad-blockers and tracker-blocking browsers. uBlock Origin, AdGuard, and Brave's Shield strip the pixel from ~25–40% of DTC web traffic. Tracking Health labels the gap caused by this 'minor drift' on most workspaces; if your audience skews heavily toward technical / privacy-aware buyers, you'll see major drift even with a perfect setup.
- 3. UTM template typos. If your tracking URL tags utm_source=fb instead of utm_source=facebook, the pixel correctly records the click but your channel attribution lands in '(direct)' or '(other)' instead of Meta. The platform reports revenue against itself; the pixel reports revenue against /direct. Result: untracked state on the Meta row.
- 4. Attribution-window mismatch. Meta's default click+view window is 7-day-click-1-day-view. Your pixel might be configured for a 14-day click-only window. The same Purchase event lands inside the platform window but outside the pixel window for slow-converting audiences. Set both windows to the same value via /marketing-acquisition's attribution-window control to remove this confound.
- 5. Pixel install regression. A Shopify theme update, a Custom Pixel save that didn't take, or a CSP error blocking the script can silently disable the pixel on certain pages. Monitor the Acquisition card on /dashboard/analytics and the in-app Pixel Health badge — both surface unexplained drops in pixel volume before Tracking Health turns red.
How to improve your tracking
Four highest-leverage moves to bring a row from major drift to healthy:
- Tag every paid campaign URL with consistent UTMs via /url-builder. The single biggest fixable cause of "Untracked" rows.
- Configure CAPI for every event you care about — Purchase, AddToCart, InitiateCheckout, and ViewContent at minimum. Server-side CAPI fires even when the browser pixel cannot.
- Match attribution windows between the platform and the pixel — use the attribution-window control on /marketing-acquisition to align on a single window per workspace.
- Monitor the Pixel Health badge on /dashboard/analytics — sudden volume drops surface there before Tracking Health turns red.
FAQ
What is a healthy tracking gap?
A gap of 10% or less between what your pixel saw and what your ad platform reported is the healthy zone — pixel and platform agree closely. Some drift is unavoidable (modeled conversions, view-through, ad-blocker noise) so chasing 0% is not the goal; ≤10% means your data is solid enough to trust for budget allocation, board reports, and ROAS-based optimization.
Why does my Meta channel show 'Untracked'?
Most likely a UTM tracking-template issue — your campaign URLs do not tag utm_source=facebook (or utm_source=meta), so the pixel records the click against (direct) or (other) instead of the Meta channel. The platform attributes revenue to itself; the pixel attributes revenue to direct; the row shows pixel CV = $0 next to platform CV > $0. The other common cause is missing Conversion API events — the platform CAPI events fire server-side and reach Meta even when the browser pixel cannot, so CAPI alone can light up a channel that has zero browser pixel coverage. Fix by checking your tracking-template setup in /url-builder and your CAPI events at /integrations/meta-ads.
Should I worry about minor drift?
Usually not. Minor drift (10–30% gap) is the median state for a healthy DTC store — it reflects normal ad-blocker volume, modeled conversions on the platform side, and the small fraction of events your CAPI does not catch. Spend five minutes checking that all your critical CAPI events (Purchase, AddToCart, InitiateCheckout) are firing, and move on. Do not chase below 10% unless you have specific reason to believe you are losing revenue attribution data — the audit cost outweighs the benefit on most workspaces.
How is Tracking Health different from ROAS?
ROAS measures revenue efficiency — how many dollars you got back per dollar of ad spend. Tracking Health measures data agreement — how closely your pixel and your ad platform agree on what happened. They are orthogonal: a campaign can have great ROAS and major Tracking Health drift (the platform claims more than your pixel saw, but you're still profitable on the platform's number), or terrible ROAS and healthy tracking (everyone agrees the campaign isn't working). Use ROAS for performance decisions; use Tracking Health to decide whether you can trust the ROAS number itself.