⚡ Promptolis Original · Data & Analytics
📝 Analytics Event Taxonomy — Naming Standards That Scale
The structured event tracking taxonomy — covering naming conventions, property standards, hierarchy design, and the 'single source of truth' framework that prevents data chaos as product + team scale.
Why this is epic
Most analytics tracking is chaos: inconsistent naming, duplicate events, missing properties. This Original produces structured taxonomy: naming conventions, property standards, governance framework.
Names the 5 taxonomy failures (inconsistent naming / missing properties / duplicate events / no governance / dev-vs-prod drift) + fixes.
Produces complete taxonomy framework with examples for common event types (Mixpanel, Amplitude, Segment, custom).
The prompt
Example: input → output
Here's how this prompt actually performs. Real input below, real output from Claude Opus 4.
<product-context>B2B SaaS, marketing automation tool. Features: email campaigns, audience segmentation, workflow automation, analytics reports.</product-context> <current-tracking>Mixpanel. ~400 events currently. Inconsistent naming (some 'click_signup', some 'Signup Clicked'). Missing properties on many events. Duplicate events for similar actions.</current-tracking> <tool>Mixpanel (primary), plus Segment for data pipeline.</tool> <team-structure>PM owns product metrics. Engineering owns implementation. No dedicated analytics person (PM + data analyst part-time).</team-structure> <key-metrics>Activation (create first campaign), retention (login weekly), expansion (add workflow), conversion (trial → paid).</key-metrics> <scale>50M events/month. 45K active users across 2,200 customer accounts.</scale> <governance-current>Informal. PMs add events when they think of them. No review process. Documentation in scattered Slack threads + Notion pages.</governance-current> <timeline>12 weeks to rebuild taxonomy + migrate to clean setup.</timeline>
Event Taxonomy: B2B SaaS Marketing Automation, 400 Events Cleanup
An event taxonomy produces structured naming + property + governance standards. Your current state (400 inconsistent events, no governance, duplicate tracking) is classic legacy chaos. This 12-week rebuild produces clean taxonomy with 80-120 curated events, proper schemas, and ongoing governance.
Core Principles + Conventions
Naming Pattern: 'Object Action'
Use 'Noun Verb' where verb is past tense for completed actions:
Examples:
Email Sent(notsendEmail,email_send)Campaign Created(notcreate_campaign)Workflow Published(notpublishWorkflow)Signup Completed(notuserSignedUp)
Why this convention:
- Scannable in Mixpanel/Amplitude interface
- Present-tense for state events ('Session Active', 'Playing Video')
- Past-tense for actions
- Reads naturally in English
Casing: Title Case With Space
- 'Campaign Created' — spaces between words, Title Case
- NOT 'campaign_created' (too engineering-y)
- NOT 'CampaignCreated' (camelCase is for code, not event names)
Properties: snake_case
campaign_type: stringsubscriber_count: integeris_scheduled: booleanrevenue_impacted: float
Property Values: Standardized
- Strings: lowercase, underscore-separated for multi-word
- ✓ 'email_campaign' ✗ 'Email Campaign'
- Enums: pre-defined list
- Booleans: true/false (not 'yes'/'no')
- Numbers: appropriate type (integer vs. float)
Timestamps: ISO 8601
scheduled_at: '2026-04-15T10:30:00Z'- Always UTC
- Timezone handled at display, not storage
Event Hierarchy
Organize by feature + lifecycle:
Onboarding Events
- Signup Started
- Signup Completed
- Email Verified
- Onboarding Started
- Onboarding Step Completed
- Onboarding Completed
Campaign Events
- Campaign Created
- Campaign Edited
- Campaign Scheduled
- Campaign Sent
- Campaign Paused
- Campaign Deleted
Audience Events
- Segment Created
- Segment Applied
- Segment Updated
- Contact Imported
- Contact Deleted
Workflow Events
- Workflow Created
- Workflow Step Added
- Workflow Published
- Workflow Paused
- Workflow Completed
- Workflow Error Occurred
Analytics Events
- Report Viewed
- Report Shared
- Report Exported
- Dashboard Created
Account Events
- Plan Upgraded
- Plan Downgraded
- Billing Issue Occurred
- Trial Ended
Integration Events
- Integration Connected
- Integration Disconnected
- Integration Failed
Lifecycle Meta-Events
- Session Started
- Session Ended
- User Invited
- User Activated
Total events (curated): ~80-120. Down from 400.
Common Events (Full Specifications)
Event: Campaign Created
Description: User creates a new marketing campaign.
Trigger: User clicks 'Create Campaign' in app + completes required fields.
Properties:
| Property | Type | Required | Example | Description |
|---|---|---|---|---|
| campaign_id | string | Yes | 'camp_abc123' | Unique campaign ID |
| campaign_type | enum | Yes | 'email' | email/sms/push/etc. |
| subscriber_count | integer | Yes | 1500 | Audience size |
| is_scheduled | boolean | Yes | true | Immediate vs. scheduled send |
| template_used | string | No | 'newsletter_v2' | If using template |
| revenue_tracking_enabled | boolean | Yes | false | Whether revenue attribution on |
| created_by_role | enum | Yes | 'admin' | admin/editor/viewer |
| plan_tier | enum | Yes | 'pro' | free/starter/pro/enterprise |
Owner: Product Manager — Email Campaigns
Metrics this supports:
- Activation: % of users who create first campaign within 7 days
- Engagement: campaigns created per week per user
- Feature adoption: template usage rate
Event: Workflow Published
Description: User publishes a workflow automation.
Properties:
| Property | Type | Required | Example |
|---|---|---|---|
| workflow_id | string | Yes | 'wf_xyz789' |
| workflow_type | enum | Yes | 'drip_campaign' |
| step_count | integer | Yes | 5 |
| trigger_type | enum | Yes | 'user_signup' |
| estimated_monthly_volume | integer | No | 2000 |
| uses_conditional_logic | boolean | Yes | true |
| uses_integrations | array | No | ['hubspot', 'slack'] |
Owner: Product Manager — Automation
Property Standards
Always-Required Properties (Global)
Every event has:
event_id: unique identifier (auto-generated)user_id: authenticated user IDcompany_id: customer account ID (for B2B)timestamp: ISO 8601 UTCplan_tier: current subscription plansession_id: current sessionsource_platform: web/ios/android/api
Conditionally-Required Properties
For events involving:
- Content: content_id + content_type
- Actions on other users: target_user_id
- Financial: revenue_amount + currency_code
- Location: country + region (when relevant)
Property Naming
idsuffix for identifiers:user_id,campaign_idcountsuffix for counts:subscriber_countis_*orhas_*for booleans:is_scheduled,has_attachments- Consistent across events:
plan_tiernot 'subscription_level'
Governance Framework
Roles
Analytics Committee (meets monthly):
- Head of Product (chair)
- Engineering lead
- Data analyst
- Product managers (rotating)
Event Owner (per event):
- Typically feature PM
- Responsible for: definition, property schema, deprecation
Process
New event request:
1. PM submits event request via template (name, purpose, properties, why needed)
2. Review in weekly taxonomy meeting (or async approval)
3. Approve or adjust
4. Engineering implements (must match approved spec)
5. QA verifies in staging
6. Production release + monitoring
Event deprecation:
1. Event unused for 90 days → auto-flag
2. Owner reviews: still needed?
3. If yes → continue. If no → deprecate.
4. Deprecation notice (2 months) before removal.
5. Archive documentation.
Quarterly review:
- All events reviewed for usage + relevance
- Duplicates identified + consolidated
- Properties audited for consistency
- Taxonomy document updated
Documentation
Single source of truth: Notion page or internal wiki, version-controlled.
Per-event entry:
- Name
- Description
- Trigger
- Properties (with types)
- Owner
- Created date
- Status (active/deprecated)
- Last reviewed date
- Related events
Implementation Plan (12-Week Rebuild)
Week 1-3: Audit + Design
- Inventory all 400 current events
- Classify: keep / consolidate / deprecate
- Design target ~100 events taxonomy
- Write full specifications
Week 4-6: Documentation + Approval
- Create event catalog
- Stakeholder reviews (PMs, eng, analysts)
- Final approval
- Schema documentation in Notion
Week 7-9: Engineering Implementation
- Update tracking code to match new taxonomy
- Test in staging
- Parallel run (old + new events) for 2 weeks
- Verify data integrity
Week 10-12: Migration + Cleanup
- Switch production to new taxonomy
- Deprecate old events (90-day retention for historical)
- Update dashboards + analyses
- Train team on new taxonomy
- Establish governance cadence
Post-launch: quarterly review + governance ongoing.
Schema Document Template
Event name: [Object Action]
Description: [1-2 sentences on what triggers it + why tracked]
Trigger: [Specific user action]
Properties:
required:
- property_name (type): description
- another_property (type): description
optional:
- optional_prop (type): description
Owner: [Name + role]
Metrics supported:
- [What metrics this event enables]
Related events:
- [Events in same flow]
Status: active / deprecated / planned
Created: [date]
Last reviewed: [date]
Key Takeaways
- Cut from 400 inconsistent events to 80-120 curated events with proper schemas. Consolidation + deprecation + standards = clean analytics foundation.
- Naming convention: 'Object Action' in Title Case (e.g., 'Campaign Created'). Properties in snake_case. Past tense for actions, present for states.
- Every event has owner (typically PM) + schema (properties with types) + documentation. Single source of truth in Notion, version-controlled.
- Governance: monthly Analytics Committee review, 90-day auto-deprecation for unused events, quarterly full audit. Prevents re-slide into chaos.
- 12-week migration: Week 1-3 design, Week 4-6 documentation, Week 7-9 engineering, Week 10-12 migration. Parallel-run period ensures data continuity.
Common use cases
- Teams starting analytics from scratch
- Companies consolidating multiple tracking tools
- Data teams cleaning up legacy tracking
- Product teams aligning on shared metrics
- Pre-major-analytics-investment preparation
Best AI model for this
Claude Opus 4 or Sonnet 4.5. Event taxonomy requires data architecture + product + engineering understanding. Top-tier reasoning matters.
Pro tips
- Naming: action_object pattern (e.g., 'Viewed Product', 'Clicked Signup').
- Past tense for completed actions: 'Viewed', 'Clicked', 'Completed'.
- Present tense for ongoing: 'Playing Video', 'Session Active'.
- Properties are typed (string, number, boolean). Enforce schemas.
- Properties have naming conventions. Snake_case consistent.
- Schema document IS the source of truth. Version-control it.
- Every event has owner. Product manager typically.
- Review taxonomy quarterly. Archive unused events.
Customization tips
- Don't skip the property schema part. Most taxonomies have event naming but skip property standardization — creates hidden inconsistencies.
- For multi-product companies: prefix events with product name ('Marketing Campaign Created' vs. 'Sales Campaign Created') OR use separate projects in analytics tool.
- Automate event validation in code. TypeScript types + analytics library (e.g., Typewriter by Segment) catches errors at development time.
- Post-migration, establish 'analytics office hours' for first 60 days. Questions arise as teams adjust to new taxonomy.
- Document 'WHY' behind events, not just 'WHAT.' Future teams thanks you when they need to understand intent.
Variants
New Analytics Setup
Starting from scratch.
Legacy Cleanup
Consolidating inconsistent tracking.
Multi-Product Taxonomy
For companies with multiple products.
B2B2C Taxonomy
Company + customer-of-customer hierarchy.
Frequently asked questions
How do I use the Analytics Event Taxonomy — Naming Standards That Scale prompt?
Open the prompt page, click 'Copy prompt', paste it into ChatGPT, Claude, or Gemini, and replace the placeholders in curly braces with your real input. The prompt is also launchable directly in each model with one click.
Which AI model works best with Analytics Event Taxonomy — Naming Standards That Scale?
Claude Opus 4 or Sonnet 4.5. Event taxonomy requires data architecture + product + engineering understanding. Top-tier reasoning matters.
Can I customize the Analytics Event Taxonomy — Naming Standards That Scale prompt for my use case?
Yes — every Promptolis Original is designed to be customized. Key levers: Naming: action_object pattern (e.g., 'Viewed Product', 'Clicked Signup').; Past tense for completed actions: 'Viewed', 'Clicked', 'Completed'.
Explore more Originals
Hand-crafted 2026-grade prompts that actually change how you work.
← All Promptolis Originals