Tag Manager tracking audit
A free Claude skill. Audits a GTM container - paused tags, duplicate GA4 events, retired UA tags, missing consent - and checks its events against what actually arrives in GA4.
Needs: the Caybl.ai connector with Google Tag Manager, Google Analytics (optional) connected. Try: “Audit our Tag Manager container and tell me what to fix first.”
What you get
- One-line health verdict
- Problems ranked by impact, with the tags involved
- GTM vs GA4 event check
- Fixes as drafts, published only after a preview
Install
claude.ai and Claude Desktop
- Download the .zip.
- In Claude, go to Settings, Capabilities, Skills, and upload it.
- Connect Caybl.ai from the connector directory if you haven’t already.
Claude Code
mkdir -p ~/.claude/skills/gtm-tracking-audit && curl -fsSL https://caybl.ai/skills/gtm-tracking-audit/SKILL.md -o ~/.claude/skills/gtm-tracking-audit/SKILL.mdclaude mcp add --transport http caybl https://api.caybl.ai/mcpThe skill
This is the full SKILL.md - the same file you download. View raw.
---
name: gtm-tracking-audit
description: Audit a Google Tag Manager container for tracking problems (paused tags, duplicate GA4 events, retired Universal Analytics tags, tags that never fire, missing consent settings), check the GA4 events it sends against what actually arrives in Google Analytics, and produce a prioritised fix list. Use when someone asks to audit or clean up GTM, check their tracking setup, or find out why GA4 or Google Ads numbers look wrong. Needs the Caybl.ai connector (gtm_ tools; Google Analytics optional).
---
# Tag Manager tracking audit
Uses the Caybl.ai connector. If its `gtm_` tools aren't available, tell the user to connect Google Tag Manager at https://caybl.ai/dashboard and stop.
## 1. Pick the container
Call `gtm_list_containers`. If there's more than one web container, ask which site to audit. Server containers can be listed but skip them for this audit.
## 2. Run the audit
Call `gtm_audit_container` and `gtm_list_tags` for the container. The audit returns findings ranked high → low; the tag list gives each tag's event name, measurement ID or conversion ID, triggers and consent.
## 3. Check against real data (if Google Analytics is connected)
- Call GA4 `run_report` for the last 7 days with dimension `eventName` and metric `eventCount`.
- Compare with the GA4 event tags in the container:
- **Set up in GTM but missing in GA4**: the tag doesn't fire, or sends to another measurement ID. Use `gtm_list_triggers_and_variables` to explain when it should fire.
- **Event counts that look doubled** (e.g. `purchase` about twice `transactions` or orders): confirms a duplicate-tag finding.
- Check that the tags' measurement IDs match the GA4 property's own data stream.
## 4. Report
Lead with one sentence: is tracking healthy, and what's the single most important problem.
Then the fix list, highest impact first. Revenue-affecting problems (conversions, purchases) come before tidy-ups. For each: what's wrong, which tags, what to do, and whether Caybl can draft it (`gtm_pause_tag`, `gtm_upsert_tag`, `gtm_upsert_trigger`) or it needs doing in Tag Manager.
## 5. Offer fixes, never apply them unasked
If the user wants Caybl to fix something, call the write tool **without** `validateOnly` first (a dry run), show what would change, and only call again with `validateOnly: false` once they agree. That saves a draft in the "Caybl changes" workspace; nothing is live yet.
Publishing is a separate decision. Only if the user asks: call `gtm_publish` without `validateOnly` (Google compiles the workspace and the result lists exactly what changes on the live site), show that list, and only then call it with `validateOnly: false` and a clear `versionName`. Tell them the version to roll back to (the result names it). If writes are switched off, tell them where to turn them on.
More Tag Manager skills
- What changed in Tag Manager? - When conversions drop or jump, finds the GTM version published around that day and the exact tag or trigger change behind it.
Connect your data, then run the skill
Sign in with Google, connect your accounts and add Caybl.ai to Claude. Google Analytics is free.
Get started free →