gtm-audit (60): - Added Mode D rule: check elements for IDs before designing CSS triggers gtm-editor (61): - Added "Tagging Workflow: dataLayer First" section — always suggest dataLayer push code for developers before creating GTM triggers - Added multi-language snippets (JS, React, Vue, PHP) - Added "Trigger Design: IDs First" section — prefer element IDs, ask user to add IDs before falling back to CSS selectors - Added ID naming convention: [section]-[element]-[action] - Added decision tree for trigger selection gtm-validator (62): - Flag CSS-based triggers as fragility risk during QA - Recommend adding IDs instead of finding alternative CSS selectors Based on field testing with ourdigital.org GTM-N9TPJW container. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
OurDigital GTM Audit
Lightweight Google Tag Manager audit toolkit powered by Playwright.
Note
: For comprehensive GTM management including dataLayer tag generation, see 14-ourdigital-gtm-manager.
Features
- Container Detection: Verify GTM installation, position, and duplicates
- DataLayer Validation: Event structure, types, sequence checking
- Form Tracking: Form discovery, field analysis, event verification
- E-commerce Checkout: Full funnel flow simulation and validation
- Multi-Platform: GA4, Meta Pixel, LinkedIn, Google Ads, Kakao, Naver
Installation
# Clone or download
cd gtm-audit-claude-code
# Install dependencies
pip install -r requirements.txt
# Install Playwright browsers
playwright install chromium
Usage
# Full audit
python gtm_audit.py --url "https://yoursite.com" --journey full
# Specific container validation
python gtm_audit.py --url "https://yoursite.com" --container "GTM-XXXXXX"
# Form tracking only
python gtm_audit.py --url "https://yoursite.com/contact" --journey form
# E-commerce checkout
python gtm_audit.py --url "https://yoursite.com/cart" --journey checkout
Options
| Option | Description | Default |
|---|---|---|
--url |
Target URL (required) | - |
--container |
Expected GTM container ID | None |
--journey |
Audit type: pageview, scroll, form, checkout, datalayer, full | full |
--output |
Output file path | gtm_audit_report.json |
--timeout |
Page load timeout (ms) | 30000 |
--headless |
Run browser headless | True |
Output
Generates JSON report with:
- Container status
- DataLayer events and validation issues
- Form analysis and tracking readiness
- Checkout flow analysis
- Network requests by destination
- Recommendations and checklist
Using with Claude Code
This project includes a CLAUDE.md file optimized for use with Claude Code.
# In your terminal
claude
# Then ask Claude to run audits
> Run a GTM audit on https://example.com
> Check the form tracking on https://example.com/contact
> Analyze the checkout flow issues in the latest report
Documentation
See docs/ folder for:
- GA4 event specifications
- E-commerce dataLayer schemas
- Form tracking patterns
- Checkout flow sequences
- Common issues and fixes
License
MIT