Raintree Tracking Rating Guide · v1.1 · July 2026

How the audit scores your tracking

A score you can't audit is just marketing. This page documents every check our free tracking audit runs, exactly how the number is calculated, and, just as important, what an external scan cannot see. When the methodology changes, the version number above changes with it.

The verified health score

The score is a verified health score: your setup only gets credit for what we can prove from the outside. Every applicable check starts you at 100 per category; findings subtract from it:

Finding typeDeductionMeaning
critical−16 in its categoryA leak actively costing you signal or money.
needs verification−9 in its categorySomething we couldn't prove healthy from outside. Unproven ≠ fine. This is the honesty tax.
warning−6 in its categoryWorking, but leaving efficiency on the table.

The overall score weights the four categories: Foundation 30% · Event coverage 30% · Data quality 20% · Resilience 20%. Three hard caps keep the headline honest:

Grades: A ≥ 90 · B ≥ 78 · C ≥ 62 · D ≥ 45 · F below that.

The graduated sealed-sandbox cap

Some setups (Shopify's pixel sandbox, custom tag templates) seal most of their tracking away from any external scanner. A flat cap would hand every one of those stores the same D, which punishes good setups for our lack of visibility rather than theirs. So the cap is graduated: it starts at 55 and earns credit for things we can verify from outside:

The cap never exceeds 72. Full marks still require the things only a live look can prove.

Verified score, potential score

Limited-visibility reports show two numbers. The verified score is what we could prove, and the letter grade always follows it. The potential score is where the number lands if every pending needs-verification check passes a live look: the verified score plus the deductions those pending checks cost, capped at 95. It is printed next to the dial with the count of pending checks, so a capped report reads as "prove the rest" instead of a flat failing grade.

Dollar estimates follow the same honesty rule: needs-verification findings never carry a dollar figure. Every dollar amount in a report is labeled "estimated monthly signal at risk," is tagged with the spend assumption behind it, and the headline number is always the exact sum of the itemized findings below it. No spend bracket picked, no dollar figures at all.

Every check we run

Checks only count when they apply to your setup (a lead-gen site isn't graded on Purchase values). Your report shows each one as verified clean, failed, warning, or needs-verification.

CheckIf it failsWhat we actually read
FOUNDATION
Meta pixel installedcriticalYour page HTML, inline + same-origin scripts, GTM container JS, Shopify's pixel-sandbox registry
Pixel ID valid with MetacriticalMeta's live per-pixel config endpoint (connect.facebook.net/signals/config)
One pixel, not strayswarningEvery pixel ID found across all install layers
Single install layer (no duplicate firing)criticalHardcoded vs GTM vs platform-native installs of the same ID
Shopify pixel-sandbox X-rayverifyThe web-pixels-manager bootstrap JSON: every registered app + custom pixel
Ad landing page carries trackingcriticalThe landing-page URL you give us, scanned like any other page
EVENT COVERAGE
PageView base signalwarningfbq calls in your code + GTM tag templates
Funnel conversion events wiredcriticalViewContent / AddToCart / InitiateCheckout / Purchase (or Lead-path) across up to 6 pages
Custom events mapped to standardswarningtrackCustom calls + GTM custom event names
DATA QUALITY
Purchase carries value + currencycriticalThe parameter objects on your actual event calls
Content IDs on browse eventswarningcontent_ids / content_name / content_type parameters
Leads carry a valuewarningvalue parameter on Lead events
Advanced Matching enabledwarningMeta's live config (selectedMatchKeys) + manual match data in your init call
No Meta data restrictionscriticalThe restrictedData flag in Meta's live config. Meta silently strips data from restricted pixels
Product pages catalog-readywarningJSON-LD Product schema, OpenGraph product tags, SKU/GTIN presence on your product page
Event parameter quality readableverifyApplies to sealed setups (sandboxed pixels / opaque templates): whether value, currency and content parameters can be read externally at all
RESILIENCE
Conversions API (server-side signal)criticalServer-side GTM signals, Shopify native channel, tagging-provider fingerprints
Browser/server deduplication keyscriticaleventID parameters on conversion events when server-side tracking exists
Consent banner not silently blockingwarningCMP detection + consent-blocked script markup (type="text/plain", consent-default-denied)
Domain verified with MetawarningThe facebook-domain-verification meta tag
noscript fallback presentwarningThe image-tag fallback in your HTML
Pixel loads earlywarningPosition of the init snippet relative to </head>
Independent analytics for cross-checkingwarningGA4 (or equivalent) presence. Without it, Meta grades its own homework
No dead tracking scriptswarningUniversal Analytics and other shut-down tags still loading

What an external scan cannot see

Anyone who tells you a URL scan verified everything is selling something. Honestly out of reach from the outside:

That's exactly what the free 20-minute walkthrough covers: we open Events Manager together and verify the things a scan can't. It's also why the score says verified. We'd rather undersell your setup than invent a number.

Version log

v1.1 · July 2026: graduated sealed-sandbox cap (55 base, verifiable credits up to 72),
verified + potential score display (potential capped at 95), itemized dollar estimates.
v1 · July 2026: initial public methodology. 24 checks, category weights 30/30/20/20,
caps for no-pixel (18), limited visibility (55), and criticals (74 − 9/critical).

See it run on your site

Full report, free. No email, no gate, no catch.

Run the free tracking audit