Attribution breaks quietly. One editor types YouTube, another youtube, a third yt, and the report splits one channel into three.
With one creator, a naming convention lives in somebody's head and mostly holds. With twenty creators, plus editors, assistants, interns and the creators themselves pasting links into descriptions, bios and newsletters, it does not. This article sets out a convention short enough to remember and strict enough to survive that many hands.
UTM parameters (utm_source, utm_medium, utm_campaign, utm_content) are the tags on a link that tell any analytics tool where a visitor came from. They only work if everyone writes them the same way.
Why conventions drift
Attribution drifts because each person makes a small, reasonable decision on their own, with no shared list to check against. An editor copies last month's link and changes one word. An intern writes the platform name the way it appears on screen. A creator tags their newsletter email while the agency uses newsletter. Together they produce a source report like this hypothetical month for a single creator:
| utm_source | Visitors |
|---|---|
youtube | 1,980 |
newsletter | 540 |
YouTube | 412 |
ig | 319 |
instagram | 277 |
yt | 233 |
Newsletter | 188 |
email | 102 |
youtube.com | 61 |
Most analytics tools treat these values as plain text, so YouTube and youtube are two different sources. Anyone reading the top row sees 1,980 YouTube visitors. The real number is 2,686, about 36% higher, scattered across four rows. Newsletter is split three ways and Instagram two.
Repeat that across twenty creators and twelve months, and the channel report looks precise while being wrong in ways nobody can see. The fix is not a better cleanup at month end. It is fewer decisions at the moment the link is made.
The six rules
Each rule removes one decision, so two people tagging the same placement produce the same link.
1. Lowercase everything
Every value, every parameter: youtube, never YouTube. A single capital letter is enough to split a row in two, and lowercase leaves nothing to remember.
2. Sources and mediums come from a fixed list
utm_source is the platform, chosen from a short list that does not grow without a decision: youtube, instagram, tiktok, newsletter, podcast, website, x, linkedin, qr, other. Write the list down. If a value is not on it, it is wrong.
utm_medium is the kind of channel, from an even shorter list: video, social, email, audio, referral, offline. It follows the source, so youtube is always video and newsletter is always email. Shorts are still youtube; the content value tells them apart.
3. Campaign equals the lead magnet
utm_campaign names what is being offered, as a short slug: budget-spreadsheet, 12-week-plan, mic-settings-guide. Not the month, not the sponsor, not whoever made the link. The lead magnet stays fixed while videos and posts come and go, which makes it the right level to group by.
Leave the creator out: each link already opens that creator's own page. Track launches and sponsorships as a grouping on top of the links (in jeruo, a Campaign) rather than by bending the campaign name.
4. Content equals the placement
utm_content identifies the exact spot: a slug of the video title (how-i-paid-off-40k), the issue number (issue-42) or a permanent placement (link-in-bio). This is the value that says which video did the work, so it should be readable without the edit sheet.
A description link and an on-screen QR code in the same video are two links: the source tells them apart and the content ties both to the video (see how to place a QR code in a video).
5. Hyphens, never spaces
Spaces turn into %20 or + depending on the tool, and characters such as &, ? and # can break a link outright. Use lowercase letters, numbers and hyphens only. Never mix in underscores: budget-spreadsheet and budget_spreadsheet are two different campaigns.
6. No dates in names
Your analytics tool already records when every visit happened. A name like budget-spreadsheet-oct only splits one lead magnet into twelve rows a year. Filter by date range instead. If the lead magnet itself changes enough to compare old against new, name the new version budget-spreadsheet-v2, which describes the asset rather than the calendar.
The rules side by side
| Parameter | Bad | Good | Rules broken |
|---|---|---|---|
| utm_source | YouTube, yt, youtube.com | youtube | 1, 2 |
| utm_source | ig, Insta | instagram | 1, 2 |
| utm_medium | Video Content | video | 1, 2, 5 |
| utm_campaign | Oct Budget Push | budget-spreadsheet | 1, 3, 5, 6 |
| utm_campaign | alex_q4_spreadsheet | budget-spreadsheet | 3, 5, 6 |
| utm_content | video 3 | how-i-paid-off-40k | 4, 5 |
| utm_content | How I Paid Off $40K! | how-i-paid-off-40k | 1, 5 |
Put together, that video's description link carries utm_source=youtube, utm_medium=video, utm_campaign=budget-spreadsheet and utm_content=how-i-paid-off-40k. Anyone can read it a year later and know where it was placed.
Generate, do not type
Six rules are easy to agree with and hard to follow when an editor is uploading the third video of the day. Every hand-typed link is a fresh chance to drift. The reliable fix is to take typing out of the process: the person picks where the link is going from a fixed list, names the placement in plain words, and the tool writes the rest. Nobody can choose yt when the option does not exist.
That is how jeruo builds tracked links. The source comes from a fixed list, the medium follows the source, the campaign defaults to the lead magnet, and the content value is made from the placement name, so "How I paid off $40K" becomes how-i-paid-off-40k. The same parameters show up in any other analytics tool the creator uses, and the Sources page and client reports show the readable link name. Links, UTMs and QR codes are included on every plan.

Without a tool that does this, a shared spreadsheet gets you most of the way: dropdowns for source and medium, a text cell for the placement, and a formula that lowercases, hyphenates and joins them into the link. Lock every cell except the inputs.
Keeping editors and interns consistent
Rules and tools still need a routine. Four habits keep a team on it:
- One page, pinned where people work. The rules, the source list and the table above, in the shared drive and pinned in the team chat. If someone has to search for it, they will guess instead.
- Links are copied, never retyped. The upload checklist says: paste the link from the tool. Fixing a link by hand, even a typo, means making a new one.
- One owner per creator. The account manager reviews that creator's links, and new hires make their first few with that person watching.
- A five-minute weekly check. Sort the source report and look for any value not on the list. A stray
YouTubecaught in week one is a one-line fix; caught at quarter end, it is a project.
Cleaning up what you have
Most agencies adopting a convention already have months of messy data and hundreds of live links in old descriptions. Do not rewrite history. Map it.
Build a mapping table. List every value in your reports and write the value it should have been next to it: YouTube, yt, YT and youtube.com all map to youtube, and campaign names with months in them map to the lead magnet. Keep the table next to the convention page.
Apply it in reporting, not in the raw data. Many analytics and reporting tools can group or relabel values in a report without changing what was collected. If yours cannot, apply the mapping to an export. Either way the original data stays intact.
Pick a cutover date. From that day, every new link follows the convention; before it, the mapping table does the work. Write the date down so anyone reading a year-long report knows where the seam is.
Replace only the links that still get traffic. Sort placements by visits over the last 90 days, swap the top twenty or so for correctly named links, and leave the long tail to the mapping table. Keep the old links working after the swap: copies live on in shares and saved posts, and a dead link loses the viewer entirely, which is worse than a badly named one.
The short version
- Lowercase, a fixed source list, campaign equals lead magnet, content equals placement, hyphens instead of spaces, no dates.
- Write the list down and pin it where editors work. A value that is not on the list is wrong.
- Generate links instead of typing them, so the tool enforces the convention rather than everyone's memory.
- Map old values onto the new names in reporting, set a cutover date, and replace only the links that still get traffic.