analytics – Marketing & SEO skill for AI agents
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," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this," "Mixpanel," "Segment," "are m
Install the analytics skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/analytics-c8b01.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /analytics – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/analytics-c8b01.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $analytics – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/analytics-c8b01.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /analytics – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/analytics-c8b01.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /analytics – then describe the task you want done.
SKILL.md content
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
5. Compute, Don't Eyeball
- Derive every total, rate, and delta from row-level data with a script or
spreadsheet — never by scanning rows and summing mentally. One silently
dropped row corrupts every figure downstream of it.
- Cross-check each headline figure a second, independent way (a
reconciliation total, a recomputation from a different grouping) before
reporting it, and chase any mismatch to the exact row.
- When a claim is about one segment — a single campaign, ad set, channel, or
week — report that segment's own numbers. Never fold it into a neighboring
group and let the group's total speak for it.
6. Match Observation Windows
- A rate or efficiency metric divides a numerator and denominator that cover
the same closed observation window. Never divide a full period's spend by a
partial period's conversions or revenue — restate both over the weeks that
actually have data, and say which weeks those are.
- Cohort rates use only cohorts whose observation window has ended. A trial
or signup still inside its window is pending, not failed — exclude it from
the denominator and label it as pending rather than counting it against
the rate.
7. Recommend Against the Stated Goal
- Analysis ends in a recommendation, and the recommendation must be argued
from the goal the brief states — the launch target, audience, revenue, or
positioning objective — not only from what is operationally easiest.
Name which stated goal each option serves and what it trades away.
---
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](references/event-library.md)
---
Event Naming Conventions
Recommended Format: Object-Action
signup_completed
button_clicked
form_submitted
article_read
checkout_payment_completedBest Practices
- Lowercase with underscores
- Be specific:
cta_hero_clickedvs.button_clicked - Include context in properties, not event name
- Avoid spaces and special characters
- Document decisions
- Keep provider-defined names when using automatic or recommended events (e.g. GA4
click,view_search_results,purchase). Map internal business names explicitly; naming a custom event does not make the provider collect it automatically.
---
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](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
Event Example
// GA4's recommended sign_up event, not a custom name, so it feeds built-in reports.
// Your tracking plan can still call this signup_completed; map the name explicitly.
gtag('event', 'sign_up', {
'method': 'email',
'plan': 'free'
});For detailed GA4 implementation: See [references/ga4-implementation.md](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](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. GA4 treats
LinkedInandlinkedinas two sources, and the split never merges back. - Hyphens between words. No spaces, underscores, or
+. Pick one separator for the whole company; this skill uses hyphens. - One spelling per source.
linkedin, never alsoliorlinkedin.com. Keep the allowed values in a shared sheet and build links from it. - No personal data. Never put emails, names, phone numbers, or user IDs in a UTM. They land in analytics reports and in referrer logs, and Google's terms prohibit sending PII to GA4.
- Specific but short:
blog-footer-cta, notcta1. - Test the final URL. Shorteners and redirects can drop or double parameters. Click the live link and check the landing URL before the campaign ships.
UTM Patterns by Partner Type
Partner links break most often because each deal gets named on the spot. Fix the pattern per partner type once: utm_medium names the kind of deal, utm_source names who sent the traffic.
| Partner type | utm_source | utm_medium | utm_campaign | utm_content |
|---|---|---|---|---|
| Newsletter | {partner} (one per partner, across all their publications) | newsletter | {partner}-{publication}-{yyyy}-{mm} | {placement}-{yyyy-mm-dd} |
| Creator (YouTube, LinkedIn, TikTok) | {platform} | creator | {creator} | {post-date} or the video ID |
| Podcast | {podcast} | podcast | {podcast}-{yyyy}-{mm} | {spot}-{yyyy-mm-dd} (pre-roll, mid-roll) |
| Affiliate | {partner} | affiliate | {partner}-affiliate | placement, if they have several |
| Community | {community} | community | {community}-{program} | the channel or post, if known |
- Use
creatoras the medium for paid creator deals, notsocial(which mixes them with your organic posts) orvideo(which mixes them with paid video ads). The platform goes inutm_source. - One link per placement. A newsletter that runs you on two dates gets two links, so each date's clicks stay separate. The monthly
utm_campaignrolls them up. - Add a custom channel group in GA4. GA4's default grouping sends mediums like
newsletter,creator,podcast, andcommunityto Unassigned (onlyaffiliateandemailmap to a default channel). Create a channel group with a rule per medium so partner traffic shows up as its own channels. - Podcast and video links often aren't clicka
… (full content is in the download package)
Related skills
- advanced-analytics-dashboard – Dashboard metric register: metric, source module, formula, period, value, target, trend…
- attribution – When the user wants to figure out which marketing actually drives conversions and…
- agentmail – Email infrastructure for AI agents. Create accounts, send/receive emails, manage…
- analytics-tracking – Set up, audit, and debug analytics tracking implementation — GA4, Google Tag Manager…
- co-marketing – When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm…
- app-store-optimization – App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor…
- cold-email – Write and run B2B cold outbound that gets replies, from cold emails and follow-ups to…
- community-marketing – Build and leverage online communities to drive product growth and brand loyalty. Use…