Install
$ agentstack add skill-0-shiv-secondstep-claude-skills-track-google-tag ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Track Google Tag — Sub-Skill
Command
/track google-tag
Description
Validates Google Tag (gtag.js) installation across all pages, checks conversion action configuration, verifies tag firing order, and confirms data flow into Google Ads. This is the foundation of all Google Ads tracking — if the Google Tag is broken, everything downstream (Enhanced Conversions, offline imports, audiences) fails.
Validation Checklist
1. Tag Presence
Check that the Google Tag is present and loading correctly on every page type:
Pages to Check:
- Homepage
- Category / listing pages
- Product / service detail pages
- Cart / checkout pages
- Thank you / confirmation pages
- Blog / content pages
- Landing pages (especially ad-specific LPs)
- 404 / error pages
What to Look For:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-XXXXXXXXXX');
Common Issues:
- Tag only on homepage, missing from inner pages
- Tag placed in `
instead of` (causes delayed firing) - SPA (React, Vue, Angular) not re-firing gtag on route changes
- Multiple Google Tags with different IDs conflicting
- Tag blocked by ad blockers or consent management platform
- Tag loaded synchronously (missing
asyncattribute) causing page speed issues
2. GTM Implementation Check
If using Google Tag Manager instead of direct gtag.js:
- GTM container snippet in `
(JS) and` (noscript) - GTM container ID matches the intended account
- Google Ads conversion tag configured within GTM
- Trigger set correctly (All Pages for config, specific triggers for conversions)
- No duplicate: both direct gtag.js AND GTM firing the same tag
3. Conversion Action Configuration
For each conversion action in Google Ads, validate:
Counting Method:
- One — Use for lead forms, sign-ups, quote requests (one conversion per click)
- Every — Use for purchases, transactions (every conversion counts)
- Common mistake: Purchase set to "One" (undercounts) or Lead set to "Every" (overcounts)
Conversion Value:
- Static value assigned (e.g., $50 per lead)
- Dynamic value passed from transaction (e.g., actual purchase amount)
- Currency code specified correctly
- Value not $0 or blank (kills Value-Based Bidding)
Conversion Category:
- Purchase/Sale, Lead, Page View, Sign-up, Other
- Correct category matters for Smart Bidding optimization signals
Conversion Window:
- Click-through: 30, 60, or 90 days (default 30)
- View-through: 1 day (default) — usually appropriate
- Engaged-view: 3 days for video campaigns
- Window too short = lost conversions, window too long = misattribution
- Recommendation: 30 days for e-commerce, 60-90 days for B2B / high-consideration
Attribution Model:
- Data-driven (recommended, default for new actions)
- Last click (legacy, still common)
- Check that all conversion actions use the same model for consistency
4. Tag Firing Verification
Methods to verify the tag is actually firing:
Browser-Based:
- Google Tag Assistant (Chrome extension) — shows tags found, firing status, errors
- Chrome DevTools Network tab — filter by
googletagmanager.comorgoogle-analytics.com - Check for
gtag/jsand conversion pings in network requests - Console:
dataLayervariable should exist and contain events
Platform-Based:
- Google Ads > Tools > Conversions — check "Tracking status" column
- Statuses: Recording conversions, Tag inactive, Unverified, No recent conversions
- Google Ads > Tools > Tag diagnostics
Tag Sequencing:
- Google Tag (config) must fire before any conversion tags
- If using GTM: set tag sequencing so config tag fires first
- If using consent mode:
gtag('consent', 'default', {...})must run beforegtag('config', ...)
5. Conversion Import to Google Ads
Verify that conversion data is flowing into Google Ads:
- Check Conversions column in campaign reports
- Compare conversion count in Google Ads vs. actual form submissions / purchases
- Check for conversion delay (can take up to 24 hours for data to appear)
- Verify "Include in Conversions" is set to Yes for primary actions
- Secondary conversion actions (micro-conversions) should be set to No
Diagnostic Queries
Ask the user these questions to gather context:
- What is your Google Ads Conversion ID (AW-XXXXXXXXXX)?
- How many conversion actions do you have? List them.
- Is the tag implemented directly or via GTM?
- What CMS / framework is the website built on?
- Do you use a consent management platform?
- Are you seeing conversions in Google Ads reports?
- What is the current tracking status in Google Ads?
Fix Priority
| Issue | Priority | Impact | |-------|----------|--------| | Tag missing from pages | Critical | No conversion data at all | | Wrong counting method | High | Over/undercounting conversions | | $0 conversion value | High | Breaks Value-Based Bidding | | Multiple conflicting tags | High | Duplicate conversions | | Missing async attribute | Medium | Page speed degradation | | Wrong conversion window | Medium | Misattributed conversions | | Tag in body not head | Low | Slightly delayed firing |
Scoring Contribution
This sub-skill contributes up to 15 points to the Tracking Health Score:
- Tag present on all pages: 5 points
- Conversion actions configured correctly: 5 points
- Tag firing verified and healthy: 3 points
- No conflicts or duplicates: 2 points
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: 0-shiv
- Source: 0-shiv/secondstep-claude-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.