Sample report
demo-store.example
Scanned 4 Oct, 17:16 UTC in a real browser · 13.1s · 12 requests watched
Tracking health
Problems found
6 of 8 tracking tools are working cleanly. 3 issues need attention, 1 of them serious.
- working
- 6
- need attention
- 2
- could not verify
- 0
The score starts at 100 and loses 25 for each serious finding and 8 for each one that needs attention. It only reflects what this scan could verify on this page.
What needs attention
Most serious first, in plain English. Switch to Developer view for the technical proof.
SeriousSnapchat Pixel
Snapchat Pixel is installed but sent nothing
Ads on this platform are running without the signal they optimise on. Audiences stop growing and conversions stop being attributed, while the site looks perfectly normal.
How to fix it
Open the page with the browser's network panel filtered to the platform's endpoint and confirm nothing is sent. Then check, in order: the tag's trigger (does it fire on this page?), a JavaScript error earlier on the page stopping the snippet, and whether that Pixel ID still exists in the platform account.
Needs attentionMicrosoft Advertising (UET)
Microsoft Advertising (UET) sent pageLoad 2 times for one page view
This event is being counted 2 times per visit. Page views, sessions and audience sizes built on it are inflated.
How to fix it
The tag is being initialised or triggered twice — commonly once in the site's code and once through a tag manager or a plugin. Search the page and the tag manager for 97004512 and remove the second install.
Needs attention
TikTok Pixel and Microsoft Advertising (UET) sent data before the cookie banner was answered
The banner asks for a choice, but these tags did not wait for it. Where visitors must opt in first (the EU and UK, for example) that is the gap consent tools exist to close; where opt-out is the rule it may be intended. This is a technical observation about timing, not legal advice.
How to fix it
Put these tags behind the consent tool's categories (or its Consent Mode integration) so they are held until a choice is made, for the regions where that is required. Then re-scan: they should appear only after the banner is accepted.
Good to know
This looks like a product page, and TikTok Pixel and Microsoft Advertising (UET) were not told which product
Product-view events feed dynamic retargeting and funnel reports. Without one, this visit is just an anonymous page view to that platform.
How to fix it
Worth checking rather than a confirmed fault: some sites send the product view after an interaction, or only for in-stock items. If it should fire on load, add each platform's product-view event with the product ID.
Good to know
Google Analytics 4 sent cookieless pings before the banner was answered
This is how Google's Advanced Consent Mode is designed to behave: the tag reports that consent is denied and sends a ping without cookies. It is a deliberate configuration, not a malfunction. Whether your organisation is comfortable with it is a policy question.
How to fix it
Nothing to fix if Advanced mode is the intent. To send nothing at all before a choice, switch to Basic Consent Mode: block the tags until the banner is answered.
Tracking found on this page (8)
A tool only counts as working if we watched it send data — code being on the page is not enough.
Tag managers
Google Tag Manager
WorkingThe container loaded and ran.
Container ID:GTM-GOOD1
Analytics
Google Analytics 4
WorkingWe watched it send data to the platform.
Measurement ID:G-DEMO4STORE
Advertising
Google Ads
WorkingIt stayed quiet until the cookie banner was accepted, then sent data. Consent gating is working.
Conversion ID:AW-600412377
Meta Pixel
WorkingIt stayed quiet until the cookie banner was accepted, then sent data. Consent gating is working.
Pixel ID:418820057731906
TikTok Pixel
WorkingWe watched it send data to the platform.
Pixel ID:CDEMO7STORE2PIXEL001
Microsoft Advertising (UET)
DuplicatedpageLoad was sent more than once for the same page view, so it is likely being counted twice.
UET tag ID:97004512
Pinterest Tag
WorkingIt stayed quiet until the cookie banner was accepted, then sent data. Consent gating is working.
Tag ID:2613004417650
Snapchat Pixel
Installed, nothing sentIts code is on the page, and it sent nothing — even after the cookie banner was accepted.
Pixel ID:5f0c2a7e-91d4-4c3b-8a6e-2b7d9e41c305
12 other platforms checked and not found
- LinkedIn Insight Tag
- Reddit Pixel
- X (Twitter) Pixel
- Microsoft Clarity
- Hotjar
- Segment
- Adobe Tags (Launch)
- Adobe Analytics
- Mixpanel
- Amplitude
- Heap
- Tealium iQ
Scan timeline
What happened, in order — from the page opening to the last request. Timing is what makes consent problems visible.
Each dot is a tracking request. 2 platforms sent data to the left of the line — before the banner was answered.
Before any consent choice
- 0.0s
Page opened in a real browser
- 0.4s
Google Analytics 4 sent page_view
- 0.4s
TikTok Pixel sent Pageview
Sent before the cookie banner was answered
- 0.4s
Microsoft Advertising (UET) sent pageLoad
Sent before the cookie banner was answered
A repeat of an event already sent for this page view
- 1.3s
Simulated a visitor: moved the mouse and scrolled
Safe interactions only. Nothing was clicked, added to a cart or submitted.
- 4.2s
Cookie banner on screen, unanswered
Pressed “Accept all” on the cookie bannerat 9.5s
After accepting
- 9.8s
Google Analytics 4 sent page_view, view_item
- 9.8s
Meta Pixel sent PageView, ViewContent
- 9.8s
Pinterest Tag sent pagevisit
- 9.8s
Google Ads sent gtag.config
- 13.0s
Scan finished
Signal map
Which steps of the customer journey reach which platform. A padlock means this scan could not test it — never that it is missing.
We read this as a product page, which decides which events are expected here.
| Funnel step | GA4 | Google Ads | Meta | TikTok | Microsoft Ads | Snapchat | |
|---|---|---|---|---|---|---|---|
| Page view | Received | Received | Received | Received | Sent more than once | Received | Not tested — needs a click or an order |
| View category / list | Not expected on this page | Not applicable to this platform | Not applicable to this platform | Not applicable to this platform | Not expected on this page | Not expected on this page | Not tested — needs a click or an order |
| View product | Received | Not applicable to this platform | Received | Expected on this page, not seen | Expected on this page, not seen | Not applicable to this platform | Not tested — needs a click or an order |
| Search | Not tested — needs a click or an order | Not applicable to this platform | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order |
| Lead | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not applicable to this platform |
| Sign up | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order |
| Add to cart | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order |
| Begin checkout | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order |
| Add payment info | Not tested — needs a click or an order | Not applicable to this platform | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order |
| Purchase | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order | Not tested — needs a click or an order |
- Received
- Received with problems
- Sent more than once
- Expected on this page, not seen
- Not tested — needs a click or an order
- Not expected on this page
Consent and server-side signals
A technical reading of when tags fired relative to the cookie banner. It is not legal advice.
Consent
Cookie banner shown
The page asked for a choice. Everything sent until that choice is made is what a visitor who has not decided is tracked with.
We pressed “Accept all” at 9.5s
Then kept watching, to see what consent releases. The choice lived only in our throwaway browser and nothing was delivered to any ad account.
Sent data before the choice (2)
- TikTok Pixel· 1 request
- Microsoft Advertising (UET)· 2 requests
Sent cookieless pings before the choice (by design)
- Google Analytics 4· marked consent-denied
Waited for consent, then fired (3)
- Google Ads· gating works
- Meta Pixel· gating works
- Pinterest Tag· gating works
Google Consent Mode v2
| Signal | By default | After the choice |
|---|---|---|
| ad_storage | denied | granted |
| analytics_storage | denied | granted |
| ad_user_data | denied | granted |
| ad_personalization | denied | granted |
Server-side tracking
Evidence suggests server-side tracking
Suggests — not confirms. We can see the browser preparing for it; we cannot see the server actually sending anything.
Meta Pixel events carry an event ID (for example pv-7f31). That ID exists so the platform can match a browser event against the same event sent from a server through its Conversions API. It shows deduplication is prepared — not that a server event is actually being sent.
Pinterest Tag events carry an event ID (for example pv-7f31). That ID exists so the platform can match a browser event against the same event sent from a server through its Conversions API. It shows deduplication is prepared — not that a server event is actually being sent.
What this scan did not test
An outside scan has honest limits. These are not problems we found — they are things we could not look at.
- Purchase and payment events: they need a real order, which a scan from outside cannot place.
- Add to cart, checkout, lead and sign-up events: they need a click or a form submission this scan did not make.
- Whether the platforms accepted the data: we watch requests leave the browser, not arrive in the account.
- Server-to-server events: another company’s backend is not visible from a browser.
- Other pages: this is one page, at one moment, as one anonymous visitor.
- The "reject" path: we accepted the banner and did not test what a refusal does.