Creator economy · Link mechanics
UTM parameters vs affiliate SubIDs: which one actually tells you anything?
Two near-identical strings read by two parties who never speak to each other — and a measurement of what is already in your links.
Some links here are affiliate links — if you buy, the retailer may pay us a commission at no extra cost to you. We have earned $0 from them so far. Here’s how it works.
Part of: For creators
A UTM parameter and an affiliate SubID look almost identical in a URL and are read by completely different people. Your analytics reads the UTM. The affiliate network reads the SubID. Neither can see the other, and setting one does not populate the other.
The reason it matters is that they answer different questions. A UTM tells you which post sent a visitor. A SubID tells you which post produced a sale, weeks later, when the network reports it with no referring URL attached.

The difference in one table
| UTM parameter | Affiliate SubID | |
|---|---|---|
| Who reads it | Your analytics (GA4, Plausible, Fathom) | The affiliate network |
| Where it is read | On your own site, on arrival | In the network’s sale report, after a purchase |
| What it answers | Which post sent this visitor | Which post earned this commission |
| Typical keys | utm_source, utm_medium, utm_campaign | sid, subid, u1, sscid — network-specific |
| Survives a click to the retailer | No, unless you also set a SubID | Yes, that is the point |
| Set by | You, on links pointing at pages you own | You, on links pointing at pages you do not own |
| Useful without the other | For traffic, yes | For earnings, yes |
Read the last two rows together and the conflation makes sense. Both are query parameters. Both are appended by hand. Both feel like “tagging a link”. The difference is whose server is at the other end, and that is not visible in the string.
What is actually in an affiliate product link
We can measure this rather than assert it. On 3 September 2026 we pulled 7,656 unique live product URLs across 117 retailer domains from twenty unrelated product categories, and parsed every query string.
| What we looked for | URLs carrying it | Share of 7,656 |
|---|---|---|
| A query string at all | 6,616 | 86.4% |
| A recognised tracking parameter | 1,293 | 16.9% |
A utm_source | 1,067 | 13.9% |
| Distinct parameter names seen | 47 | — |
So UTM parameters are in there, on about one product link in seven. Now read the values. Sampling the utm_source values in that set returned, almost exclusively, cj and CJ — the affiliate network’s own name, written by the retailer, tagging the traffic as arriving from the network.
That is the finding, and it is a little uncomfortable: the UTM already in your affiliate link is the network’s, not yours. It answers the retailer’s question — where did this visit come from? — and it answers it with the name of a company that is not you.
Two practical consequences follow.
- Appending your own
utm_sourceto an affiliate link overwrites theirs, or sits alongside it depending on how the retailer parses duplicates. Either way you have edited somebody else’s attribution and gained nothing, because the retailer’s analytics does not report back to you. - The parameter is not consistently cased. We saw both
cjandCJin one sample. Anyone filtering on an exact string is silently dropping rows — a reminder that these fields are conventions rather than standards.
The rest of the query string is retailer plumbing: exta on 2,610 URLs and piid[] on 2,192 are internal feed identifiers, and a scattering of feed_tp, channable and network values name the tooling that generated the feed. None of it reports to the person who published the link.
Keep reading
Who reads which, and when
The clearest way to hold the distinction is to follow one shopper through both systems.
A visitor arrives at a page you own
Say your link-in-bio page. If the link that brought them carried ?utm_source=instagram&utm_medium=story, your analytics records it. You now know Stories sent 42 people. The affiliate network has no idea any of this happened, because nothing has touched the network yet.
The visitor clicks through to the retailer
Now the affiliate link fires. The network records a click and, if you attached one, your SubID. Your analytics stops here — the retailer’s site is not yours and does not report to you. Your UTM has done all the work it will ever do.
Three weeks later a sale is reported
The network sends a row: date, order value, commission, SubID. There is often no referring URL in that row at all, and when there is one it is the retailer’s page rather than yours. The SubID is the only field in that row that came from you. If it is empty, the sale is anonymous and no amount of analytics will recover it.
Using both, without doubling your work
The two systems do not conflict, and the practical setup is small:
- UTM on links to your own pages. Bio link, newsletter, anywhere the destination is yours. Three keys is plenty: source, medium, campaign.
- SubID on links to retailers. One per post at minimum, one per link on posts carrying several products.
- Use the same string in both. This is the whole trick and almost nobody does it. If your UTM campaign is
260903-ig-reel, make the SubID260903-ig-reeltoo. The systems still cannot see each other, but you can now line up their two reports by hand in about a minute. - Never put a UTM on an affiliate link and expect it to attribute. It will be ignored by the network, and on some retailers it will be stripped in a redirect before the page even loads.

Where each one breaks
UTM parameters break on redirects and in apps
A redirect can drop query parameters and still return a healthy 200. We traced 80 live product URLs on 3 September 2026: 77 redirected zero times, three redirected, and two of those three dropped query parameters on the way while every one of them still ended in a 200. Nothing in a dashboard reports that.
SubIDs break on length, characters and reuse
Networks impose their own limits and truncate silently. A truncated SubID is worse than a short one, because two different posts can collapse into the same label and merge into one row of your report forever.
Both break when the scheme changes
The value of either system is comparison over time. A naming change in month four resets the clock on everything before it. Pick something plain enough that you will still be willing to type it in month twelve.
Frequently asked
Does setting a UTM parameter also set my SubID?
No. They are different parameters read by different parties. A UTM is read by your analytics on your own site; a SubID is read by the affiliate network in its sale reporting. Setting one has no effect on the other.
Can I put a UTM on an affiliate link?
You can, and it will usually do nothing. The retailer does not report to your analytics, so the parameter has no reader at the other end. Some redirects strip it before the page loads.
Which one should I set up first?
The SubID, if you have any affiliate links live. It is the only one of the two that can tell you which post earned money, and that information is not recoverable after the fact.
Do my product links already have tracking in them?
Probably, and probably not yours. Across 7,656 unique live product URLs measured on 3 September 2026, 1,293 carried a tracking parameter and 1,067 carried a utm_source whose value was the affiliate network’s own name, not any creator’s.
Is a SubID the same as an affiliate ID?
No. Your affiliate ID identifies you to the network on every link you publish. A SubID distinguishes your links from each other.
Method and scope
- The sample: 7,656 unique live product URLs across 117 retailer domains, pulled on 3 September 2026 from twenty unrelated seed categories through the CJ shopping-product API and de-duplicated on the URL itself.
- Parameter names were lower-cased before counting. Values were examined only for
utm_source, and on a smaller re-pull rather than the full set. - The redirect trace is an 80-URL sample from this run’s catalogue pull, each URL requested once with a desktop browser user agent.
- Not verified: how any individual network treats SubIDs on a redirect, or its exact length limit. Those terms sit behind publisher logins we do not hold, and we will not quote a limit we have not read.
- We have earned $0 in affiliate commission and hold no SubID reporting of our own. This page describes two mechanisms, not results.
Keep reading
Last verified 3 September 2026 against 7,656 unique live product URLs pulled across twenty categories and parsed for tracking parameters
How this guide was made. We research and draft these guides with AI, then a person checks every price, link and factual claim against the source before it publishes. We work this way because it lets us re-verify prices across hundreds of guides in a day, which is what keeps the numbers here current; it does not decide what we recommend. Anything we could not verify is labelled as unverified rather than filled in.