UTM parameters and affiliate tracking both answer "where did this visitor come from?" — which is why they get confused. They are built for different jobs. UTMs tell your analytics tool which channel and campaign a session belongs to; your affiliate tracker decides which partner earned a commission. Get the split right and affiliate traffic shows up cleanly in GA4 without ever touching who gets paid. This guide covers where UTMs belong on an affiliate link, a naming convention that groups correctly, and why the two sets of numbers never match exactly.
UTMs and Your Tracker Do Different Jobs
The five UTM parameters — utm_source, utm_medium, utm_campaign, utm_content and utm_term — are labels your analytics tool reads from the landing-page URL. They are visible, editable by anyone who copies the link, and lost whenever a session is not recorded in the browser.
That makes them fine for analytics and wrong for payouts. Commission attribution needs a click ID recorded by your tracker and a conversion confirmed server to server. Use UTMs to see affiliate traffic in context with your other channels; use the tracker to decide who is paid. If a partner dispute is ever settled by a UTM report, the tracking setup has gone wrong.
Where the UTMs Go
An affiliate click travels through two URLs: the partner's tracking link, which records the click and redirects, and the advertiser's destination URL (the offer or landing page), where the visitor lands. UTMs belong on the destination URL, configured once on the offer in your tracker — not on the tracking link each affiliate shares.
- Consistency. Every partner's traffic is tagged the same way, instead of each affiliate inventing their own labels.
- Clean partner links. Affiliates share short tracking links; long UTM strings on those links get truncated, edited or stripped.
- One place to change. Rename a campaign once on the offer, and every future click carries the new value.
A Naming Convention That Groups Correctly
GA4 sorts sessions into channels using default rules, and its Affiliates channel matches sessions whose medium is exactly affiliate. Values such as affiliates, partner or Affiliate-Network can land in a different channel and quietly vanish from your affiliate numbers. A convention that works:
utm_medium=affiliate— always, lower case.utm_source— the partner, so you can compare partners in GA4.utm_campaign— the offer or campaign.utm_content— the placement or creative, when you need that detail.
Keep values lower case and without spaces; GA4 treats Affiliate and affiliate as different values. The free UTM builder enforces these rules as you type.
Dynamic Values From Tracker Macros
Typing a partner name into every destination URL does not scale. Your tracker can fill the values in at click time. In Affclix, the offer's destination URL can carry macros that are replaced as the visitor is redirected:
https://example.com/landing?utm_source={affiliate_id}&utm_medium=affiliate&utm_campaign={campaign_id}&utm_content={sub_aff1}Each click then arrives in GA4 labelled with the partner's ID, the campaign and the partner's own sub-ID — with no manual tagging and nothing for the partner to get wrong. If you prefer readable names in GA4, map IDs to partner names in a GA4 lookup or in your reporting layer, rather than asking partners to type them.
Why the Numbers Never Match
Expect GA4 to show fewer affiliate sessions and conversions than your tracker, and do not try to force them to agree. The two count different things:
- Consent and blockers. GA4 only records visitors whose browser runs the tag and, where required, who consent to analytics. A server-to-server tracker records the click either way.
- Different conversion definitions. GA4 counts the event on the page; the tracker counts the conversion the advertiser confirmed — after fraud checks, deduplication and review.
- Different attribution models. GA4's attribution settings and your program's attribution window will credit some conversions differently. The attribution models guide explains why.
Reconcile trends — is affiliate traffic growing, which partners bring engaged sessions — not totals. The UTM builder page also covers the specific situations where UTMs stop working altogether, such as app traffic and redirects that strip parameters.
Build tagged links with the UTM builder