From gtm-skills
Sets up GA4/GTM event tracking with naming conventions and properties, interprets analytics data, analyzes conversion funnels and cohorts, measures product metrics, and calculates ROI.
npx claudepluginhub manojbajaj95/claude-gtm-plugin --plugin gtm-skillsThis skill uses the workspace's default tool permissions.
End-to-end analytics: set up tracking, interpret data, analyze funnels, measure product engagement, validate conversion paths, and calculate ROI.
Guides setup, improvement, and auditing of analytics tracking for actionable insights, with event naming conventions, tracking plans, and essential events for marketing sites.
Sets up, audits, and optimizes analytics tracking for GA4, GTM, Mixpanel, Segment. Builds event plans, naming conventions, and validation for marketing insights.
Sets up marketing analytics infrastructure including GA4/GTM tracking, dashboards, attribution models, A/B testing frameworks, funnels, and ROI analysis. Triggers on analytics, measurement, attribution queries.
Share bugs, ideas, or general feedback.
End-to-end analytics: set up tracking, interpret data, analyze funnels, measure product engagement, validate conversion paths, and calculate ROI.
Principle: Track for decisions, not data — every event should inform an action.
Format: object_action in lowercase snake_case.
signup_completed | cta_hero_clicked | checkout_started | onboarding_step_completed
Rules: Specific over vague (cta_hero_clicked not button_clicked), past tense for completed actions, context in properties not event name.
| Category | Event | Key Properties |
|---|---|---|
| Marketing | page_view | page_title, page_location, referrer |
cta_clicked | button_text, location, page | |
form_submitted | form_type, page | |
signup_completed | method, plan | |
| Product | onboarding_step_completed | step_number, step_name |
feature_used | feature_name, context | |
trial_started | plan, source | |
purchase_completed | plan, value, currency | |
| E-commerce | product_viewed | product_id, category, price |
product_added_to_cart | product_id, price, quantity | |
checkout_started | cart_value, items_count |
// gtag.js custom event
gtag('event', 'signup_completed', {
'method': 'email',
'plan': 'free',
'user_id': userId
});
// GTM dataLayer
dataLayer.push({
'event': 'signup_completed',
'method': 'email',
'plan': 'free'
});
Enhanced Measurement (enable in GA4): page_view, scroll, outbound_click, site_search, video_engagement, file_download.
Conversions: Admin → Events → Toggle "Mark as conversion." Counting: once per session (form submit) or every time (purchase).
Convention: utm_source={channel}&utm_medium={cpc|email|organic|social}&utm_campaign={id}&utm_content={variant}&utm_term={keyword}
| Metric | Good | Warning | Poor | Action When Poor |
|---|---|---|---|---|
| Avg Time on Page | >3 min | 1–3 min | <1 min | Improve content depth |
| Bounce Rate | <40% | 40–70% | >70% | Add internal links, improve intro |
| Engagement Rate | >60% | 30–60% | <30% | Review content quality |
| Scroll Depth | >75% | 50–75% | <50% | Add visual breaks |
| Pages/Session | >2.5 | 1.5–2.5 | <1.5 | Improve internal linking |
| Metric | Good | Warning | Poor | Action When Poor |
|---|---|---|---|---|
| CTR | >5% | 2–5% | <2% | Improve title/meta description |
| Avg Position | 1–3 | 4–10 | >10 | Strengthen content, build links |
| Impressions | Growing | Stable | Declining | Refresh content |
High Engagement
│
┌──────────────┼──────────────┐
│ HIDDEN GEM │ STAR │
│ Low traffic │ High traffic│
│ → Promote │ → Maintain │
Low ───────┼──────────────┼──────────────┼─── High
Traffic │ UNDERPERFORM│ LEAKY │ Traffic
│ Low traffic │ High traffic│
│ → Rework │ → Optimize │
└──────────────┼──────────────┘
│
Low Engagement
| Metric | Significant Change | Alert Level |
|---|---|---|
| Traffic | ±30% WoW | HIGH |
| CTR | ±1pp WoW | MEDIUM |
| Position | ±5 positions | HIGH |
| Bounce Rate | ±10pp WoW | MEDIUM |
The ONE metric that represents customer value:
| Company | North Star |
|---|---|
| Slack | Weekly Active Users |
| Airbnb | Nights Booked |
| Spotify | Time Listening |
| Shopify | GMV |
Criteria: Represents customer value, correlates with revenue, measurable frequently, rallies the team.
| Stage | Metrics |
|---|---|
| Acquisition | Traffic sources, CPC, visitor → signup rate |
| Activation | Signup → first core action, time to value, onboarding completion |
| Retention | DAU/MAU (stickiness), D1/D7/D30 retention, churn rate |
| Revenue | MRR/ARR, ARPU, LTV, LTV:CAC ratio |
| Referral | Viral coefficient, referral signups, NPS |
| Timeframe | Good | Bad |
|---|---|---|
| D1 | 60–80% | <40% |
| D7 | 40–60% | <10% |
| D30 | 30–50% | <2% |
Good = flattening curve. Bad = steep drop-off.
| Funnel | Steps |
|---|---|
| E-commerce | Promotion → Search → Product View → Add to Cart → Purchase |
| SaaS Signup | Landing Page → Sign Up → Email Verify → Onboarding Complete |
| Content | Article View → Comment → Share → Subscribe |
See examples/ for Python implementations with Plotly visualizations.
Score existing funnels against Russell Brunson's framework: Hook → Story → Offer.
| Dimension | Weight | What It Measures |
|---|---|---|
| Hook Strength | 2x | Stops the scroll, grabs attention |
| Story Connection | 1.5x | Creates emotional connection and belief |
| Offer Clarity | 2x | Clear, compelling, irresistible |
| Value Ladder Fit | 1x | Fits the ascension path |
| Traffic Match | 1.5x | Matched to traffic temperature |
| Conversion Path | 1x | Next step obvious and frictionless |
| Score | Verdict |
|---|---|
| 85–100 | Conversion Machine — Ready to scale |
| 70–84 | Strong Funnel — Fix weak points, then scale |
| 55–69 | Leaky Funnel — Fix before scaling traffic |
| 40–54 | Broken Funnel — Rebuild key components |
| 0–39 | Non-Functional — Start over |
| Temperature | They Know | Appropriate Funnel |
|---|---|---|
| Cold | Nothing about you | Lead funnel, value-first content |
| Warm | Problem + your solution | Tripwire, webinar, challenge |
| Hot | Ready to buy | Sales page, order form, call booking |
For complete scoring criteria and examples, see references/full-guide.md.
ROI: (Net Profit / Total Investment) × 100%
Break-Even: Investment / Monthly Net Profit
Payback Period: Investment / Monthly Net Profit
Always model Best / Realistic / Worst:
| Case | Assumptions | Revenue | Profit | ROI | Assessment |
|---|---|---|---|---|---|
| Worst | Pessimistic | Risk level | |||
| Realistic | Expected | Target | |||
| Best | Optimistic | Upside |
Decision rule: If worst-case ROI ≥ 0%, investment is low-risk.
[Investment] achieves [ROI%] ROI at [conversion/growth rate].
Break-even occurs at [threshold], with payback in [months].
Investment is [recommended/not recommended] because [reason].
For detailed formulas (NPV, LTV, CAC, sensitivity analysis), see references/roi-reference.md.
| Category | Tools |
|---|---|
| Event Tracking | Mixpanel, Amplitude, PostHog (open-source) |
| Session Recording | FullStory, LogRocket, Hotjar |
| A/B Testing | Optimizely, VWO |
| Web Analytics | GA4, Google Search Console |
| Tag Management | Google Tag Manager |