Event Tracking Plan: Name Events Once
A tracking plan is a simple table of every event you track: its name, when it fires, its properties and who owns it. It stops each tool from inventing its own names, and it makes reports trustworthy when people change.
What is an event tracking plan?
A shared document listing each event, when it fires, the properties it carries and where it is sent. Engineers implement it, marketers and product use it, and it keeps GA4, PostHog and ad pixels consistent.
| Event | Fires when | Properties | Sent to |
|---|---|---|---|
| sign_up | Account created | method, plan | GA4, PostHog, Meta, LinkedIn |
| generate_lead | Demo form submitted | form_id, company_size | GA4, CRM, ad pixels |
| project_created | First project saved | template | PostHog |
| invite_sent | Teammate invited | count | PostHog |
| purchase | Plan paid | plan, value, currency | GA4, PostHog, ad pixels |
How should you name events?
- Use object and action in snake_case: project_created, invite_sent.
- Use GA4’s recommended names where they fit, such as sign_up, generate_lead and purchase.
- Never put values in names: plan as a property, not sign_up_pro.
- Keep one list of allowed property values.
- Version the plan and log changes.
Which events should you track?
Marketing events for the site: sign-up, lead, pricing view. Activation events that show a user got value: the first project, the first invite, the first integration. Revenue events: trial start, purchase, upgrade. Activation events come from your onboarding work; see free trial activation. Campaign source comes from UTM tracking, not events.
How do you implement it?
Push events to the data layer from site code, then route them with Google Tag Manager to GA4 and ad pixels. Send product events from the app with the PostHog SDK, ideally from the backend for reliable counts. Check each event against the plan before release.
If it isn’t in the plan, it isn’t tracked.
A shared plan stops tracking from drifting into a mess nobody trusts.
How do you start a plan?
- List the five questions analytics must answer.
- Write the events and properties needed to answer them.
- Agree on names with engineering and marketing.
- Implement, test in debug tools and mark key events.
- Review the plan every quarter and remove dead events.
Frequently asked questions
What is an event tracking plan?
A shared document listing every tracked event, when it fires, its properties and where it is sent.
How should I name analytics events?
Object and action in snake_case, using GA4’s recommended names where they fit.
How many events should a SaaS product track?
Usually 10 to 20 at first: marketing, activation and revenue events.
Should event names include values?
No. Put values such as plan or source in properties.
Who owns the tracking plan?
One person, often in growth or product, with input from engineering and marketing.
Can one plan feed GA4 and PostHog?
Yes. Use the same names and properties in every tool.