Tracking QA DeskTag, consent and event QA for a marketing data stack

Live tag audit

Reads a site's public GTM container and OneTrust configuration and lists every tag by vendor, its GTM consent setting, the measurement IDs and the app-install links on the page.

Event QA

Checks one Segment track call against the tracking plan before it ships: naming, required properties, types, PII, consent context and the GA4 export limits.

Payload

Result

Pick a preset or paste a payload.

How it works

Live tag audit

  • The Worker fetches the page HTML, then googletagmanager.com/gtm.js?id= for each container found. The published container is public JavaScript; its tag list, consent settings and template permissions are read as data.
  • Template tags are named by the script URLs in their permissions, custom HTML by the hosts it loads.
  • OneTrust rules come from the public cdn.cookielaw.org/consent/<id>/<id>.json file: which template applies in which countries, and whether Google Consent Mode and GPP are on.
  • Limits: this is the published configuration. A template can handle consent internally and a trigger can gate a tag, so every "no GTM consent setting" line is a question for a browser test across regions, which is the next step in the QA routine.

Event QA and links

  • The tracking plan is a sample plan for a crypto wealth app, written for this demo.
  • PII checks: email, phone, IBAN, card number (Luhn), wallet addresses, and identifiers in URL query strings.
  • GA4 limits applied: event names up to 40 characters, starting with a letter, no reserved prefixes; up to 25 parameters; parameter values up to 100 characters.
  • Adjust links use the tracker URL with campaign, adgroup, creative, redirect and deep_link parameters.

Scope

Built by Edward Tay as a work sample for a job application. Not affiliated with any company whose site it audits. It reads public files only and sends nothing to any tracking endpoint.