Claude-skill-registry-data marketing-product-analytics

Product analytics instrumentation and strategy covering event taxonomy design, tracking plans, user behavior analysis, activation/retention metrics, and marketing attribution. PostHog-first with multi-platform support (Pendo, Amplitude, Mixpanel, Heap).

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/marketing-product-analytics" ~/.claude/skills/majiayu000-claude-skill-registry-data-marketing-product-analytics && rm -rf "$T"
manifest: data/marketing-product-analytics/SKILL.md
source content

Product Analytics - Instrumentation & Measurement OS

Modern Best Practices (January 2026): PostHog-first, session context registration, strict event naming, North Star activation events, privacy-first attribution.

Primary sources live in

data/sources.json
. If web search is available, refresh time-sensitive details against official docs before giving definitive advice.

No fluff. Only executable steps, templates, and checklists.


When to Use This Skill

  • Event taxonomy design: Naming conventions, event hierarchy, property structure
  • Tracking plan creation: What to track, where, and why
  • Marketing attribution: UTM capture, campaign tracking, source attribution
  • Activation metrics: Defining and measuring user activation
  • Retention analysis: Cohort analysis, churn prediction, engagement scoring
  • Platform setup: PostHog, Pendo, Amplitude, Mixpanel, Heap configuration
  • Data quality: Event validation, debugging, governance

Default Workflow (Use Unless User Overrides)

  1. Clarify goals and constraints: business questions, lifecycle stages, identity model, privacy/consent requirements, platforms (web/mobile/backend).
  2. Define the North Star value event: one canonical event that represents value received (plus the smallest set of supporting events).
  3. Write the tracking plan: use
    assets/tracking-plan-saas.md
    as the starting template; define required properties and ownership.
  4. Implement instrumentation: pick the platform guide in Quick Reference (PostHog/Pendo/Amplitude/Mixpanel/Heap; server-side if needed).
  5. QA and harden: use
    assets/analytics-qa-checklist.md
    +
    references/event-quality-rules.md
    +
    references/production-hardening.md
    .

Core Principles

1. North Star Value Event (VITAL)

Every product must have ONE canonical activation event - the single event that means "user received real value."

Product TypeNorth Star EventWhen It Fires
Content/Media
content_consumed
Content fully loaded and visible
SaaS Tool
workflow_completed
User completes core workflow
E-commerce
purchase_completed
Transaction successful
Developer Tool
integration_working
First successful API call

Rule: Every feature event should collapse into ONE activation event with properties:

// PASS CORRECT: One event, differentiated by property
posthog.capture('value_delivered', { value_type: 'report', value_id: 'rpt_123' });
posthog.capture('value_delivered', { value_type: 'integration', value_id: 'int_456' });

// FAIL WRONG: Fragmented "value" events (harder to unify in retention/funnels)
posthog.capture('report_generated');
posthog.capture('integration_working');

2. Minimum Viable Analytics (MVA)

Start with 5-15 events, not 200. You can always add more.

LayerRequired EventsOptional
Acquisition
page_viewed
,
signup_completed
campaign_landed
ActivationYour activation event (1-2 max)
onboarding_step_completed
EngagementYour engagement signal (1-2 max)
feature_used
Conversion
purchase_completed
checkout_started

3. Session Context Registration

Register standard context once per session using

posthog.register()
:

posthog.register({
  app_env: 'prod',
  platform: 'web',
  landing_path: window.location.pathname,
  traffic_source: deriveTrafficSource(),
  utm_source, utm_medium, utm_campaign
});

4. Event Naming Convention

RuleCorrectIncorrect
Lowercase only
user_signed_up
User_Signed_Up
Snake_case
button_clicked
buttonClicked
Object_action format
project_created
createProject

Quick Reference

TaskReference
PostHog setupreferences/posthog-implementation.md
Pendo setupreferences/pendo-implementation.md
Amplitude setupreferences/amplitude-implementation.md
Mixpanel setupreferences/mixpanel-implementation.md
Heap setupreferences/heap-implementation.md
Server-side trackingreferences/server-side-tracking.md
Privacy compliancereferences/privacy-compliance.md
Event quality rulesreferences/event-quality-rules.md
Production patternsreferences/production-hardening.md
Tracking plan templateassets/tracking-plan-saas.md
UTM standardsassets/utm-naming-standards.md

Implementation Checklist

### Event Correctness
- [ ] Activation event fires only when value is **visible** (not on mount)
- [ ] Event includes required properties defined in the tracking plan (e.g., `object_type`, `object_id`, `surface`, `flow`)
- [ ] Dedupe guard used where re-renders can double-fire (see `references/production-hardening.md`)
- [ ] Event fires in **exactly one place** per feature

### Session Context
- [ ] `registerSessionContext()` called on app init
- [ ] Includes: `app_env`, `platform`, `landing_path`, `traffic_source`, UTMs

### Type Safety
- [ ] `TrafficSource` uses TypeScript enum, not free string
- [ ] All properties use `snake_case`

### Privacy
- [ ] Person properties contain **no PII** by default
- [ ] Email only stored with explicit consent

Decision Tree

### Not seeing expected events?
├─ PostHog default events visible? ($pageview, autocapture)
│   ├─ Yes -> Custom event bug -> Check component, guards, dedupe
│   └─ No -> SDK issue -> Check env vars, consent, ad blockers
├─ Check DevTools Network -> verify /e/ calls
└─ Check PostHog Live Events (not Activity)

### Can't answer business questions?
├─ Missing events -> Add custom events for key moments
├─ Missing properties -> Enrich with context
├─ No user ID -> Implement identify() calls
└─ Attribution gaps -> Capture UTMs, persist through signup

Anti-Patterns Summary

Anti-PatternInstead
No North Star eventDefine ONE canonical activation event
Excessive
*_viewed
events
Collapse into one event with properties
PII in identify()State-based identification only
Event spam from re-rendersUse
isPostHogReady()
guard + dedupe
Free text
source
Use TypeScript enum for TrafficSource
Non-unique IDsUse stable domain IDs (
*_id
) or an action_instance_id
Tracking everythingFocus on 5-15 key events (MVA)
Inconsistent namingEnforce lowercase snake_case strictly

See references/event-quality-rules.md for detailed examples.


Metrics and Benchmarks

Default to internal baselines and trendlines; use external benchmarks only when comparing like-for-like segments and definitions.

If you need external references, see

data/sources.json
->
benchmarks_research
.


Templates

TemplatePurpose
tracking-plan-saas.mdComplete SaaS tracking plan
marketing-event-library.mdMarketing attribution events
utm-naming-standards.mdUTM parameter guide
activation-metrics-template.mdActivation metric definition
analytics-qa-checklist.mdData quality checklist

International Markets

This skill uses US/UK market defaults. For international product analytics:

NeedSee Skill
Regional compliance (GDPR, PIPL, LGPD)marketing-geo-localization
Regional analytics platforms (Baidu Analytics)marketing-geo-localization
Privacy requirements by regionmarketing-geo-localization
Cookie consent by jurisdictionmarketing-geo-localization

If your query is primarily about GDPR/PIPL/LGPD or consent configuration, use marketing-geo-localization alongside this skill.


Related Skills


Data Sources

See data/sources.json for official documentation links.