Sample report
What a GTM Monitor report looks like
This is the real report of an instant check — run against our demo shop in the test lab: seven channels from GA4 to ChatGPT Ads, with real vendor pixels, made-up account IDs and deliberately built-in errors. No customer data, nothing edited afterwards.
Health score
https://monitor.track-in.de/testlabor/demo-shop.html
Marketing channels
Which channels send data from the page — and whether they do it correctly.
| Channel | Present | Transport | Consent | Subpages | Responses | Pass rate |
|---|---|---|---|---|---|---|
| Google Analytics 4AI-corrected | Yes | Browser | Correct | Correct | 1 OK | 100 % |
| Google Ads | Yes | Browser | Correct | Correct | 1 OK | 100 % |
| Meta | Yes | Browser | Correct | Missing | 1 OK | 75 % |
| TikTok | Yes | Browser | Fires before | Correct | 2 OK | 75 % |
| ChatGPT Ads | Yes | Browser | Correct | Correct | 2 failed | 75 % |
| Yes | Browser | Correct | Correct | 2 OK | 100 % | |
| Microsoft Ads | Yes | Browser | Fires before | Correct | 1 OK | 75 % |
| Not found | — | — | — | — | — | |
| X Ads | Not found | — | — | — | — | — |
| HubSpot | Not found | — | — | — | — | — |
Tracking architecture
How the data leaves the page.
Directly from the browser
Consent in detail
What each channel sends in which situation — the test browser accepted, declined and partially agreed to the banner in separate sessions.
| Channel | Before the decision | After accepting | After declining |
|---|---|---|---|
| Google Analytics 4 | Consent ping · gcs=G100 | Sends | Consent ping · gcs=G100 |
| Google Ads | Not sending | Sends | Not sending |
| Microsoft Ads | Sends anyway | Sends | Sends anyway |
| Meta | Not sending | Sends | Not sending |
| TikTok | Sends anyway | Sends | Sends anyway |
| ChatGPT Ads | Not sending | Sends | Not sending |
Only channels with their own consent signal. The table above rates all other channels.
What was checked
The technical foundations every channel relies on.
| Check | Result | Status |
|---|---|---|
| Page reachable | Yes | OK |
| Google Tag Manager | GTM-TESTLABOR | OK |
| dataLayer | Present | OK |
| Consent banner (CMP) | Not clearly identified | Info |
| Consent given during the test | Yes — banner accepted automatically | OK |
| Consent Mode: defaults | Set | OK |
| Defaults before GTM starts | Classified as a false alarm by the AI | False alarm |
| GA4 pageview after consent | Sent | OK |
| GA4 before consent | Cookieless pings only | OK |
| Server-side tagging | Not in use | Info |
Findings & fixes
What to do — sorted by urgency.
| Urgency | Finding | Fix |
|---|---|---|
| Critical | TikTok sends before consent | Fire the TikTok tag only after consent: in GTM set the tag's consent settings to "Require additional consent" (ad_storage) or move its trigger to the banner's consent event. If the tag sends a consent parameter, it must say "denied" before consent. |
| Critical | Microsoft Ads sends before consent | Fire the Microsoft Ads tag only after consent: in GTM set the tag's consent settings to "Require additional consent" (ad_storage) or move its trigger to the banner's consent event. If the tag sends a consent parameter, it must say "denied" before consent. |
| Warning | Meta does not send on subpages | Check the Meta tag's trigger: it must fire on every pageview (All Pages or the consent event on every page), not only on the landing page. |
| Note | ChatGPT Ads: 2 requests rejected by the vendor (HTTP error) | Check the account or pixel ID in the tag. 401/403 means the ID is invalid or the account is not enabled, 404 means the target address is wrong. |
| Note | 2 dataLayer-Push(es) erst mehr als 5 Sekunden nach dem Seitenaufruf. | See AI analysis |
The AI cross-checks the raw scan data and explains every finding in plain words.
Overall assessment
The site is not production-ready from a DSGVO standpoint: TikTok and Microsoft Bing Ads fire before the consent decision without a valid denial signal, which is a genuine compliance violation. GA4 and Google Ads are correctly consent-gated (GA4 even sends a compliant denied-state ping pre-consent), so those are false alarms despite being flagged critical. On top of the consent issues, Meta loses subpage pageviews and the OpenAI/ChatGPT Ads pixel technically fails server-side (404/401), undermining data completeness even where consent is respected.
Findings
| Problem | Impact | How to fix it |
|---|---|---|
| CriticalTikTok Pixel fires pre-consent without denial signal | ||
| Personal data is sent to TikTok before any consent exists, a direct DSGVO/ePrivacy violation. |
|
| CriticalMicrosoft Bing Ads (UET) fires pre-consent claiming granted consent | ||
| UET tag transmits tracking data under a false consent claim before the user has interacted with the banner, a DSGVO risk. |
|
| WarningMeta Pixel does not refire on SPA subpage navigation | ||
| Subpage pageviews and downstream Meta campaign optimization data are systematically undercounted. |
|
| WarningChatGPT (OpenAI) Ads pixel loads but backend calls fail | ||
| Even though consent handling is correct, no usable conversion data actually reaches OpenAI due to the config/auth failures. |
|
| NoteGTM container snippet not detectable in page HTML | ||
| Non-standard or dynamically injected GTM loading complicates future audits and third-party tag verification tools. |
|
📊 Tracking architecture
- Pure client-side tracking architecture; 'Kein generischer Server-Side-Tagging-Container erkannt' — no SST endpoint detected.
- GA4 and Google Ads traffic goes directly to google-analytics.com / googleads.g.doubleclick.net, both Google-owned, non-SST, client-side hosts.
- GTM-TESTLABOR container is active (
gtm.js/gtm.startpresent in dataLayer) despite the snippet not being visible in the captured HTML excerpt. - OpenAI/ChatGPT Ads pixel (
oaiq, bzrcdn.openai.com/bzr.openai.com) is present but its backend calls currently fail independently of the consent/tagging architecture.
Next steps
- 1Gate the TikTok Pixel tag in GTM behind
ad_storage=granted before it is allowed to fire. - 2Fix the Microsoft Bing Ads UET tag so it reports
asc=Dinstead ofasc=Gprior to consent. - 3Add a History Change trigger to the Meta Pixel tag to recapture subpage PageViews in the SPA.
- 4Investigate and resolve the OpenAI pixel-config 404 and events 401 errors with the OpenAI Ads account team.
- 5Run a full GTM container audit (with API access) to validate per-tag consent settings, since page-level signals alone cannot confirm compliance.
🧪 Data validation
dataLayer order (consent_default at 241ms before gtm.js at 310ms) contradicts the computed 'consent_default after GTM' finding, and the GA4 pre-consent hit carries gcs=G100 (denied), meaning the GA4 'fires before consent' critical flag is actually compliant behavior and a false positive.
And how does your website look?
The instant check takes under two minutes. Nothing to install, no login.
Run a free instant check