A tracking plan is the single source of truth for what you measure. Without one, every analyst names events differently, nobody knows what click_2 means, and test results become arguments about data.
How to use it
- Start with questions. “Where do shoppers drop out of checkout?” “Do trial users who connect data convert to paid?” Each question needs one or more events.
- Use standard names where they exist. GA4 publishes recommended event names such as
begin_checkout,purchase,sign_upandgenerate_lead(Google Analytics Help). Use those before inventing your own. - Agree a naming convention for custom events: lowercase, underscores, verb then object, for example
filter_applyorplan_select. - Fill one row per event in a spreadsheet using the columns below.
- QA, then mark it verified. Only verified events go into test reports.
The columns
| Column | What goes in it | Example |
|---|---|---|
| Business question | Why this event exists | Where do shoppers drop out of checkout? |
| Event name | Exact name sent | add_shipping_info |
| Parameters | Name: example value | shipping_tier: "standard", value: 39.90 |
| Trigger | When it fires, precisely | Shopper submits a valid delivery option |
| Funnel step | Where it sits | Checkout step 2 of 4 |
| Platforms | Where it’s implemented | Web (GTM), app |
| Owner | Who keeps it working | Analytics lead |
| Status | Planned / built / verified | Verified |
| Last checked | Date of last QA | 2026-11-12 |
Copy the header row into Google Sheets or Excel: Business question, Event name, Parameters, Trigger, Funnel step, Platforms, Owner, Status, Last checked.
Notes
- Fewer, trusted events beat many shaky ones. Track the funnel steps and guardrails first.
- Consent affects data. If analytics depends on consent, your numbers are a sample. Note that in the plan so nobody compares them with backend totals expecting a perfect match.
- Next, write a measurement brief for your most important journey.
The checklist
Use it every time you add or change an event. Your ticks are saved in this browser only.
0 of 10 done (saved in this browser only)