GTM container audit
acmemarketing.com
GTM-SAMPLE · Acme Marketing
92
/ 100
In good shape
- Tags
- 4
- Critical
- 0
- Needs attention
- 2
- Heads-up
- 4
Findings 6 issues · 16 rules run
Heavy reliance on Custom HTML
Needs attention50% of your tags (2 of 4) are Custom HTML. Containers that lean heavily on Custom HTML are harder to audit, more likely to break silently, and often skip consent and async controls that built-in tag templates apply automatically.
Affected tags (2)
- Custom pixel — html
- Hotjar — html
What to do: Where possible, replace Custom HTML with the built-in template for that vendor (GA4, Facebook Pixel, LinkedIn Insight, etc.). Built-ins handle async loading and consent settings out of the box.
Tags without consent settings
Needs attention2 analytics or advertising tags have no consent settings configured. In the EU/EEA, UK, and parts of California, those tags may be firing before users have given consent — and you'd be the one with the GDPR/CCPA exposure, not Google.
Affected tags (2)
- GA4 — googtag
- Ads conversion — awct
What to do: In each tag's "Advanced Settings → Consent Settings", set "Require additional consent for tag to fire" and pick the right consent types (e.g. ad_storage + analytics_storage for ads tags).
Impact: Reduced regulatory risk; correct attribution once Consent Mode is properly wired.
Tags firing on All Pages
Heads-up1 of 4 tags (25%) fire on every page load. Some site-wide tags belong here (analytics, consent banner) — others probably don't.
Affected tags (1)
- GA4 — googtag
What to do: For each tag, ask: does this need to run on /careers and /press? If not, swap All Pages for a page-specific trigger. Marketers often set All Pages by default.
Impact: Less JavaScript on pages that don't need it. Lower Total Blocking Time, especially on landing pages.
Tags without descriptions
Heads-up100% of your tags (4 of 4) have no description. When the person who set them up leaves, nobody knows what they do.
Affected tags (4)
- GA4 — googtag
- Ads conversion — awct
- Custom pixel — html
- Hotjar — html
What to do: Add a one-line note to each tag describing what it tracks and why. Future-you (or your replacement) will thank you.
Container hasn't been published recently
Heads-upLast published 200 days ago (Nov 4, 2025). Long gaps are usually fine, but they can also mean nobody owns this container anymore.
What to do: Confirm someone is still actively maintaining the container. If it's abandoned, archive it before it accumulates more drift.
Built-in variables enabled but never used
Heads-up4 built-in variables are enabled but referenced by nothing in the container. Cosmetic, but a clean container makes everything else easier to audit.
Affected tags (4)
- Page URL — built-in variable
- Click Element — built-in variable
- Click Classes — built-in variable
- Form Element — built-in variable
What to do: In Variables → Configure (the gear in the Built-In Variables list), uncheck the ones you don't use.
Checks that passed (10)
- ✓Deprecated tag types
- ✓Tags referencing missing triggers or variables
- ✓Custom HTML loaded synchronously
- ✓Paused tags
- ✓Duplicate tags
- ✓Multiple tracking IDs for the same vendor
- ✓Multiple heavy third-party tags
- ✓Tags with names that suggest they're old or temporary
- ✓Custom HTML tags with near-identical bodies
- ✓Container size
Found this useful?
Share the report — anyone with the link can view it, no login required.
Preview the caption
Our GTM container scored 92/100 — pretty clean. Useful free tool: https://pagecheckup.dev/r/demo?utm_source=linkedin&utm_medium=share&utm_campaign=report
On a schedule
Want this every week?
CorePulse runs the same GTM audit on a weekly schedule and monitors your landing pages for performance regressions. Now in private beta.
Join the CorePulse waitlist →