Google Tag Manager Audit
A line-by-line audit of your GTM container. Find out exactly what’s firing, what’s broken, what’s missing, and what’s quietly costing you money.
If your Google Tag Manager container has been touched by multiple hands over the years, survived a re-platform, or grown without proper documentation, you almost certainly don’t know what’s actually in there. Tags get added and not removed. Triggers stop matching the site they were built for. The dataLayer doesn’t match what the tags expect. And nobody’s sure which bits are still being used.
A GTM audit puts that right. You get a clear, honest assessment of the current state of your container, what’s firing well, what isn’t firing at all, what’s firing when it shouldn’t,, and a prioritised list of what to fix first.
What gets audited.
-
Every tag in the container, mapped against what’s actually firing on the live site
Duplicate or conflicting tags (multiple GA4 configs, overlapping conversions, etc.)
Broken tags that look live but never fire
Abandoned tags from old platforms or discontinued services
Tags named "test", "new", "copy of copy of", the ones everyone’s afraid to delete
-
Which triggers are active, which are dormant, which are misconfigured
Trigger conditions that no longer match the live site (e.g. old CSS selectors, removed elements)
Trigger order, what fires before what, and whether it matters
Custom event triggers tied to dataLayer events that may not exist anymore
-
Built-in, user-defined and custom JavaScript variables - what each does and whether it’s still in use
Variables returning null, undefined or unexpected values
Custom JS that can be simplified, consolidated or removed entirely
Lookup tables and constants for accuracy
-
Structure, naming and consistency
Whether the live dataLayer matches what the tags expect
Missing values, malformed events, inconsistent product object structure
Ecommerce dataLayer adherence to GA4’s expected schema
-
Built-in consent and additional consent gating, tag by tag
Whether tags actually wait for consent, or fire regardless
Consent Mode v2 integration: are signals being passed correctly?
CMP integration (Cookiebot, OneTrust, CookieYes, Iubenda or other) and whether it’s wired up properly
-
Real-world tag firing, captured from a clean browser session
Order of execution and any race conditions
Network requests being sent - what data is leaving the page, and to where
Tracking that fires before consent has been granted (a common compliance issue)
-
Recent container changes and what they did
Abandoned test versions and uncommitted drafts
Ghost tags from old versions that may still be loading
What you get.
A written audit report with an executive summary - for stakeholders who need the headlines without the technical detail
Findings categorised by severity - critical (fix now), soon (fix in 30 days), and nice-to-have (longer-term cleanup)
Specific technical recommendations against each finding - what to change, where, and why
A documentation map of the current container - what’s in there, what each tag does, what triggers it
An optional walkthrough session to talk through findings with your team, your developer, or your agency
How it Works.
1. Scope & access
Quick call to understand the setup, the platforms you’re running on, and the questions you specifically want answered. I’ll come back with a fixed fee and a turnaround time. Then you grant me read access to the GTM container (and GA4 / ad platforms as relevant).
2. Audit
I work through the container methodically, tag by tag, trigger by trigger, variable by variable, and cross-reference everything against the live site. Anything that looks unusual gets noted with evidence (screenshots, network captures, dataLayer values) so the finding can be verified.
3. Reporting
You get the written audit report, executive summary, full findings, prioritised recommendations, and container documentation. Written so a non-technical stakeholder can understand the headlines and a developer can action the details.
4. Walkthrough (optional)
A working session to talk through what was found and decide what to do next - fix in-house, fix with me, or fix as part of a broader rebuild. Useful for getting agencies, dev teams and internal stakeholders aligned in one go.
This is for you if…
You’ve inherited a GTM container, and no one’s quite sure what’s in it
Multiple people have touched the container over the years, and nothing’s been documented
Your GA4 conversions don’t match your CRM, Shopify or order management system
You’re running ads across multiple platforms, and your match rates feel low
You’re scared to delete anything in case something breaks
You’re planning a site migration or replatform and need to know what tracking has to survive
A compliance review has raised questions about what your tracking is actually doing
You just have a nagging feeling that the data isn’t quite right
What a clean audit unlocks.
A GTM audit is almost never the end of a piece of work; it’s the start of one. Once you know what’s actually in your container, the path forward gets much clearer. Most audit reports lead naturally to one of three outcomes:
Cleanup and consolidation - removing the dead weight, fixing the broken tags, and consolidating duplicates. Quickest win for most setups
A targeted rebuild - fixing the specific tags or sections that are critical, leaving the rest alone
A full re-implementation - when the existing container has reached the point where a clean rebuild is faster than a clean-up
The audit report tells you which of these your container actually needs. Often it’s the first one. Occasionally, it’s the third. Either way, you’ll know, and you’ll have a written record of the reasoning.
Find out what’s actually in your container.
If your GTM has become a black box, your numbers don’t add up, or you’re about to inherit a setup you can’t see into, get in touch. I’ll take a look and tell you honestly whether an audit is what you actually need.