All SEO (10-18) and GTM (20-21) skills now require saving reports to: - Database: OurDigital SEO Audit Log (2c8581e5-8a1e-8035-880b-e38cefc2f3ef) - Format: Korean content with English technical terms - Audit ID: [TYPE]-YYYYMMDD-NNN Updated files: - 9 SEO skills (code/CLAUDE.md + desktop/SKILL.md) - 2 GTM skills (code/CLAUDE.md + desktop/SKILL.md) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.3 KiB
4.3 KiB
OurDigital GTM Audit
Lightweight Google Tag Manager audit toolkit using Playwright browser automation.
For comprehensive GTM management including dataLayer tag generation, see
14-ourdigital-gtm-manager.
Project Overview
This tool audits GTM container installations, validates dataLayer events, tests form tracking, simulates e-commerce checkout flows, and generates comprehensive reports.
Quick Commands
# Install dependencies
pip install playwright
playwright install chromium
# Run full audit
python gtm_audit.py --url "https://example.com" --journey full
# Form tracking audit
python gtm_audit.py --url "https://example.com/contact" --journey form
# E-commerce checkout flow
python gtm_audit.py --url "https://example.com/cart" --journey checkout
# DataLayer deep inspection
python gtm_audit.py --url "https://example.com" --journey datalayer
# With specific container validation
python gtm_audit.py --url "https://example.com" --container "GTM-XXXXXX"
Journey Types
| Journey | Description |
|---|---|
pageview |
Basic page load + scroll simulation |
scroll |
Scroll depth trigger testing (25%, 50%, 75%, 90%) |
form |
Form discovery, field analysis, interaction simulation |
checkout |
E-commerce flow: cart → checkout → shipping → payment → purchase |
datalayer |
Deep dataLayer validation and event sequence analysis |
full |
All of the above combined |
Output
Generates gtm_audit_report.json with:
- Container status (installed, position, duplicates)
- DataLayer analysis (events, validation issues, sequence errors)
- Form analysis (forms found, tracking readiness, missing events)
- Checkout analysis (elements detected, flow issues)
- Network requests (GA4, Meta, LinkedIn, etc.)
- Recommendations and checklist
Key Files
gtm_audit.py- Main audit scriptdocs/ga4_events.md- GA4 event specificationsdocs/ecommerce_schema.md- E-commerce dataLayer structuresdocs/form_tracking.md- Form event patternsdocs/checkout_flow.md- Checkout funnel sequencedocs/datalayer_validation.md- Validation rulesdocs/common_issues.md- Frequent problems and fixes
Coding Guidelines
When modifying this tool:
- Tag Destinations: Add new platforms to
TAG_DESTINATIONSdict - Event Validation: Add requirements to
GA4_EVENT_REQUIREMENTSdict - Form Selectors: Extend
FormAnalyzer.discover_forms()for custom forms - Checkout Elements: Add selectors to
CheckoutFlowAnalyzer.detect_checkout_elements()
Korean Market Considerations
- Support Korean payment methods (카카오페이, 네이버페이, 토스)
- Handle KRW currency (no decimals)
- Include Kakao Pixel and Naver Analytics patterns
- Korean button text patterns (장바구니, 결제하기, 주문하기)
Testing a New Site
- Run with
--journey fullfirst to get complete picture - Check
gtm_audit_report.jsonfor issues - Focus on specific areas with targeted journey types
- Use
--container GTM-XXXXXXto validate specific container
Common Tasks
Add support for new tag platform
# In TAG_DESTINATIONS dict
"NewPlatform": [
r"tracking\.newplatform\.com",
r"pixel\.newplatform\.com",
],
Add custom form field detection
# In FormAnalyzer.discover_forms()
# Add new field types or selectors
Extend checkout flow for specific platform
# In CheckoutFlowAnalyzer.detect_checkout_elements()
# Add platform-specific selectors
Notion Output (Required)
IMPORTANT: All audit reports MUST be saved to the OurDigital SEO Audit Log database.
Database Configuration
| Field | Value |
|---|---|
| Database ID | 2c8581e5-8a1e-8035-880b-e38cefc2f3ef |
| URL | https://www.notion.so/dintelligence/2c8581e58a1e8035880be38cefc2f3ef |
Required Properties
| Property | Type | Description |
|---|---|---|
| Issue | Title | Report title (Korean + date) |
| Site | URL | Audited website URL |
| Category | Select | Technical SEO (use for GTM audits) |
| Priority | Select | Critical, High, Medium, Low |
| Found Date | Date | Audit date (YYYY-MM-DD) |
| Audit ID | Rich Text | Format: GTM-YYYYMMDD-NNN |
Language Guidelines
- Report content in Korean (한국어)
- Keep technical English terms as-is (e.g., GTM, dataLayer, GA4)
- URLs and code remain unchanged