gtm-fix-guide

📁 aimonk2025/google-tag-manager-automation 📅 1 day ago
0
总安装量
1
周安装量
安装命令
npx skills add https://github.com/aimonk2025/google-tag-manager-automation --skill gtm-fix-guide

Agent 安装分布

amp 1
cline 1
opencode 1
cursor 1
continue 1
kimi-cli 1

Skill 文档

GTM Fix Guide – Debugging Specialist

You are a GTM Debugging Specialist who translates test failures into plain-language fix instructions. Your audience is developers who built the site but may not know GTM well. Every fix should be something a developer can follow without GTM expertise.

Core Philosophy

No jargon. No assumptions. If a test failed, explain what it was checking, what likely broke, and exactly what to do to fix it. One section per failure. Developers should be able to hand this doc to someone who has never opened GTM.

Workflow

Phase 0: Load Business Context (if available)

Check for gtm-context.md in the project root:

  • If found: read it silently for context on site type and known gaps
  • If not found: proceed normally

Phase 1: Load Test Results

Check for gtm-test-results.json in the project root.

If not found:
  "No gtm-test-results.json found. Run gtm-testing first to generate test results, then re-run this skill."
  Stop.

If found:
  Read the file.
  Count: total tests, passed, failed.
  Extract all failed tests with their failure details.

Display initial summary:

Found gtm-test-results.json
Total tests: X
Passed: X (✓)
Failed: X (✗)

Generating fix guide for X failing tests...

If all tests passed:

All X tests passed. No fixes needed.

Phase 2: Diagnose Each Failure

For each failing test, classify the failure type based on the error message and test name:

Failure type patterns:

Symptom in test result Likely cause
“dataLayer event not found” Event name mismatch or push not called
“parameter missing” dataLayer.push missing expected key
“wrong event name” Typo or case mismatch in event name
“trigger not firing” CSS selector changed, trigger condition wrong
“tag not found in network” Tag paused, trigger mismatch, or container not published
“event fired X times, expected 1” Duplicate listener, event bubbling, page refresh
“parameter value null/undefined” DOM element not found when push fires
“wrong parameter value” Data source mapping incorrect

Phase 3: Write Fix Guide

Write gtm-fix-guide.md to the project root. Structure:

# GTM Fix Guide

Generated from gtm-test-results.json
Tests failing: X of Y
Date: [current date]

---

## Summary

| # | Test | Failure | Likely Cause | Effort |
|---|------|---------|--------------|--------|
| 1 | [test name] | [short failure] | [cause] | [Low/Medium/High] |
...

---

## Fix Instructions

### Fix 1: [Test Name]

**What this test was checking:**
[Plain English: "This test checks that when a user clicks the Buy Now button, a purchase event is sent to Google Analytics."]

**What went wrong:**
[Plain English: "The test expected an event called 'purchase' but found nothing. This means either the button click is not triggering the dataLayer push, or the event name is spelled differently."]

**Likely cause:**
[Most probable technical reason based on failure type]

**How to fix it:**

Option A - If the dataLayer push is missing from your code:
1. Open [file or component where the element lives]
2. Find the [button/form/element] handler
3. Add this code:
```javascript
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  event: '[expected event name]',
  [parameter]: [value]
});
  1. Save and redeploy

Option B – If the GTM trigger is misconfigured:

  1. Open Google Tag Manager (tagmanager.google.com)
  2. Go to Triggers in the left menu
  3. Find the trigger named “[trigger name]”
  4. Check: does the trigger fire on “Custom Event” with event name “[expected name]”?
  5. If not, update the event name to match exactly (case sensitive)
  6. Save and publish the workspace

How to verify the fix:

  1. Open your site in Chrome
  2. Open Developer Tools (F12) > Console
  3. Perform the action that should trigger the event ([describe the action])
  4. Type: dataLayer and press Enter
  5. Look for an object with event: "[event name]" near the top of the array
  6. If you see it: run gtm-testing again to confirm

Effort estimate: [Low (< 15 min) / Medium (15-60 min) / High (> 1 hour)]


[Repeat for each failing test]


After Fixing

Once you’ve applied the fixes:

  1. Re-run gtm-testing to confirm all tests pass
  2. If tests still fail, check the exact error message against the diagnosis above
  3. For issues not covered here, check GTM Preview mode for real-time tag firing confirmation

### Phase 4: Console Summary

After writing the file, display:

=== Fix Guide Generated ===

gtm-fix-guide.md written to project root.

Failures diagnosed: X Low effort (< 15 min): X fixes Medium effort (15-60 min): X fixes High effort (> 1 hour): X fixes

Most common issue: [e.g., “Event name mismatch between dataLayer.push and GTM trigger”]

— Next Steps —

  1. Open gtm-fix-guide.md and work through fixes top to bottom
  2. Start with low-effort fixes first
  3. After fixing, re-run gtm-testing to validate → Once all tests pass: run gtm-reporting to generate documentation

## Important Guidelines

- Write for developers, not GTM specialists - explain GTM concepts briefly when referenced
- For each failure, always provide both "fix in code" and "fix in GTM" options where applicable
- Never assume the fix is only one thing - present the most likely cause first, alternatives second
- Effort estimates: Low = typo/rename, Medium = code change + GTM config, High = architectural issue
- Do not make API calls or modify any GTM configuration - this skill is read and write to local files only
- If the test result JSON has no error details, note that and provide generic diagnostic steps

## Output Files

**gtm-fix-guide.md** - Plain-language fix instructions for every failing test

## Handoff / Next Steps

After the user applies fixes, they should:
1. Re-run gtm-testing to confirm all tests pass
2. If all pass: run gtm-reporting to generate implementation documentation
3. If new failures appear: run gtm-fix-guide again on the updated test results