Skip to main content
Terminus
Contents
The Letter's JourneyChapter 5 · ~10 min read

Who Writes the Link

Every channel runs on the same rules. What differs is who writes the final link (you, a platform, a redirect, a printer) and what can change it on the way to the address bar.

On this page
The chapter in 4 min, as a video.Next video: Chapter 6 · Ad Platform Names →

March 1, early. The spring sale goes live today, and Dana has five links built from one list and three places to paste them: the newsletter, a Facebook ad, and a QR code on a display at Fleet Feet in New York.

Chapter 2 opened on this same morning from the customer’s side, one tap on the hero image. This is Dana’s side, with her values set.

You have the letter and its structure. How does it get onto every link you ship, channel by channel?

The usual answer: each channel has its own rules, so each gets its own playbook. Email gets a page, Facebook gets a page, print gets a page, each written by whoever runs that channel.

Then the pages drift. The email page says one thing about content values, the social page says another.

And none of them covers the moment that breaks launches: after the link leaves your hands. A platform tags over it. A redirect drops it. An ad platform fills it in from names nobody checked.

Channels don’t differ in the rules. They differ in who writes the final link, and what can change it on the way.

Start with what stays the same. Stride’s rules come from one sheet: one closed list of sources and mediums, one campaign pattern. The spring sale is spring_sale-runners-2025_03, and it’s the exact string in every channel, because Chapter 3 showed what one different character costs: a second row, split from the first in every report.

utm_campaign

spring_sale-runners-2025_03

  • Newsletter

    source
    newsletter
    medium
    email
  • Facebook ad

    source
    facebook
    medium
    paid_social
  • QR code at Fleet Feet NYC

    source
    retail_display
    medium
    offline
One campaign value in every channel. Source and medium change by channel, and all of them come from the same list.

Who decides that value once, before anyone builds a link, is Chapter 9’s question. Here it’s a given.

Now the five links, as Dana built them:

  • three in the newsletter, with utm_content set to hero-image, cta-shop_now and footer-link
  • one in the Facebook ad, where the campaign and content are placeholders: utm_campaign={{campaign.name}}&utm_content={{ad.name}}
  • one on the QR code, source retail_display and content fleet_feet_nyc-qr_code, printed as the short link stride.co/nyc25

Same rules on all five. Same campaign value on all five. Which of them reach the visitor’s address bar exactly as Dana built them?

Decide before you open it.

Show who writes each one
The linkWho writes the final linkWhat can change it on the way
Newsletter, hero-imageDana, and the email platform if its tagging is onclick tracking, if it routes clicks through a redirect
Newsletter, cta-shop_nowthe samethe same
Newsletter, footer-linkthe samethe same
Facebook adDana (source, medium); Meta (campaign, content)Facebook adds fbclid
QR code, stride.co/nyc25the redirectnothing on the printed code

The newsletter links are the only ones nobody else writes on, and only because the email platform’s own tagging is off. Turned on, it would write its source over Dana’s, or beside it. The Facebook ad arrives with a campaign and content Meta wrote from its own names, spring_sale-runners-2025_03 and video-testimonial-15sec, plus a click ID Dana never added. The QR code arrives as whatever the redirect sends.

Nothing in that table is a rule. The rules were the same on all five links.

Everything that differs is who writes the final link, and what can change it.

The link you build is a draft. The final link is the one in the visitor’s address bar when the page loads, and it’s the only one analytics ever reads.

Five kinds of writer can produce it:

  1. You: you paste the link as built, and nothing downstream touches it, like the newsletter’s links with the platform’s tagging off.
  2. A platform that tags for you: it writes UTMs onto every link it sends, with its own defaults or whatever its settings allow.
  3. A platform that fills values in: Dana writes utm_campaign={{campaign.name}} as a dynamic value, a placeholder the ad platform replaces with its own campaign name. The link says whatever the campaign is called.
  4. A redirect: a link shortener is one. stride.co/nyc25 sends the browser on to the address it was told to, and the parameters arrive only if they’re written into that address. Nothing carries over by itself.
  5. The printer: once the code is on the display, the link inside it can’t change at all. So QR code tracking is a printed link plus whatever redirect sits behind it.

Here is the QR code’s route, with every writer on it:

  1. 1The printed code

    on the Fleet Feet NYC display, fixed the day it was printed

  2. 2The short link

    stride.co/nyc25

  3. 3The redirect

    sends the browser to the address it was given, and nothing else

  4. 4The address bar

    stride.com/spring-sale?utm_source=retail_display&utm_medium=offline&utm_campaign=spring_sale-runners-2025_03&utm_content=fleet_feet_nyc-qr_code

The tags in step 4 exist only because someone wrote them into the redirect. The code itself carries none of them.

A writer composes the link. Other things can change it in transit, and each of those is a URL rewrite. It comes in three kinds:

  1. Wrap. The platform sends the click through its own redirect first, then on to your link. An email platform that counts clicks this way is one example. Your tags arrive only if that extra hop passes the query string on, so a wrap does no harm until it drops something.
  2. Add. The platform adds a parameter of its own, such as Facebook’s click ID, fbclid, from Chapter 2.
  3. Drop. A redirect or a tool doesn’t carry the query string forward, and your tags are gone. After a QR scan nothing else is left, because a scan sends no referrer (Chapter 2).

The Introduction said an envelope can be swapped or lost on the way. Every writer and every rewrite above is a hand it passes through.

Give every slot one writer

For any channel where a platform can tag, you have three ways to run it:

Who writes the UTMsWhat it costsIt fits when
You, by handevery link built and pasted; the platform’s tagging turned offyou want your own values in every slot, and a content value on every link
The platformno work per link; the values are whatever its settings can writeits settings can write the values on your list
Both, on purposea decision for each linkyou tag the links that need your values, and the platform tags only links that carry none, if it offers that setting

Any of the three holds up when the owner of each slot is decided before the launch.

The fourth way is the one nobody picks: both, by accident. The collisions live there.

Two values in one slot. Dana tags the hero link utm_source=newsletter. Say the email platform’s tagging were on, set to write mailchimp as the source. The clicked link can come out two ways.

stride.com/spring-sale?utm_source=mailchimp&utm_medium=email&utm_campaign=spring_sale-runners-2025_03&utm_content=hero-image

Overwritten: the platform's source replaced Dana's.

Her value is gone, and the report shows a source that isn’t on her list.

stride.com/spring-sale?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale-runners-2025_03&utm_content=hero-image&utm_source=mailchimp

Added beside: two sources in one link, hers first and the platform's last.

With two sources, nothing in a link says which one counts. The standard that defines URLs gives a repeated key no meaning, so the tool reading the link decides for itself.

A second envelope. Auto-tagging names two different jobs. On an email platform it writes UTMs itself, which is the collision above. On Google Ads (Chapter 2) it adds a click ID, gclid, beside your UTMs and leaves them alone, and that click ID is the other collision. With auto-tagging on, a Google Ads click carries a gclid beside your UTMs, and GA4, linked to Google Ads, prefers it: it takes the source, medium and campaign from Google Ads.

So the campaign GA4 shows is the Google Ads campaign’s name, whatever the link’s utm_campaign says.

Your UTMs still serve every other tool that reads the link.

One writer per slot is the rule for both. For Google Ads clicks in GA4, the campaign’s writer is Google Ads, so decide that on purpose.

Whoever writes last wins. Anything downstream of you writes later.

You paste. Then the platform’s tagging runs.

You save. Then the ad platform fills in its values.

You print. Then the redirect runs, on every scan.

So the link you built proves nothing about the link that arrives.

The only check that sees the last writer’s work is the published link, clicked where the audience clicks it:

  • the sent email, opened from an inbox
  • the live ad, tapped from the feed
  • the printed code, scanned on a phone

Then read the address bar, parameter by parameter. Do it on a phone as well as a desktop, because your audience uses both.

Two other checks get a chapter of their own. Validation stops a wrong value before a link is built; an audit finds one in the reports weeks later. Chapter 8 teaches both. Neither one clicks your published link for you.

All of this happens at one stop on the route from Chapter 2, the one where links go out:

Your situation

Draw your own routes. Four questions do it:

  • Which channels do you run? Each one is a route from your builder to an address bar, with its own writers on it.
  • Which platforms in your stack write or change links? For each one, note whether it tags for you, fills values in, wraps the click or redirects it, and which slots it touches. Any slot with two writers needs a decision.
  • Does anything get printed? If so, the link on it is fixed the day it’s printed, and what arrives is whatever its redirect writes.
  • Is your analytics linked to an ad platform’s click IDs? If so, find out what it takes from them. GA4 takes a Google Ads click’s campaign from Google Ads, whatever your links say.

What changes

The decisionPlaybook per channelWho writes the link
The rulesone set per channelone set; per channel, ask who writes the link and what can change it
A platform’s own taggingon everywhere, or off everywherechosen per platform, each slot with one writer
What you checkthe link you builtthe published link, clicked where the audience clicks, on phone and desktop
Printthe tagged link on the print filea short link whose redirect you’ve scanned, since the printed code can’t change
Google Ads clicks in GA4trust the link’s utm_campaignGA4 shows the Google Ads name; your tags serve every other tool

Where the rule lives

Every one of those decisions has to hold on launch day, when five links go out at once. The rules for who writes them sit in one of two places:

Beside the path

A note of which platforms rewrite links is a rule each person has to remember on launch day.

Inside the path

Links are built once in the place links get made, each platform’s settings are saved so it can’t write over them, and the published link is clicked before anyone trusts it.

Check yourself

The newsletter's hero link is tagged utm_source=newsletter, and the email platform's own tagging is on. What can the clicked link look like, and which source counts?

Show answer

Either the platform’s source replaced yours, or the link carries two sources side by side. With two, nothing in the link says which counts: the tool reading it decides. Give the slot one writer: turn the platform’s tagging off, or set it to tag only links that carry no tags of their own.

A printed QR code points at a short link whose redirect sends people to stride.com/spring-sale with no query string. Where do those visits land?

Show answer

Direct. The redirect dropped the tags, and a QR code sends no referrer (Chapter 2), so nothing is left to place the visit. The redirect has to write the full tagged link, and the check is scanning the printed code on a phone.

A Google Ads campaign is named Spring Promo FINAL, its links carry utm_campaign=spring_sale-runners-2025_03, and auto-tagging is on. What campaign does GA4 show?

Show answer

Spring Promo FINAL. The click ID is a second envelope, and GA4 takes the campaign from Google Ads. The link’s own value still serves every other tool that reads it.

In one line

The rules don't change between channels; who writes the final link does. Give each slot one writer, and click the published link before you trust it.

Before the next chapter

Pick one live link per channel and click it where your audience would (the sent email, the live ad, the printed code on a phone). Compare what arrives with what you built.

Next · Chapter 6 · Ad Platform NamesThen you open Google Ads.