Files
claude-skills-reference/marketing-skill/analytics-tracking/references/event-taxonomy-guide.md
Alireza Rezvani 52321c86bc feat: Marketing Division expansion — 7 → 42 skills (#266)
* feat: Skill Authoring Standard + Marketing Expansion plans

SKILL-AUTHORING-STANDARD.md — the DNA of every skill in this repo:
10 universal patterns codified from C-Suite innovations + Corey Haines' marketingskills patterns:

1. Context-First: check domain context, ask only for gaps
2. Practitioner Voice: expert persona, goal-oriented, not textbook
3. Multi-Mode Workflows: build from scratch / optimize existing / situation-specific
4. Related Skills Navigation: when to use, when NOT to, bidirectional
5. Reference Separation: SKILL.md lean (≤10KB), refs deep
6. Proactive Triggers: surface issues without being asked
7. Output Artifacts: request → specific deliverable mapping
8. Quality Loop: self-verify, confidence tagging
9. Communication Standard: bottom line first, structured output
10. Python Tools: stdlib-only, CLI-first, JSON output, sample data

Marketing expansion plans for 40-skill marketing division build.

* feat: marketing foundation — context + ops router + authoring standard

marketing-context/: Foundation skill every marketing skill reads first
  - SKILL.md: 3 modes (auto-draft, guided interview, update)
  - templates/marketing-context-template.md: 14 sections covering
    product, audience, personas, pain points, competitive landscape,
    differentiation, objections, switching dynamics, customer language
    (verbatim), brand voice, style guide, proof points, SEO context, goals
  - scripts/context_validator.py: Scores completeness 0-100, section-by-section

marketing-ops/: Central router for 40-skill marketing ecosystem
  - Full routing matrix: 7 pods + cross-domain routing to 6 skills in
    business-growth, product-team, engineering-team, c-level-advisor
  - Campaign orchestration sequences (launch, content, CRO sprint)
  - Quality gate matching C-Suite standard
  - scripts/campaign_tracker.py: Campaign status tracking with progress,
    overdue detection, pod coverage, blocker identification

SKILL-AUTHORING-STANDARD.md: Universal DNA for all skills
  - 10 patterns: context-first, practitioner voice, multi-mode workflows,
    related skills navigation, reference separation, proactive triggers,
    output artifacts, quality loop, communication standard, python tools
  - Quality checklist for skill completion verification
  - Domain context file mapping for all 5 domains

* feat: import 20 workspace marketing skills + standard sections

Imported 20 marketing skills from OpenClaw workspace into repo:

Content Pod (5):
  content-strategy, copywriting, copy-editing, social-content, marketing-ideas

SEO Pod (2):
  seo-audit (+ references enriched by subagent), programmatic-seo (+ refs)

CRO Pod (5):
  page-cro, form-cro, signup-flow-cro, onboarding-cro, popup-cro, paywall-upgrade-cro

Channels Pod (2):
  email-sequence, paid-ads

Growth + Intel + GTM (5):
  ab-test-setup, competitor-alternatives, marketing-psychology, launch-strategy, brand-guidelines

All 29 skills now have standard sections per SKILL-AUTHORING-STANDARD.md:
   Proactive Triggers (4-5 per skill)
   Output Artifacts table
   Communication standard reference
   Related Skills with WHEN/NOT disambiguation

Subagents enriched 8 skills with additional reference docs:
  seo-audit, programmatic-seo, page-cro, form-cro,
  onboarding-cro, popup-cro, paywall-upgrade-cro, email-sequence

43 files, 10,566 lines added.

* feat: build 13 new marketing skills + social-media-manager upgrade

All skills are 100% original work — inspired by industry best practices,
written from scratch in our own voice following SKILL-AUTHORING-STANDARD.md.

NEW Content Pod (2):
  content-production — full research→draft→optimize pipeline, content_scorer.py
  content-humanizer — AI pattern detection + voice injection, humanizer_scorer.py

NEW SEO Pod (3):
  ai-seo — AI search optimization (AEO/GEO/LLMO), entirely new category
  schema-markup — JSON-LD structured data, schema_validator.py
  site-architecture — URL structure + internal linking, sitemap_analyzer.py

NEW Channels Pod (2):
  cold-email — B2B outreach (distinct from email-sequence lifecycle)
  ad-creative — bulk ad generation + platform specs, ad_copy_validator.py

NEW Growth Pod (3):
  churn-prevention — cancel flows + save offers + dunning, churn_impact_calculator.py
  referral-program — referral + affiliate programs
  free-tool-strategy — engineering as marketing

NEW Intelligence Pod (1):
  analytics-tracking — GA4/GTM setup + event taxonomy, tracking_plan_generator.py

NEW Sales Pod (1):
  pricing-strategy — pricing, packaging, monetization

UPGRADED:
  social-media-analyzer → social-media-manager (strategy, calendar, community)

Totals: 42 skills, 27 Python scripts, 60 reference docs, 163 files, 43,265 lines

* feat: update index, marketplace, README for 42 marketing skills

- skills-index.json: 89 → 124 skills (42 marketing entries)
- marketplace.json: marketing-skills v2.0.0 (42 skills, 27 tools)
- README.md: badge 134 → 169, marketing row updated
- prompt-engineer-toolkit: added YAML frontmatter
- Removed build logs from repo
- Parity check: 42/42 passed (YAML + Related + Proactive + Output + Communication)

* fix: merge content-creator into content-production, split marketing-psychology

Quality audit fixes:

1. content-creator → DEPRECATED redirect
   - Scripts (brand_voice_analyzer.py, seo_optimizer.py) moved to content-production
   - SKILL.md replaced with redirect to content-production + content-strategy
   - Eliminates duplicate routing confusion

2. marketing-psychology → 24KB split to 6.8KB + reference
   - 70+ mental models moved to references/mental-models-catalog.md (397 lines)
   - SKILL.md now lean: categories overview, most-used models, quick reference
   - Saves ~4,300 tokens per invocation

* feat: add plugin configs, Codex/OpenClaw compatibility, ClawHub packaging

- marketing-skill/SKILL.md: ClawHub-compatible root with Quick Start for Claude Code, Codex CLI, OpenClaw
- marketing-skill/CLAUDE.md: Agent instructions (routing, context, anti-patterns)
- marketing-skill/.codex/instructions.md: Codex CLI skill routing
- .claude-plugin/marketplace.json: deduplicated, marketing-skills v2.0.0
- .codex/skills-index.json: content-creator marked deprecated, psychology updated
- Total: 42 skills, 27 Python tools, 60 references, 18 plugins

* feat: add 16 Python tools to knowledge-only skills

Enriched 12 previously tool-less skills with practical Python scripts:
- seo-audit/seo_checker.py — HTML on-page SEO analysis (0-100)
- copywriting/headline_scorer.py — headline quality scoring (0-100)
- copy-editing/readability_scorer.py — Flesch + passive + filler detection
- content-strategy/topic_cluster_mapper.py — keyword clustering
- page-cro/conversion_audit.py — HTML CRO signal analysis (0-100)
- paid-ads/roas_calculator.py — ROAS/CPA/CPL calculator
- email-sequence/sequence_analyzer.py — email sequence scoring (0-100)
- form-cro/form_field_analyzer.py — form field CRO audit (0-100)
- onboarding-cro/activation_funnel_analyzer.py — funnel drop-off analysis
- programmatic-seo/url_pattern_generator.py — URL pattern planning
- ab-test-setup/sample_size_calculator.py — statistical sample sizing
- signup-flow-cro/funnel_drop_analyzer.py — signup funnel analysis
- launch-strategy/launch_readiness_scorer.py — launch checklist scoring
- competitor-alternatives/comparison_matrix_builder.py — feature comparison
- social-media-manager/social_calendar_generator.py — content calendar
- readability_scorer.py — fixed demo mode for non-TTY execution

All 43/43 scripts pass execution. All stdlib-only, zero pip installs.
Total: 42 skills, 43 Python tools, 60+ reference docs.

* feat: add 3 more Python tools + improve 6 existing scripts

New tools from build agent:
- email-sequence/scripts/sequence_analyzer.py — email sequence scoring (91/100 demo)
- paid-ads/scripts/roas_calculator.py — ROAS/CPA/CPL/break-even calculator
- competitor-alternatives/scripts/comparison_matrix_builder.py — feature matrix

Improved scripts (better demo modes, fuller analysis):
- seo_checker.py, headline_scorer.py, readability_scorer.py,
  conversion_audit.py, topic_cluster_mapper.py, launch_readiness_scorer.py

Total: 42 skills, 47 Python tools, all passing.

* fix: remove duplicate scripts from deprecated content-creator

Scripts already live in content-production/scripts/. The content-creator
directory is now a pure redirect (SKILL.md only + legacy assets/refs).

* fix: scope VirusTotal scan to executable files only

Skip scanning .md, .py, .json, .yml — they're plain text files
that VirusTotal can't meaningfully analyze. This prevents 429 rate
limit errors on PRs with many text file changes (like 42 marketing skills).

Scan still covers: .js, .ts, .sh, .mjs, .cjs, .exe, .dll, .so, .bin, .wasm

---------

Co-authored-by: Leo <leo@openclaw.ai>
2026-03-06 03:56:16 +01:00

7.7 KiB

Event Taxonomy Guide

Complete reference for naming conventions, event structure, and parameter standards.


Why Taxonomy Matters

Analytics data is only as good as its naming consistency. A tracking system with FormSubmit, form_submit, form-submitted, and formSubmitted as four separate "events" is useless for aggregation. One naming standard, enforced from day one, avoids months of cleanup later.

This guide is the reference for that standard.


Naming Convention: Full Specification

Format

[object]_[action]

Object = the thing being acted upon (noun) Action = what happened (verb, past tense or gerund)

Casing & Characters

Rule Correct Wrong
Lowercase only video_started Video_Started, VIDEO_STARTED
Underscores only form_submit form-submit, formSubmit
Noun before verb plan_selected selected_plan
Past tense or clear state checkout_completed checkout_complete, checkoutDone
Specific > generic trial_started event_triggered
Max 4 words onboarding_step_completed user_completed_an_onboarding_step_in_the_flow

Action Vocabulary (Standard Verbs)

Use these verbs consistently — don't invent synonyms:

Verb Use for
_started Beginning of a multi-step process
_completed Successful completion of a process
_failed An attempt that errored out
_submitted Form or data submission
_viewed Passive view of a page, modal, or content
_clicked Direct click on a specific element
_selected Choosing from options (plan, variant, filter)
_opened Modal, drawer, chat window opened
_closed Modal, drawer, chat window closed
_downloaded File download
_activated Feature turned on for first time
_upgraded Plan or feature upgrade
_cancelled Intentional termination
_dismissed User explicitly closed/ignored a prompt
_searched Search query submitted

Complete SaaS Event Catalog

Acquisition Events

Event Required Parameters Optional Parameters
ad_clicked utm_source, utm_campaign utm_content, utm_term
landing_page_viewed page_location, utm_source variant (A/B)
pricing_viewed page_location referrer_page
demo_requested source (page slug or section) plan_interest
content_downloaded content_name, content_type gated (boolean)

Acquisition → Registration

Event Required Parameters Optional Parameters
signup_started plan_name, method
signup_completed method user_id, plan_name
email_verified method
trial_started plan_name trial_length_days
invitation_accepted inviter_user_id plan_name

Onboarding Events

Event Required Parameters Optional Parameters
onboarding_started onboarding_variant
onboarding_step_completed step_name, step_number time_spent_seconds
onboarding_completed steps_total time_to_complete_seconds
onboarding_skipped step_name step_number
feature_activated feature_name activation_method
integration_connected integration_name integration_type
team_member_invited invite_method

Conversion Events

Event Required Parameters Optional Parameters
plan_selected plan_name, billing_period previous_plan
checkout_started plan_name, value, currency billing_period
checkout_completed plan_name, value, currency, transaction_id billing_period, coupon_code
checkout_failed plan_name, error_reason value, currency
upgrade_completed from_plan, to_plan, value, currency trigger
coupon_applied coupon_code, discount_value plan_name

Engagement Events

Event Required Parameters Optional Parameters
feature_used feature_name feature_area, usage_count
search_performed search_term results_count, search_area
filter_applied filter_name, filter_value result_count
export_completed export_type, export_format record_count
report_generated report_name date_range
notification_clicked notification_type notification_id

Retention Events

Event Required Parameters Optional Parameters
subscription_cancelled cancel_reason plan_name, save_offer_shown, save_offer_accepted
save_offer_accepted offer_type plan_name, discount_pct
subscription_paused pause_duration_days pause_reason
subscription_reactivated plan_name, days_since_cancel
churn_risk_detected risk_score, risk_signals

Support / Help Events

Event Required Parameters Optional Parameters
help_article_viewed article_name article_id, source
chat_opened page_location, trigger
support_ticket_submitted ticket_category severity
error_encountered error_type, error_message page_location, feature_name

Custom Dimensions & Metrics

GA4 limits: 50 custom dimensions (event-scoped), 25 user-scoped, 50 item-scoped. Prioritize the ones that matter for segmentation.

Dimension Name Parameter Example Values
User ID user_id usr_abc123
Plan Name plan_name starter, professional, enterprise
Billing Period billing_period monthly, annual
Account Created Date account_created_date 2024-03-15
Onboarding Completed onboarding_completed true, false
Company Size company_size 1-10, 11-50, 51-200
Dimension Name Parameter Used In
Cancel Reason cancel_reason subscription_cancelled
Feature Name feature_name feature_used, feature_activated
Content Name content_name content_downloaded
Signup Method method signup_completed
Error Type error_type error_encountered

Taxonomy Governance

The Tracking Plan Document

Maintain a single tracking plan document (Google Sheet or Notion table) with:

Column Values
Event Name e.g., checkout_completed
Trigger "User completes Stripe checkout"
Parameters {value, currency, plan_name, transaction_id}
Implemented In GTM / App code / server
Status Draft / Implemented / Verified
Owner Engineering / Marketing / Product

Change Protocol

  1. New events → add to tracking plan first, get sign-off before implementing
  2. Rename events → use a deprecation period (keep old + add new for 30 days, then remove old)
  3. Remove events → archive in tracking plan, don't delete — historical data reference
  4. Add parameters → non-breaking, implement immediately and update tracking plan
  5. Remove parameters → treat as rename (deprecation period)

Versioning

Include schema_version as a parameter on critical events if your taxonomy evolves rapidly:

window.dataLayer.push({
  event: 'checkout_completed',
  schema_version: 'v2',
  value: 99,
  currency: 'USD',
  // ...
});

This allows filtering old vs. new schema during migrations.