Traffic attribution breaks when you rely on a single UTM parameter

black and white wooden signage

Written by

in

You slap a ?utm_source=twitter on a link, post it, and watch Google Analytics log the visits. Job done. Except when you want to know which tweet drove traffic, or whether the thread performed better than the standalone post, you’re looking at an aggregate number that tells you nothing.

Single-parameter UTM tagging is the norm because it’s fast. But it collapses every variation of a campaign into one bucket. When you run the same link across multiple posts, test different copy, or repost content weeks later, you lose the ability to see what actually worked.

Why one parameter isn’t enough

UTM parameters exist in sets: source, medium, campaign, term, and content. Most operators use only source, sometimes medium. That’s enough to tell you traffic came from Twitter or your newsletter, but it won’t help you answer:

  • Did the morning post outperform the evening one?
  • Which subject line variation drove more clicks?
  • Is this week’s guest post pulling better than last month’s?

Without campaign and content tags, you’re aggregating everything from a source into one line item. If you’re running any kind of test—creative, timing, format—you’re flying blind.

What to track in each parameter

Here’s a structure that scales without getting obsessive:

utm_source: The platform. twitter, linkedin, newsletter, reddit. Keep it consistent. Don’t use Twitter one week and twitter the next—analytics tools are case-sensitive and will split them into separate sources.

utm_medium: The format or channel type. social, email, paid, organic. This groups sources into broader buckets and makes cross-channel comparisons possible.

utm_campaign: The specific push or theme. product-launch-june, weekly-roundup-24, black-friday-2026. This is your container for everything related to one coordinated effort.

utm_content: The variable you’re testing or the specific placement. thread-version-a, header-link, ps-cta. This is where you differentiate two posts in the same campaign.

Example: You’re running a product launch. You post on Twitter three times over two days—morning thread, afternoon standalone, evening reply-guy style. Tag them:

  • ?utm_source=twitter&utm_medium=social&utm_campaign=product-launch-june&utm_content=morning-thread
  • ?utm_source=twitter&utm_medium=social&utm_campaign=product-launch-june&utm_content=afternoon-standalone
  • ?utm_source=twitter&utm_medium=social&utm_campaign=product-launch-june&utm_content=evening-reply

Now your analytics show not just that Twitter drove 150 visits, but that the morning thread drove 90, the afternoon post drove 40, and the evening reply drove 20. You know what to repeat.

Common mistakes that break tracking

Inconsistent naming. utm_source=Twitter and utm_source=twitter appear as two separate sources. Pick lowercase-with-hyphens and stick to it. Same goes for campaigns: launch_june and launch-june are different.

Overloading utm_content. Don’t stuff timestamps, user IDs, or session tokens into this field. It’s for human-readable variants, not programmatic tracking. If you need per-user attribution, use a separate query parameter and log it server-side.

Tagging internal links. Don’t add UTM parameters to links between pages on your own site unless you’re running a specific cross-domain campaign. It resets the session and attributes internal navigation as a new traffic source, which destroys your funnel data.

Not documenting your taxonomy. Six months from now, you won’t remember whether utm_campaign=june-launch or utm_campaign=product-launch-june was the one you used. Keep a spreadsheet or a Notion page with every active campaign and its naming convention.

When to simplify

If you’re posting a link once and never again, a single utm_source is fine. If you’re sharing a static resource—like a media kit or a one-time freebie—you don’t need campaign-level granularity.

But the moment you’re testing anything—post timing, copy, format, audience segment—you need at least three parameters: source, campaign, and content.

Traffic attribution only works when you can compare apples to apples. A single UTM parameter turns every variation into the same apple. Add two more, and you’ll finally see what’s working.

Want more breakdowns like this? Subscribe to One Two Three Send for weekly deep-dives on the tools and tactics that actually move the needle for solo operators.

Other newsletters you might like

My Local Dublin

Dublin Ireland – Explore the city and find things to do, places to see and food to eat.

Subscribe

Love Netherlands

Canal towns, hidden villages, Dutch stories — a slow, loving look at the Netherlands, written by the people who love it most.

Subscribe

Love South Africa

South Africa as a travel destination. The Rainbow nation full of wonderful gems to visit. Going on Safari in the Kruger National Park, visiting the beautiful beaches of Cape Town, indulge in the South African culture and heritage.

Subscribe

Love London

A newsletter for Londoners who want to rediscover their own city. Travellers planning their first or fifth visit. Anglophiles who fell in love with London through literature, film, or a rainy afternoon on the South Bank.

Subscribe

Newsletters via the One Two Three Send network.  ·  Want your newsletter featured here? Click here