/iblai-marketing-analytics-tracking
Set up analytics tracking that drives marketing and product decisions. Skip
vanity events; track what changes how the team operates.
Step 0: Context Check
Read .agents/product-marketing-context.md (or .claude/product-marketing-context.md
on older setups) first. Only ask for what isn't there.
Before implementing, pin down:
- Business context — which decisions does this data drive? What counts as a conversion?
- Current state — what tracking already exists? Which tools?
- Technical context — stack, privacy and compliance requirements.
Core Principles
- Track for decisions, not data. Every event informs an action. Quality beats quantity.
- Start with questions. What do you need to know? What will you do with the answer? Work backward to the events.
- Name things consistently. Set conventions before implementing. Document everything.
- Maintain data quality. Validate, monitor, clean. Clean data beats 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 |
Comprehensive event lists: references/event-library.md.
Event Naming Conventions
Format: Object-Action
signup_completed
button_clicked
form_submitted
article_read
checkout_payment_completed
Rules
- Lowercase with underscores
- Be specific:
cta_hero_clicked, not button_clicked
- Push context into properties, not the event name
- No spaces, no special characters
- Document every decision
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 |
Full library by business type: 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 |
Rules
- Consistent property names everywhere
- Include relevant context
- Don't duplicate automatic properties
- No PII in properties
GA4 Implementation
Quick Setup
- Create GA4 property and data stream
- Install gtag.js or GTM
- Enable enhanced measurement
- Configure custom events
- Mark conversions in Admin
Custom Event Example
gtag('event', 'signup_completed', {
'method': 'email',
'plan': 'free'
});
Detailed setup: 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'
});
Detailed setup: references/gtm-implementation.md.
UTM Parameters
Standard Set
| 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 |
Conventions
- Lowercase everything
- Underscores or hyphens — pick one
- Specific but concise (
blog_footer_cta, not cta1)
- Document UTMs in a single spreadsheet
Debugging and Validation
Testing Tools
| Tool |
Use For |
| GA4 DebugView |
Real-time event monitoring |
| GTM Preview Mode |
Test triggers before publishing |
| Browser Extensions |
Tag Assistant, dataLayer Inspector |
Validation Checklist
- Events fire on the correct triggers
- Property values populate correctly
- No duplicate events
- Works cross-browser and on 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
Rules
- Cookie consent required in EU/UK/CA
- No PII in analytics properties
- Configure data-retention windows
- Support user deletion
Implementation
- Consent mode (wait for consent)
- IP anonymization
- Collect only what you need
- Wire to a 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
- What tools are you using (GA4, Mixpanel, etc.)?
- What key actions do you want to track?
- What decisions will this data inform?
- Who implements — dev team or marketing?
- Are there privacy/consent requirements?
- 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
- iblai-marketing-ab-test-setup: For experiment tracking
- iblai-marketing-seo-audit: For organic traffic analysis
- iblai-marketing-page-cro: For conversion optimization (uses this data)
- iblai-marketing-revops: For pipeline metrics, CRM tracking, and revenue attribution