Every parameter is a closed list
An open field where anyone can type producespaid_social, Paid Social, and paidsocial as three channels in the same report. The values are not descriptions, they’re keys.
- Write the allowed values into UTM standards, one list per parameter.
- Adding a value is a decision someone makes on the convention page, not something typed at build time.
- Lowercase everything, and pick one separator. Most analytics tools are case sensitive and will not tell you they’re splitting your data.
The campaign name and the utm_campaign value are one decision
They have to match exactly. Build them together, from the same source values, in the same document, before either goes into a platform. If they’re produced separately by different people at different times, they will diverge, and platform spend will never join to analytics conversions.Name events before anyone implements them
An event renamed after launch splits its history in two, and no amount of care afterwards merges it back. The pattern lives in event naming conventions and gets decided before the first implementation ticket. Record every event once in the event tracking plan, with its properties, where it fires, and who owns it. An event that exists in three tickets and no plan will be implemented three slightly different ways.Verify firing, not existence
An event created in a tool is not an event firing on a page. Check the event arriving, with its properties populated, from a real click on the live page. This is the single most common gap between “tracking is set up” and “tracking works”. Same for UTMs: check the value that actually lands in analytics, not the one you pasted into the builder. Redirects strip parameters.Tag the channels people forget
Paid links get tagged because someone builds them in a platform. The ones that get missed are the ones a person pastes by hand:- Email links, including in automated sequences and signatures.
- Links in social bios and stories.
- Partner and affiliate placements.
- QR codes and print.
Match the grain to the dictionary
The marketing reporting data dictionary declares the grain each metric lives at. If events arrive at a different grain than the dictionary assumes, the flat file will still populate and every number in it will be subtly wrong. Check the two agree before the first report, not after someone questions a figure.The failures and when they surface
Every one of these is cheap to prevent and expensive to repair, because the rows already collected cannot be recovered.
Related resources
- Set up tracking The full path.
- UTM standards The workbook for tagging.
- Event tracking plan The workbook for events.
- Data quality and rollup concepts What breaks downstream.
- Campaign QA checklist Where most of this gets verified.