From gtm-skills
Sets up GA4/GTM tracking, interprets analytics data, analyzes conversion funnels, calculates ROI, and measures product engagement. For analytics-driven decisions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gtm-skills:data-and-funnel-analyticsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read bootstrap context before asking questions: `strategy/brand.md` for brand, audience, offer, channels, tools, constraints, and metrics; `about/me.md` for personal voice; `content/ideas.md` and `content/calendar.md` for content planning. Use legacy product-marketing context files only as fallback. Save generated drafts to `content/<platform>/drafts/YYYY-MM-DD_short-topic-slug.md`, and route d...
Read bootstrap context before asking questions: strategy/brand.md for brand, audience, offer, channels, tools, constraints, and metrics; about/me.md for personal voice; content/ideas.md and content/calendar.md for content planning. Use legacy product-marketing context files only as fallback. Save generated drafts to content/<platform>/drafts/YYYY-MM-DD_short-topic-slug.md, and route durable learnings back to strategy/brand.md, about/me.md, or content/ideas.md.
This skill is self-contained for its frontmatter scope: use its local instructions, references, scripts, and assets as the playbook; ask only for missing task-specific inputs; hand off to adjacent skills instead of expanding scope; and return an actionable artifact, decision, plan, draft, or diagnostic.
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 |
npx claudepluginhub manojbajaj95/claude-gtm-plugin --plugin gtm-skillsAnalyzes marketing performance via attribution models, ROI/CAC/LTV metrics, tracking setup, campaign reports, and dashboards for data-driven decisions.
Helps set up, audit, and improve analytics tracking (GA4, Mixpanel, Segment, GTM) with tracking plans, event naming conventions, and data quality checks.
Analyzes customer acquisition funnels to identify drop-off points, conversion gaps, and stage bottlenecks with benchmark comparisons and revenue impact modeling.