Files
our-claude-skills/custom-skills/20-gtm-audit/desktop/SKILL.md
Andrew Yim 4d9da597ca fix(desktop-skills): Fix YAML frontmatter for Claude Desktop compatibility
- Remove 'version' field from 13 SKILL.md files
- Quote descriptions containing colons (Triggers:) in 9 files
- Fix 20-gtm-audit binary file (extract proper SKILL.md from ZIP)
- Add missing 'description:' key in 41-jamie-brand-audit
- Add new skill 44-jamie-youtube-subtitle-checker with both desktop/ and code/ versions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 18:19:17 +09:00

6.1 KiB

name, description
name description
gtm-audit Automated Google Tag Manager audit and validation toolkit. Use when auditing GTM container installations, verifying tag firing, debugging dataLayer events, form tracking validation, e-commerce checkout flow testing, or generating tag implementation reports. Triggers on GTM audit, tag debugging, dataLayer inspection, form submission tracking, checkout funnel analysis, conversion tracking validation, GA4/Meta/LinkedIn pixel verification requests.

GTM Audit Skill

Automated audit workflow for GTM containers using Playwright browser automation.

Workflow Overview

1. Setup & Container Detection
2. DataLayer Validation & Monitoring
3. Form Analysis & Submission Tracking
4. E-commerce Checkout Flow Testing
5. Tag Firing Verification
6. Issue Analysis & Recommendations
7. Report Generation

Quick Start

# Full audit with all features
python scripts/gtm_audit.py --url "https://example.com" --journey full

# Form tracking audit
python scripts/gtm_audit.py --url "https://example.com/contact" --journey form

# E-commerce checkout flow
python scripts/gtm_audit.py --url "https://example.com/cart" --journey checkout

# DataLayer deep inspection
python scripts/gtm_audit.py --url "https://example.com" --journey datalayer

# With expected container validation
python scripts/gtm_audit.py --url "https://example.com" --container "GTM-XXXXXX"

Core Components

1. Container Detection

Verify GTM installation:

  • Check for gtm.js or gtag/js script presence
  • Validate container ID format (GTM-XXXXXX)
  • Detect multiple containers (potential conflicts)
  • Check script placement (head vs body)

2. DataLayer Inspection

Monitor window.dataLayer array:

  • Capture all push events
  • Validate event structure against GA4 specs
  • Check e-commerce object schemas
  • Identify malformed or missing parameters

3. Form Analysis & Tracking

Comprehensive form validation:

  • Discovery: Find all forms on page
  • Field Analysis: Input types, required fields, validation rules
  • Interaction Simulation: Focus, input, blur, submit
  • Event Verification: form_start, form_submit, generate_lead
  • Error Tracking: Validation failures, abandonment points

4. E-commerce Checkout Flow

Multi-step checkout simulation:

  • Cart: view_cart, remove_from_cart
  • Checkout Start: begin_checkout
  • Shipping: add_shipping_info
  • Payment: add_payment_info
  • Purchase: purchase event validation
  • Funnel Analysis: Drop-off detection between steps

5. DataLayer Deep Inspection

Advanced dataLayer validation:

  • Structure Validation: Schema compliance checking
  • Real-time Monitoring: Capture all pushes during journey
  • Event Sequencing: Verify correct order of events
  • Parameter Validation: Type checking, required fields
  • Diff Analysis: Before/after state comparison

4. Network Monitoring

Capture outbound requests to:

Destination Endpoint Pattern
GA4 google-analytics.com/g/collect
Meta Pixel facebook.com/tr
LinkedIn px.ads.linkedin.com
Google Ads googleads.g.doubleclick.net
TikTok analytics.tiktok.com

5. Tag Verification

For each expected tag:

  • Confirm firing on correct trigger
  • Validate required parameters present
  • Check parameter values match dataLayer
  • Identify timing/sequencing issues

Reference Files

  • references/ga4_events.md - GA4 recommended event specifications
  • references/ecommerce_schema.md - E-commerce dataLayer structures
  • references/form_tracking.md - Form event specs and validation patterns
  • references/checkout_flow.md - Checkout funnel event sequence
  • references/datalayer_validation.md - DataLayer schema validation rules
  • references/common_issues.md - Frequent problems and fixes
  • references/report_template.md - Audit report format

Audit Checklist

Container Health

  • GTM script loads without errors
  • Container ID matches expected
  • No duplicate containers
  • Script in correct position

DataLayer Quality

  • dataLayer initialized before GTM
  • Event names follow conventions
  • Required parameters present
  • Data types correct (string/number)
  • E-commerce objects cleared before new push
  • No duplicate events firing

Form Tracking

  • form_start fires on first interaction
  • form_submit fires on successful submission
  • generate_lead fires with value (if applicable)
  • Form field errors tracked
  • Form abandonment detectable

E-commerce Checkout

  • view_cart fires with correct items
  • begin_checkout has all required params
  • add_shipping_info includes shipping_tier
  • add_payment_info includes payment_type
  • purchase has unique transaction_id
  • purchase value matches cart total

Tag Firing

  • Pageview fires on all pages
  • Events fire on correct triggers
  • E-commerce events have required params
  • Conversion tags fire once (not duplicate)

Performance

  • Tags don't block page render
  • No excessive network requests
  • Tag sequencing optimized

Output Format

Audit generates JSON report:

{
  "audit_metadata": {
    "url": "https://example.com",
    "timestamp": "2025-01-15T10:30:00Z",
    "container_id": "GTM-XXXXXX"
  },
  "container_status": {
    "installed": true,
    "valid": true,
    "position": "head",
    "issues": []
  },
  "tags_fired": [...],
  "tags_not_fired": [...],
  "issues": [...],
  "recommendations": [...]
}

Common Fix Patterns

Tag Not Firing

  1. Check trigger conditions in GTM
  2. Verify dataLayer event name matches exactly
  3. Confirm trigger timing (DOM Ready vs Window Loaded)
  4. Test in GTM Preview mode

Missing Parameters

  1. Verify dataLayer.push() includes all required fields
  2. Check variable configuration in GTM
  3. Confirm data types match expectations

Duplicate Firing

  1. Check for multiple triggers on same action
  2. Verify tag firing options (once per event/page)
  3. Look for duplicate GTM containers

Integration Notes

Works with:

  • Playwright MCP tools for browser automation
  • Desktop Commander for local script execution
  • Can export reports to Notion via MCP