OpenTrackPlan
Open standard for tracking plans
Define your analytics events in YAML with full schema validation.
Keep your tracking plan in version control, validate it in CI/CD,
and export it to JSON, YAML, or your own templates.
Think of it as OpenAPI for product analytics —
a single source of truth that keeps analysts, developers, and data teams aligned and in sync.
curl -fsSL https://opentp.dev/install | bash powershell -c "irm opentp.dev/install.ps1 | iex" opentp: 2026-09
info:
title: Acme Tracking Plan
version: 1.0.0
spec:
paths:
events:
root: /events
template: "{area}/{event}.yaml"
events:
taxonomy:
area: { title: Area, type: string }
event: { title: Event, type: string }
action: { title: Action, type: string }
payload:
targets:
all: [web, ios, android]
schema:
event_name: { type: string }
auth_method:
type: string
enum: [email, google, github] opentp: 2026-09
event:
key: auth::login_click
lifecycle:
status: active
taxonomy:
action: User clicks the login button
payload:
schema:
event_name:
value: login_click
auth_method:
required: true
example: email The Problem
- Analysts describe events in Google Docs
- Developers implement what they think was meant
- QA checks manually, missing edge cases
- Data in analytics diverges from specs
- Nobody knows which events are active or broken
The Solution
- Single source of truth in version control
- Automatic validation in CI/CD
- IDE autocompletion with JSON schemas
- Export to JSON, YAML, or your own templates
- Full history of every event change
Why OpenTrackPlan?
Validate
Catch errors before they reach production. Validate event schemas, field types, and naming conventions.
Generate
Export to JSON or YAML, render your own templates, or plug in a custom generator.
Extend
Add custom transforms, validation rules, and generators. Integrate with your existing tools.
Automate
Run the CLI in any CI pipeline. Validation errors exit non-zero and fail the build.