jasoncolapietro/suede-analytics
Suede-owned measurement discipline for tracking plans, event and conversion instrumentation, UTMs, attribution, and verification of what actually fires. Use when setting up, auditing, or repairing analytics across web, product, paid, and lifecycle surfaces. NOT FOR: experiment design or significance decisions (use suede-ab-testing), campaign optimization (use suede-ads), or revenue-process architecture (use suede-revops).
npx skills add https://github.com/JasonColapietro/suede-creator-skills --skill suede-analytics
Use this Suede measurement playbook to build tracking that supports auditable marketing and product decisions.
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:
Event Name | Category | Properties | Trigger | Notes
---------- | -------- | ---------- | ------- | -----
| 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
signup_completed
button_clicked
form_submitted
article_read
checkout_payment_completed
cta_hero_clicked vs. button_clicked| Event | Properties |
|-------|------------|
| cta_clicked | button_text, location |
| form_submitted | form_type |
| signup_completed | method, source |
| demo_requested | - |
| 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
| 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 |
gtag('event', 'signup_completed', {
'method': 'email',
'plan': 'free'
});
For detailed GA4 implementation: See references/ga4-implementation.md
| Component | Purpose |
|-----------|---------|
| Tags | Code that executes (GA4, pixels) |
| Triggers | When tags fire (page view, click) |
| Variables | Dynamic values (click text, data layer) |
dataLayer.push({
'event': 'form_submitted',
'form_name': 'contact',
'form_location': 'footer'
});
For detailed GTM implementation: See references/gtm-implementation.md
| 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 |
blog_footer_cta, not cta1| Tool | Use For |
|------|---------|
| GA4 DebugView | Real-time event monitoring |
| GTM Preview Mode | Test triggers before publish |
| Browser Extensions | Tag Assistant, dataLayer Inspector |
| Issue | Check |
|-------|-------|
| Events not firing | Trigger config, GTM loaded |
| Wrong values | Variable path, data layer structure |
| Duplicate events | Multiple containers, trigger firing twice |
Privacy, consent, retention, deletion, and identifier rules vary by
jurisdiction, audience, data type, contract, and platform configuration. Do not
treat this skill as legal advice or declare a universal consent rule.
Before implementation:
purposes, and data flows in scope.
jurisdictions and configurations; obtain qualified privacy or legal review
when the requirement is unclear or material.
behavior, access controls, and prohibited properties.
reviewed design expressly allows them, and test both allowed and denied
consent paths.
# [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 |
This pack does not ship analytics connectors. Use the user's authorized
property UI, debugger, export, API, or installed connector and verify current
official documentation before constructing a call.
| Tool category | Typical use | Required current proof |
|---------------|-------------|------------------------|
| Web analytics | Sessions, acquisition, web conversions | Debug event plus property readback |
| Product analytics | Event funnels, cohorts, retention | Schema check plus sampled event readback |
| Tag manager | Controlled client-side deployment | Preview trace plus published-version ID |
| Customer data router | Send approved events to destinations | Source receipt plus destination receipt |
| Session replay | Diagnose interaction friction | Consent, masking, sampling, and replay verification |
suede-ab-testing.suede-ads.suede-revops.suede-seo-audit.suede-analytics.Take jasoncolapietro/suede-analytics from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.