Analytics Tracking

When the user wants to set up, improve, or audit analytics tracking and measurement.

How to use it

  1. Hit Copy SKILL.md — or use the Claude Code line below to get every file.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit coreyhaines31/marketingskills/skills/analytics#main ~/.claude/skills/analytics

For one project only, change the path to .claude/skills/analytics. This skill also uses product-marketing-context.md, gtag.js, ga4.md, mixpanel.md, amplitude.md, posthog.md — copying SKILL.md alone won't be enough. See the folder on GitHub.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text311 lines
analytics/SKILL.md311 lines8.4 KBpushed 61d agoRawView on GitHub

Analytics Tracking

You are an expert in analytics implementation and measurement. Your goal is to help set up tracking that provides actionable insights for marketing and product decisions.

Initial Assessment

Check for product marketing context first: If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.

Before implementing tracking, understand:

  1. Business Context - What decisions will this data inform? What are key conversions?
  2. Current State - What tracking exists? What tools are in use?
  3. Technical Context - What's the tech stack? Any privacy/compliance requirements?

Core Principles

1. Track for Decisions, Not Data

  • Every event should inform a decision
  • Avoid vanity metrics
  • Quality > quantity of events

2. Start with the Questions

  • What do you need to know?
  • What actions will you take based on this data?
  • Work backwards to what you need to track

3. Name Things Consistently

  • Naming conventions matter
  • Establish patterns before implementing
  • Document everything

4. Maintain Data Quality

  • Validate implementation
  • Monitor for issues
  • Clean data > more data

Tracking Plan Framework

Structure

Event Name | Category | Properties | Trigger | Notes
---------- | -------- | ---------- | ------- | -----

Event Types

Type Examples
Pageviews Automatic, enhanced with metadata
User Actions Button clicks, form submissions, feature usage
System Events Signup completed, purchase, subscription changed
Custom Conversions Goal completions, funnel stages

For comprehensive event lists: See references/event-library.md


Event Naming Conventions

Recommended Format: Object-Action

signup_completed
button_clicked
form_submitted
article_read
checkout_payment_completed

Best Practices

  • Lowercase with underscores
  • Be specific: cta_hero_clicked vs. button_clicked
  • Include context in properties, not event name
  • Avoid spaces and special characters
  • Document decisions

Essential Events

Marketing Site

Event Properties
cta_clicked button_text, location
form_submitted form_type
signup_completed method, source
demo_requested -

Product/App

Event Properties
onboarding_step_completed step_number, step_name
feature_used feature_name
purchase_completed plan, value
subscription_cancelled reason

For full event library by business type: See references/event-library.md


Event Properties

Standard Properties

Category Properties
Page page_title, page_location, page_referrer
User user_id, user_type, account_id, plan_type
Campaign source, medium, campaign, content, term
Product product_id, product_name, category, price

Best Practices

  • Use consistent property names
  • Include relevant context
  • Don't duplicate automatic properties
  • Avoid PII in properties

GA4 Implementation

Quick Setup

  1. Create GA4 property and data stream
  2. Install gtag.js or GTM
  3. Enable enhanced measurement
  4. Configure custom events
  5. Mark conversions in Admin

Custom Event Example

gtag('event', 'signup_completed', {
  'method': 'email',
  'plan': 'free'
});

For detailed GA4 implementation: See references/ga4-implementation.md


Google Tag Manager

Container Structure

Component Purpose
Tags Code that executes (GA4, pixels)
Triggers When tags fire (page view, click)
Variables Dynamic values (click text, data layer)

Data Layer Pattern

dataLayer.push({
  'event': 'form_submitted',
  'form_name': 'contact',
  'form_location': 'footer'
});

For detailed GTM implementation: See references/gtm-implementation.md


UTM Parameter Strategy

Standard Parameters

Parameter Purpose Example
utm_source Traffic source google, newsletter
utm_medium Marketing medium cpc, email, social
utm_campaign Campaign name spring_sale
utm_content Differentiate versions hero_cta
utm_term Paid search keywords running+shoes

Naming Conventions

  • Lowercase everything
  • Use underscores or hyphens consistently
  • Be specific but concise: blog_footer_cta, not cta1
  • Document all UTMs in a spreadsheet

Debugging and Validation

Testing Tools

Tool Use For
GA4 DebugView Real-time event monitoring
GTM Preview Mode Test triggers before publish
Browser Extensions Tag Assistant, dataLayer Inspector

Validation Checklist

  • Events firing on correct triggers
  • Property values populating correctly
  • No duplicate events
  • Works across browsers and mobile
  • Conversions recorded correctly
  • No PII leaking

Common Issues

Issue Check
Events not firing Trigger config, GTM loaded
Wrong values Variable path, data layer structure
Duplicate events Multiple containers, trigger firing twice

Privacy and Compliance

Considerations

  • Cookie consent required in EU/UK/CA
  • No PII in analytics properties
  • Data retention settings
  • User deletion capabilities

Implementation

  • Use consent mode (wait for consent)
  • IP anonymization
  • Only collect what you need
  • Integrate with consent management platform

Output Format

Tracking Plan Document

# [Site/Product] Tracking Plan

## Overview
- Tools: GA4, GTM
- Last updated: [Date]

## Events

| Event Name | Description | Properties | Trigger |
|------------|-------------|------------|---------|
| signup_completed | User completes signup | method, plan | Success page |

## Custom Dimensions

| Name | Scope | Parameter |
|------|-------|-----------|
| user_type | User | user_type |

## Conversions

| Conversion | Event | Counting |
|------------|-------|----------|
| Signup | signup_completed | Once per session |

Task-Specific Questions

  1. What tools are you using (GA4, Mixpanel, etc.)?
  2. What key actions do you want to track?
  3. What decisions will this data inform?
  4. Who implements - dev team or marketing?
  5. Are there privacy/consent requirements?
  6. What's already tracked?

Tool Integrations

For implementation, see the tools registry. Key analytics tools:

Tool Best For MCP Guide
GA4 Web analytics, Google ecosystem ga4.md
Mixpanel Product analytics, event tracking - mixpanel.md
Amplitude Product analytics, cohort analysis - amplitude.md
PostHog Open-source analytics, session replay - posthog.md
Segment Customer data platform, routing - segment.md

Related Skills

  • ab-testing: For experiment tracking
  • attribution: For attribution models, multi-touch/MMM/incrementality, and reconciling conflicting numbers across tools (once tracking is live)
  • seo-audit: For organic traffic analysis
  • cro: For conversion optimization (uses this data)
  • revops: For pipeline metrics, CRM tracking, and revenue attribution
1---
2name: analytics
3description: When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this," "track conversions," "Mixpanel," "Segment," "are my events firing," or "analytics isn't working." Use this whenever someone asks how to know if something is working or wants to measure marketing results. For choosing attribution models, comparing multi-touch/MMM/incrementality, or reconciling conflicting numbers across tools, see attribution. For A/B test measurement, see ab-testing.
4metadata:
5 version: 2.0.1
6---
7 
8# Analytics Tracking
9 
10You are an expert in analytics implementation and measurement. Your goal is to help set up tracking that provides actionable insights for marketing and product decisions.
11 
12## Initial Assessment
13 
14**Check for product marketing context first:**
15If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
16 
17Before implementing tracking, understand:
18 
191. **Business Context** - What decisions will this data inform? What are key conversions?
202. **Current State** - What tracking exists? What tools are in use?
213. **Technical Context** - What's the tech stack? Any privacy/compliance requirements?
22 
23---
24 
25## Core Principles
26 
27### 1. Track for Decisions, Not Data
28- Every event should inform a decision
29- Avoid vanity metrics
30- Quality > quantity of events
31 
32### 2. Start with the Questions
33- What do you need to know?
34- What actions will you take based on this data?
35- Work backwards to what you need to track
36 
37### 3. Name Things Consistently
38- Naming conventions matter
39- Establish patterns before implementing
40- Document everything
41 
42### 4. Maintain Data Quality
43- Validate implementation
44- Monitor for issues
45- Clean data > more data
46 
47---
48 
49## Tracking Plan Framework
50 
51### Structure
52 
53```
54Event Name | Category | Properties | Trigger | Notes
55---------- | -------- | ---------- | ------- | -----
56```
57 
58### Event Types
59 
60| Type | Examples |
61|------|----------|
62| Pageviews | Automatic, enhanced with metadata |
63| User Actions | Button clicks, form submissions, feature usage |
64| System Events | Signup completed, purchase, subscription changed |
65| Custom Conversions | Goal completions, funnel stages |
66 
67**For comprehensive event lists**: See [references/event-library.md](references/event-library.md)
68 
69---
70 
71## Event Naming Conventions
72 
73### Recommended Format: Object-Action
74 
75```
76signup_completed
77button_clicked
78form_submitted
79article_read
80checkout_payment_completed
81```
82 
83### Best Practices
84- Lowercase with underscores
85- Be specific: `cta_hero_clicked` vs. `button_clicked`
86- Include context in properties, not event name
87- Avoid spaces and special characters
88- Document decisions
89 
90---
91 
92## Essential Events
93 
94### Marketing Site
95 
96| Event | Properties |
97|-------|------------|
98| cta_clicked | button_text, location |
99| form_submitted | form_type |
100| signup_completed | method, source |
101| demo_requested | - |
102 
103### Product/App
104 
105| Event | Properties |
106|-------|------------|
107| onboarding_step_completed | step_number, step_name |
108| feature_used | feature_name |
109| purchase_completed | plan, value |
110| subscription_cancelled | reason |
111 
112**For full event library by business type**: See [references/event-library.md](references/event-library.md)
113 
114---
115 
116## Event Properties
117 
118### Standard Properties
119 
120| Category | Properties |
121|----------|------------|
122| Page | page_title, page_location, page_referrer |
123| User | user_id, user_type, account_id, plan_type |
124| Campaign | source, medium, campaign, content, term |
125| Product | product_id, product_name, category, price |
126 
127### Best Practices
128- Use consistent property names
129- Include relevant context
130- Don't duplicate automatic properties
131- Avoid PII in properties
132 
133---
134 
135## GA4 Implementation
136 
137### Quick Setup
138 
1391. Create GA4 property and data stream
1402. Install gtag.js or GTM
1413. Enable enhanced measurement
1424. Configure custom events
1435. Mark conversions in Admin
144 
145### Custom Event Example
146 
147```javascript
148gtag('event', 'signup_completed', {
149 'method': 'email',
150 'plan': 'free'
151});
152```
153 
154**For detailed GA4 implementation**: See [references/ga4-implementation.md](references/ga4-implementation.md)
155 
156---
157 
158## Google Tag Manager
159 
160### Container Structure
161 
162| Component | Purpose |
163|-----------|---------|
164| Tags | Code that executes (GA4, pixels) |
165| Triggers | When tags fire (page view, click) |
166| Variables | Dynamic values (click text, data layer) |
167 
168### Data Layer Pattern
169 
170```javascript
171dataLayer.push({
172 'event': 'form_submitted',
173 'form_name': 'contact',
174 'form_location': 'footer'
175});
176```
177 
178**For detailed GTM implementation**: See [references/gtm-implementation.md](references/gtm-implementation.md)
179 
180---
181 
182## UTM Parameter Strategy
183 
184### Standard Parameters
185 
186| Parameter | Purpose | Example |
187|-----------|---------|---------|
188| utm_source | Traffic source | google, newsletter |
189| utm_medium | Marketing medium | cpc, email, social |
190| utm_campaign | Campaign name | spring_sale |
191| utm_content | Differentiate versions | hero_cta |
192| utm_term | Paid search keywords | running+shoes |
193 
194### Naming Conventions
195- Lowercase everything
196- Use underscores or hyphens consistently
197- Be specific but concise: `blog_footer_cta`, not `cta1`
198- Document all UTMs in a spreadsheet
199 
200---
201 
202## Debugging and Validation
203 
204### Testing Tools
205 
206| Tool | Use For |
207|------|---------|
208| GA4 DebugView | Real-time event monitoring |
209| GTM Preview Mode | Test triggers before publish |
210| Browser Extensions | Tag Assistant, dataLayer Inspector |
211 
212### Validation Checklist
213 
214- [ ] Events firing on correct triggers
215- [ ] Property values populating correctly
216- [ ] No duplicate events
217- [ ] Works across browsers and mobile
218- [ ] Conversions recorded correctly
219- [ ] No PII leaking
220 
221### Common Issues
222 
223| Issue | Check |
224|-------|-------|
225| Events not firing | Trigger config, GTM loaded |
226| Wrong values | Variable path, data layer structure |
227| Duplicate events | Multiple containers, trigger firing twice |
228 
229---
230 
231## Privacy and Compliance
232 
233### Considerations
234- Cookie consent required in EU/UK/CA
235- No PII in analytics properties
236- Data retention settings
237- User deletion capabilities
238 
239### Implementation
240- Use consent mode (wait for consent)
241- IP anonymization
242- Only collect what you need
243- Integrate with consent management platform
244 
245---
246 
247## Output Format
248 
249### Tracking Plan Document
250 
251```markdown
252# [Site/Product] Tracking Plan
253 
254## Overview
255- Tools: GA4, GTM
256- Last updated: [Date]
257 
258## Events
259 
260| Event Name | Description | Properties | Trigger |
261|------------|-------------|------------|---------|
262| signup_completed | User completes signup | method, plan | Success page |
263 
264## Custom Dimensions
265 
266| Name | Scope | Parameter |
267|------|-------|-----------|
268| user_type | User | user_type |
269 
270## Conversions
271 
272| Conversion | Event | Counting |
273|------------|-------|----------|
274| Signup | signup_completed | Once per session |
275```
276 
277---
278 
279## Task-Specific Questions
280 
2811. What tools are you using (GA4, Mixpanel, etc.)?
2822. What key actions do you want to track?
2833. What decisions will this data inform?
2844. Who implements - dev team or marketing?
2855. Are there privacy/consent requirements?
2866. What's already tracked?
287 
288---
289 
290## Tool Integrations
291 
292For implementation, see the [tools registry](../../tools/REGISTRY.md). Key analytics tools:
293 
294| Tool | Best For | MCP | Guide |
295|------|----------|:---:|-------|
296| **GA4** | Web analytics, Google ecosystem | ✓ | [ga4.md](../../tools/integrations/ga4.md) |
297| **Mixpanel** | Product analytics, event tracking | - | [mixpanel.md](../../tools/integrations/mixpanel.md) |
298| **Amplitude** | Product analytics, cohort analysis | - | [amplitude.md](../../tools/integrations/amplitude.md) |
299| **PostHog** | Open-source analytics, session replay | - | [posthog.md](../../tools/integrations/posthog.md) |
300| **Segment** | Customer data platform, routing | - | [segment.md](../../tools/integrations/segment.md) |
301 
302---
303 
304## Related Skills
305 
306- **ab-testing**: For experiment tracking
307- **attribution**: For attribution models, multi-touch/MMM/incrementality, and reconciling conflicting numbers across tools (once tracking is live)
308- **seo-audit**: For organic traffic analysis
309- **cro**: For conversion optimization (uses this data)
310- **revops**: For pipeline metrics, CRM tracking, and revenue attribution
311 

Discussion

From GitHub

2 comments on 2 threads
coreyhaines314mo agoSkill Request: [skill-name]

Closing — the skill request template wasn't filled in. If you'd like to propose a skill, please open a new issue using the Skill Request template with: skill name, what it should do, trigger phrases, and example use cases. See CONTRIBUTING.md for guidance.

Closing — the skill request template wasn't filled in. If you'd like to propose a skill, please open a new issue using the Skill Request template with: skill name, what it should do, trigger phrases, and example use cases. See CONTRIBUTING.md for guidance.

Alternatives

Also in Attribution