Learn. Build. Grow. Create the Freedom You Want.

Measurement and email

UTM Parameters for Affiliate Links: See Which Page Earns

Your dashboard says you earned something. It rarely says which paragraph did the work. Here is the tagging scheme that closes that gap — with a template you can copy in five minutes.

By Wealth Generation AcademyUpdated November 01, 20268 min read2 source pages

Blank paper gift tags tied with string beside a laptop, illustrating UTM parameters for affiliate links

Key takeaways

  • UTM parameters are read by your analytics; a sub-ID is what reaches your affiliate commission report. You need both to link a payout to a page.
  • Always set utm_source, utm_medium and utm_campaign, and keep every value lowercase — capitalisation splits your reports.
  • Use one naming convention across blog, email and social, and log every link you build so a report row is never a mystery.
  • Test one tagged link before you roll the scheme out to a hundred, and check your program's terms on extra URL parameters.

UTM parameters are tags added to the end of a URL that tell your analytics tool which campaign sent the click [1]. If you would rather not build this tracking by hand, our affiliate tracking tools guide compares the free routes first. For affiliate links, they show which page, email or pin produced the click; a sub-ID carried through to the affiliate network shows which one produced the commission. The two together close the loop.

That is the whole idea, and it costs nothing beyond a few minutes of typing. Google's documentation lists the parameters you can append to a destination URL and explains what each one is for [1].

The UTM parameters Google documents, and the question each one answers for a small affiliate site
ParameterWhat it answersExample value
utm_sourceWhich platform sent the clickpinterest
utm_mediumWhich type of channel it wassocial
utm_campaignWhich piece of content or promotiongrinder-guide
utm_contentWhich placement or creative inside itreview-top
utm_idA campaign ID you can match to other datapost-114
utm_termPaid keyword — usually irrelevant for organic postsbest-espresso-grinder

Three of those are treated as the baseline: when you tag a URL you should always set utm_source, utm_medium and utm_campaign [1]. Leave one out and the missing value can show up as (not set) in reporting [1], which is the reporting equivalent of a shrug.

Two details catch beginners out. Parameter values are case sensitive, so utm_source=Email and utm_source=email are recorded as different things [1]. And the creative-format parameters (utm_creative_format, utm_marketing_tactic) aren't currently reported in Google Analytics properties [1], so don't build your plan around them.

Why your affiliate dashboard stops at "someone clicked"

Two systems hold two halves of the same story, and neither one alone can answer "which post earned this?"

Your analytics reads the UTM values embedded in the page the visitor lands on [1]. It can tell you that a session arrived with medium=email, campaign=grinder-guide and content=issue-14-top — and whether that session ended in a click on your affiliate button.

Your affiliate platform never sees those values unless you deliberately pass something through. It records a click against your account and later a commission line, but the only detail attached to that line is whatever your tracking field carried.

So the working rule is: UTM parameters tell you where traffic came from; a sub-ID tells you where money came from. Set both with the same naming convention and the two reports line up by eye. Our affiliate link tracking lesson shows how to keep clicks and confirmed commissions apart.

The session limit worth knowing

Analytics attributes campaign data at the session level. Each session is associated with only one campaign or traffic source, and if new campaign values arrive mid-session they attach to events for attribution but not to the existing session [2]. A direct visit that follows a referred visit won't override the original referrer either [2]. Practical consequence: a reader who clicks three of your tagged links in one sitting may look like a single campaign, so don't over-interpret tiny numbers.

How to check this advice — and anyone else's

We're an education site, not a testing lab, and we won't pretend otherwise. Nothing above requires you to buy anything: UTM tagging is a documented URL format you can type by hand [1]. Where we state a rule, it comes from the official page linked at the bottom of this article — both sources are Google's own Analytics help. Where a number depends on your program, we tell you to check the program page rather than inventing a figure. Documentation and interfaces change, so note the date on anything you read, including this. And because this site earns money from some links, we'd rather say so plainly — here's what a clear affiliate disclosure looks like in practice.

A naming convention you can copy

Google's best-practice guidance is blunt: use one unique utm_source value per distinct platform (and a separate value for each sub-platform), one utm_medium per channel, one exact utm_campaign name per campaign, and keep everything lowercase because capitalisation fragments reporting [1].

A four-field convention for a one-person affiliate site
FieldRuleGoodWhat breaks
utm_sourceOne per platform, lowercasepinterestPinterest, pin, Pinterest_Social
utm_mediumOne per channel, from a short fixed listsocialPin, social-media
utm_campaignThe slug of the asset doing the linkinggrinder-guideGrinder Guide
utm_contentThe placement inside that assetreview-toptop button

Fill-in template. Replace the capitals, keep the punctuation. In the template the URL is a placeholder, not a live link:

YOUR-AFFILIATE-URL?utm_source=SOURCE&utm_medium=MEDIUM&utm_campaign=CAMPAIGN&utm_content=PLACEMENT&subid1=CONTENT-TYPE&subid2=PAGE-SLUG&subid3=POSITION

Filled in for a Pinterest pin pointing at a grinder review:

YOUR-AFFILIATE-URL?utm_source=pinterest&utm_medium=social&utm_campaign=grinder-guide&utm_content=pin-03&subid1=pin&subid2=grinder-guide&subid3=image

If your affiliate link already contains a question mark, don't add a second one — separate the extra parameter-value pairs with ampersands, as the documentation describes [1]:

YOUR-AFFILIATE-URL?ref=12345&utm_source=blog&utm_medium=organic&utm_campaign=grinder-guide&utm_content=review-top

This is the same routine every time, whether the link goes in a 2,000-word review, a newsletter, or a video description.

  1. Write the question before you tag. "Which placement on this review converts best?" and "Which newsletter issue earns most?" need different utm_content values. Deciding first stops you inventing a fifth naming style by Thursday.
  2. Set the three baseline values [1]: source = the platform (newsletter), medium = the channel (email), campaign = the asset slug (grinder-guide).
  3. Add the placement and the money side. utm_content=issue-14-top for the placement, plus your sub-ID slots (next section) so the commission line carries the same story.
  4. Assemble, then test one click. Manually, you separate the parameters from the URL with a question mark, list each pair with an equals sign, and separate pairs with an ampersand — order doesn't matter [1]. If you'd rather not hand-type, Google's Campaign URL Builder does the same job [1].

Expect one reporting quirk. UTM values are omitted from the "Landing page + query string" and "Page path + query string" dimensions and instead populate the Page location dimension [1]. If your landing-page report looks empty of campaigns, check Page location or open the Traffic acquisition report, where session source, medium and campaign are visible [1][2].

Sub-IDs: the half that reaches your commission report

UTM parameters live in the URL the browser loads, so only tools running on that page can read them. A sub-ID is a value you ask the affiliate platform to store against the click. Because the platform is the one writing the commission line, that's where a sub-ID has to travel to be useful.

The label varies by platform — tracking ID, click reference, sub-ID, s1, s2 — and so do character limits and allowed characters. Read the field guidance on your own platform's help page before you commit to a scheme, and re-check it if the interface changes. A three-slot scheme covers most small sites:

A sub-ID scheme that mirrors your UTM convention
SlotWhat to storeExampleWhy it helps
Slot 1Content typepostSplits blog, email, pin and video at a glance
Slot 2Short page or asset sluggrinder-guideNames the page without a long URL
Slot 3Placementreview-topSeparates two buttons on the same page

If your platform offers fewer slots, keep the two that answer "which asset" and "which placement". Keep values lowercase and hyphenated so they survive copy-paste and don't collide with a platform that ignores case. And reuse the same words in utm_content and slot 3 wherever you can — a scheme you can line up without a decoder ring is a scheme you'll actually use.

Hands writing tally marks in a notebook beside a laptop and colored sticky tabs
Tag every click twice: the sub-ID is the line your commission report actually reads.

Worked example: from a click to a commission line

Illustrative example. The figures below are invented to show the arithmetic. They are not typical earnings and not a prediction of yours.

You publish one espresso grinder review with two affiliate buttons — one under the intro, one at the end — and tag both:

  • Top button: utm_content=review-top, slot 3 = top
  • End button: utm_content=review-end, slot 3 = end

After a month, analytics shows 200 clicks on the top button and 150 on the end button. Your affiliate report shows 4 commission lines with slot 3 = top and 1 with slot 3 = end. Now the maths:

  • Top: 4 ÷ 200 = 0.02 — two clicks in a hundred led to a commission.
  • End: 1 ÷ 150 ≈ 0.0067 — roughly seven clicks in a thousand.
  • At an invented average commission of $6: top = 4 × $6 = $24; end = 1 × $6 = $6.

The decision this produces is small and specific: the top placement converted about three times as often per click, so the next edit is to move or rewrite the end button, or test a third placement as utm_content=review-mid. Without the tags you'd know you earned $30 and have no idea which half of the page did the work — which is exactly the position most beginners are in when they say their dashboard is a mystery.

Six mistakes that break the chain

Run this list before you tag anything at scale. Each item is a five-minute fix now and a week of confusing reports later.

  1. Mixed capitalisation. utm_source=Email and utm_source=email are different values, and so are SpringSale and Spring_Sale [1]. Standardise on lowercase [1].
  2. Missing a baseline field. Skip source, medium or campaign and you get (not set) rows you can't interpret [1].
  3. A second question mark. A link with existing parameters needs ampersands, not another question mark [1].
  4. Tagging internal links. Campaign parameters on your own navigation create campaign-looking sessions. Analytics now suppresses self-referrals when the referring page matches your domain, but third-party services and payment gateways may still need referral exclusions [2]. Keep UTM tags for outbound placements, and see internal linking for a small affiliate site for the other kind of linking.
  5. Forgetting the attribution window. A click and a commission can be days apart, and the window differs by program — cookie duration and attribution windows explains why a same-day report may look empty.
  6. Rolling out without a test click. Send one tagged link to yourself, confirm the campaign appears in the Traffic acquisition report [1], and confirm the platform still records the click before you paste that format into forty posts.

Check the program's terms, then run a 15-minute weekly review

Before you build a scheme across a hundred links, read the affiliate program's terms and the platform's help page. Programs differ on whether extra URL parameters are allowed, whether link cloaking or shortening is permitted, and what disclosure they require; the clauses worth reading before you join a program cover the ones that affect tracking. If links will go in email, check that separately — affiliate links in email carry their own rules — and check your program's and search engine's guidance on marking affiliate links, as covered in how to mark affiliate links. This is general education, not legal advice: when in doubt, ask the program in writing.

The weekly routine

  • Monday, 5 minutes: open the Traffic acquisition report and sort sessions by session campaign [2]. Note the top three.
  • Then, 5 minutes: open your affiliate report grouped by slot 2 and match the top three assets against that list. Where the two disagree, you have a question worth answering.
  • Then, 5 minutes: check which queries those pages actually rank for in Search Console — the workflow in Search Console reports worth checking weekly — and compare click quality using what EPC means and why network EPC misleads.

Keep a one-line log for every link you build: date, page, platform, placement, sub-ID values. When a commission appears with no obvious cause, the log turns panic into a lookup. If you'd like the whole setup — link building, disclosure, first-week checks — in printable order, our affiliate marketing checklist walks through it step by step.

You will still have quiet months. The difference is that you'll be able to name the page that earned, retire the placement that didn't, and stop rewriting content that was never the problem.

Tag one link today, not forty

Pick your best-performing page, build a single tagged link with the template above, and check that the campaign shows up in your reports before you touch anything else. If you want the setup in order — link building, disclosure, first-week checks — our free starter kit lays it out step by step.

Get the free affiliate starter kit

Frequently asked questions

Can you give some examples of UTM parameters?

Take a review link: <code>example.com/grinder?utm_source=pinterest&amp;utm_medium=social&amp;utm_campaign=grinder-guide&amp;utm_content=pin-03</code>. The list starts with a question mark, each pair uses an equals sign, and pairs are separated by ampersands [1]. Google's own documentation uses the same pattern for email — <code>utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=summer-sale</code> [1]. Keep every value lowercase, because capitalisation creates separate rows in reporting [1].

Do UTM parameters work on affiliate links?

Often, but test one before you build a scheme. Analytics reads UTM values on the destination page [1]; the affiliate platform only records what its own tracking field carries. So tag the link, click it yourself, and confirm two things: your analytics shows the campaign, and the platform still credits the click. Some redirects and programs drop extra parameters, so check the program's terms rather than assuming.

What is the difference between a UTM parameter and a sub-ID?

UTM parameters are URL tags your analytics reads, showing which campaign, page or placement sent a visit [1]. A sub-ID is a value you send to the affiliate platform so it appears on the commission line. In short, analytics answers "what got clicked" and the sub-ID answers "what got paid". Use the same wording in both so the two reports can be matched without a decoder.

Are UTM parameters case sensitive?

Yes. Google's documentation states that parameter values are case sensitive, so <code>utm_source=google</code> and <code>utm_source=Google</code> are different values [1], and the same applies to campaign and content names such as <code>SpringSale</code> and <code>Spring_Sale</code> [1]. The practical fix is a written rule: lowercase everything, use hyphens instead of spaces, and never rename a campaign halfway through.

Why does my report show (not set)?

Usually a missing parameter. Google notes that missing UTM parameters result in (not set) values in reporting [1], so a link tagged with only source and medium can land in a campaign row you can't identify. Check the full URL, confirm that <code>utm_source</code>, <code>utm_medium</code> and <code>utm_campaign</code> are all present [1], and re-tag the link rather than trying to repair it inside the report.

Sources

  1. URL builders: Collect campaign data with custom URLs - Analytics Help (source page, retrieved 2026-10-20)
  2. Campaigns and traffic sources - Analytics Help (source page, retrieved 2026-10-20)

This guide is general education. Program terms and tools change; check the linked official pages for the current version. How we write: editorial policy. This page has no affiliate links.