The short answer
Tagging fails through inconsistency rather than through absence. Facebook, facebook and FB become three sources, and a quarter later nobody can total a channel without cleaning the data first.
Fix it with a written convention and a generator, not with discipline.
The rules worth fixing
- Lower case everywhere, always
- Hyphens rather than spaces or underscores, consistently
- A fixed list of source values, not free text
- A fixed list of medium values, which is the one people invent
- Campaign names with a date or a code, so they sort and stay unique
- No personal data in any parameter, ever
The last one matters more than it sounds. Parameters end up in analytics, logs and referrer headers, and putting an email address or a name in one is a data protection problem rather than an untidy habit.
Tags that break attribution
| Mistake | Effect |
|---|---|
| Tagging internal links | Overwrites the real source mid-session |
| Tagging the same campaign differently per platform | Cannot total the channel |
| Using medium for the campaign name | Reporting groups incorrectly |
| Adding tags to paid links the platform already tracks | Double counting or conflict |
| Inconsistent casing | Fragments every report |
The first row is the most damaging and the most common. Tagging a link inside your own site restarts attribution and credits the internal link rather than the campaign that brought the person in.
Generate, do not type
- Write the convention down in one place everyone can reach.
- Build a simple form or sheet that produces the tagged URL.
- Restrict source and medium to a dropdown.
- Keep a log of campaigns created, so names stay unique.
- Check the analytics report monthly for values outside the convention.
Point five is what keeps it working. New people and new agencies arrive and invent their own values, and the monthly check catches it before a quarter of data is fragmented.
Keep it with the enquiry
Reporting in the analytics tool is useful; recording the campaign against the enquiry itself is what lets you answer which campaign produced revenue.
Store the tags as hidden fields with each submission. It costs almost nothing and it is the difference between measuring traffic and measuring business.