We Rebuilt a Publisher’s GTM Setup from Scratch — Here’s What We Found

A real GTM audit in action — Monchee Team
We Rebuilt a Publisher’s GTM Setup from Scratch — Here’s What We Found
One of our clients said their site was slow and tracking was messy.
We checked their Google Tag Manager (GTM) — it was chaos.
Here’s what we found, how we fixed it, and tips you can use on your own site.
What Was Broken?
- 100+ tags, including paused ones and duplicates
- Old UA + new GA4 + Meta Pixel all firing
- Tags running on 404 pages and login pages
- No naming rules, folders, or clear ownership
- Result: Page load was 400ms slower on mobile
GTM can silently slow down your site if you don’t audit it regularly.
Step 1 — Map What’s Happening
We started with Preview Mode + Tag Assistant.
Then made a spreadsheet of:
- Name
- Tag type (GA4, HTML, Meta, etc.)
- Trigger(s)
- Pages it fires on
- Status (active, paused, unknown)
💡 window.dataLayer helped us match GTM events with what was actually happening.
Use folders in GTM to group tags by purpose (Analytics, Ads, UX).
Step 2 — Clean the Mess
We followed 3 cleanup rules:
- ✅ Clear, readable tag names like
click__signup_button - ✅ One tag = one purpose (no overlapping)
- ✅ Deleted anything not owned, used, or documented
Folder Structure:
- Analytics
- Ad Tracking
- Custom UX Events

We reduced tag count by 47% — and improved mobile load speed by 200ms.
Step 3 — Speed Things Up
Here’s what was slowing down the site:
- Third-party scripts blocking load
- Tags firing on every page
- No async or delay rules
What we fixed:
- Added
asyncto all script tags - Used delay triggers for low-priority tags
- Blocked tags on private or sensitive pages
- Limited firing to where needed
Avoid "All Pages" triggers unless absolutely necessary.
Step 4 — Make It Maintainable
Fixing is good. Preventing mess is better.
What we added:
- ✅ README inside GTM container
- ✅ Version changelog via Google Sheets
- ✅ Slack webhook for new publishes
- ✅ Notion-based tag list and ownership chart
✅ TL;DR: GTM Cleanup Checklist
- Map all tags and triggers
- Remove unused or unknown tags
- Group tags using folders
- Add delay or async where possible
- Avoid firing on every page
- Write clear tag names
- Add README and change log
💬 What We Learned
- GTM is powerful, but fragile
- Over time, every container gets messy
- Clean naming, folders, and documentation saves hours later
At Monchee, we help teams untangle tools like GTM and speed up real websites.