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.
Web-to-app links
Builds an Adjust tracker link that carries the page, section and button into the campaign structure, so app installs from the website can be attributed to the page that drove them.
Inputs
Values are lowercased and slugged so reports group cleanly.
Link
What Adjust reports
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.