KAPVEXA
Join Kapvexa
PUBLISHERS

Sub-ID tracking: how to see which traffic source actually converts

Kapvexa Team · Updated 5 August 2026 · 11 min read

A publisher running one affiliate link across four different traffic sources — a newsletter, two ad creatives, and an organic blog post — sees a single combined number at the end of the month. That number is real, but it's also useless for deciding what to do next. Which source actually drove the conversions? Which one is dead weight sitting on the same link? Without a way to split the traffic apart, there's no way to know, and no way to reallocate effort toward what's actually working. That's what sub-ID tracking exists to fix.

1
LINK, MANY TRACKABLE SOURCES
4
COMMON THINGS TO SEGMENT BY
0
CHANGE TO HOW THE CLICK ITSELF IS TRACKED
📋 Jump to a section
  1. What a sub-ID actually is
  2. How a sub-ID moves through the system
  3. Building a sub-ID link
  4. What's worth segmenting by
  5. A worked example: finding the dead weight
  6. Sub-IDs and per-source EPC
  7. Sub-ID data as negotiating leverage
  8. A naming convention that won't fall apart
  9. Mistakes to avoid
  10. FAQ
💡
Key Insight

A sub-ID is just a label you attach to a click — free text the network stores and hands back to you on conversion. It changes nothing about how the click or sale is tracked; it only changes how finely you can slice the report afterward. The entire value is in what you choose to label, and how consistently you do it.

What a sub-ID actually is

A sub-ID — sometimes called a sub-affiliate ID, tracking parameter, or transaction ID depending on the network — is a short piece of text you append to the end of your affiliate link. It carries no special meaning to the network beyond what you assign it; it's simply stored alongside the click record the moment the link is clicked, and returned again inside your reporting the moment that click leads to a conversion.

The reason this matters more than it sounds is that a standard affiliate link, on its own, is a single point of measurement for potentially dozens of different traffic sources feeding into it. Two publishers can send the exact same number of clicks to the exact same offer and see wildly different results, not because one is worse at affiliate marketing than the other, but because one of them can see which specific piece of that traffic is working and the other is flying on a single blended average.

The link itself still points to the same offer, still carries the same click ID, and still gets tracked exactly the way it always did. The sub-ID rides along as an extra field — invisible to the network's core tracking logic, entirely meaningful to you.

It's worth being precise about what a sub-ID is not, too. It doesn't change the payout rate, doesn't affect whether a conversion is approved or rejected, and doesn't influence the attribution window or model covered in our guide to attribution windows. It's purely descriptive — a label riding alongside the transaction, with zero effect on how that transaction is evaluated or paid.

How a sub-ID moves through the system

The mechanics are simple once laid out step by step, and they lean on the same click ID and postback infrastructure covered in our guide to S2S postback vs pixel tracking.

Sub-ID lifecycle
1. Click happensSub-ID parameter attached to the link is captured with it
2. Click ID + sub-ID storedHeld together in the network's tracking record
3. Conversion confirmedSub-ID returned alongside the payout in your report

Because the sub-ID travels with the click ID rather than depending on anything happening later in the visitor's browser, it survives the same way the underlying click attribution does — which means it's exposed to the same reliability considerations. A tracking setup that's dropping conversions for browser-side reasons will also be dropping the sub-ID data tied to them.

Dynamic sub-IDs from ad platforms

Most major ad platforms support passing their own internal identifiers — an ad ID, a placement ID, a campaign ID — directly into the sub-ID parameter automatically, using a macro the ad platform fills in at click time rather than a static value you type manually. This is the difference between manually creating a new tagged link every time you launch a new ad, and setting one dynamic link once that labels every future ad automatically as it's created. For anyone running more than a handful of ad variants, the dynamic approach is worth the slightly more involved initial setup.

Building a sub-ID link

In practice, a sub-ID is added as a query parameter on your existing affiliate link. The exact parameter name varies by network, but the pattern is consistent.

PATTERNyourlink.com/offer?subid=facebook_ad1

Everything after the offer path stays identical to your standard tracking link; only the value assigned to the sub-ID parameter changes between placements. Swap facebook_ad1 for newsletter_aug or blog_review_page on otherwise identical links, and the network will report each one as a distinct, filterable segment once conversions start coming back.

What's worth segmenting by

Traffic source

The most common use — separating email, paid social, organic search, and any other channel sending traffic to the same offer, so you can see which channel is actually worth the time invested in it.

Ad creative or headline variant

If you're running two versions of an ad or two different headlines on the same landing page, a distinct sub-ID per variant turns a vague sense of "the new one feels like it's doing better" into an actual comparable number.

Placement

On a content site, the same offer might be linked from a top banner, an in-body call-to-action, and a footer link. Segmenting by placement tells you which position on the page is actually earning its space.

Landing page variant

If you're sending some traffic direct to an advertiser's page and other traffic through your own pre-lander or review page first, sub-IDs let you see whether the extra step is actually helping conversion or just adding friction.

Device type or geography

Where a network or ad platform can pass it through, tagging by device type or specific geo sub-segment reveals patterns that a channel-level view hides entirely — a source that looks mediocre overall can turn out to be excellent on mobile and weak on desktop, or strong in one city and dead everywhere else nearby.

🎯
Pro Tip

Resist segmenting by everything at once. Every dimension you add multiplies the number of buckets your traffic gets split into, and a bucket with only a handful of clicks in it produces a conversion rate that's mostly noise. Start with the one split that would actually change a decision, and add more only once each existing bucket has enough volume to trust.

A worked example: finding the dead weight

Illustrative numbers, not a real campaign: say a publisher sends 4,000 total clicks across three sources to the same CPL offer over a month, all tagged with distinct sub-IDs.

Sub-IDClicksConversionsConv. rate
newsletter_aug1,200584.8%
ig_story_link1,800211.2%
blog_review_cta1,000444.4%

Viewed as one combined number, this campaign converts at a perfectly respectable 3.1% overall. Split by sub-ID, a different story appears: the Instagram story link is sending nearly half the total traffic while converting at a quarter the rate of the other two sources. Without the breakdown, that's invisible — the newsletter and blog traffic are quietly carrying a source that's barely working, and the publisher has no way to know which lever to pull to improve the overall number.

⚠️
Watch Out

A low-converting sub-ID isn't automatically a source to cut — check whether it's a volume play that's still net-positive at scale, or genuinely underperforming relative to the effort it costs to run. The breakdown gives you the question to ask; it doesn't answer it for you automatically.

The next question worth asking isn't just which source underperforms, but why. A low-converting source with high volume is often a targeting problem — the right platform, the wrong audience within it — which is fixable without abandoning the channel entirely. A low-converting source with low volume and no clear pattern is more often just not worth the continued effort, and the sub-ID data is what turns that from a guess into a decision you can actually justify.

Sub-IDs and per-source EPC

Once traffic is split by sub-ID, calculating EPC per source instead of per campaign becomes possible — and it's usually the more useful number. A campaign's blended EPC tells you whether the offer overall is worth running. A per-sub-ID EPC tells you which specific source, creative, or placement is actually earning that number, which is the level real budget and time decisions get made at.

Sub-ID data as negotiating leverage

Granular data is also one of the strongest tools available when it's time to negotiate a higher payout rate. "My traffic converts well" is a claim. "My newsletter segment alone converts at 4.8% against your programme average, here's three months of sub-ID data to back it up" is evidence a programme manager can act on internally, because it's specific enough to justify a rate change rather than just take on faith.

It also protects you from a common negotiating trap: without segmented data, a single weak source can drag your blended numbers down enough that the overall picture looks unremarkable, even when your best segment is genuinely excellent. Being able to isolate and present that top segment on its own — rather than let it get averaged away — is often the difference between a negotiation that goes nowhere and one that lands a real rate increase.

🎯
Pro Tip

Start tagging sub-IDs before you need the data for a negotiation, not after. Three months of clean, consistent sub-ID history is a far stronger case than a single good week assembled after the fact.

A naming convention that won't fall apart

The biggest practical failure with sub-ID tracking isn't technical — it's organizational. A publisher who starts tagging links with whatever label seems convenient in the moment ends up, a few months later, with a report full of near-duplicate, inconsistent tags that can't be reliably grouped or compared.

A simple, consistent structure — source, then specific placement or creative, separated by an underscore, always lowercase, no spaces — holds up far longer than an ad hoc approach. ig_story_link and ig_feed_post sort together and stay comparable months later; Instagram Story one week and insta-story-2 the next quietly breaks the ability to group them at all.

The same logic scales cleanly as your operation grows. A publisher running one channel might only need a source-and-placement pattern. One running paid traffic across several platforms benefits from adding a campaign or month identifier — fb_video1_aug, fb_video1_sep — so performance can be compared across time without the tag itself changing meaning halfway through. The specific structure matters less than picking one early and applying it everywhere, since the entire value of the system collapses the moment two different placements, or two different weeks of your own work, start getting tagged two different ways.

Mistakes to avoid

❌ Costly habit✅ Better approach
Using inconsistent, ad hoc sub-ID namesSet a naming convention before launch and stick to it across every placement
Leaving some links untagged "for now"Tag every link from day one — retroactive tagging isn't possible on past clicks
Segmenting by too many dimensions at oncePick the one or two splits that actually change what you'd do next
Cutting a low-converting source without checking volume and costWeigh conversion rate against total volume before reallocating effort
Never revisiting sub-ID data after setupReview it on a regular cadence — source performance shifts over time

FAQ

What is a sub-ID in affiliate marketing?

A sub-ID is a free-text parameter a publisher appends to their affiliate link to label the traffic behind that specific click — a traffic source, an ad creative, a placement — which the network stores and returns on conversion so it can be broken out in reporting.

How many sub-IDs can I use on one link?

It depends on the network and integration, but most platforms support multiple sub-ID slots per link so you can track more than one dimension at once, such as source and creative together, rather than being limited to a single tag.

Does adding a sub-ID slow down or affect my tracking link?

No — a sub-ID is just an additional parameter on the same URL and doesn't change how the click itself is tracked. It's stored alongside the click ID and returned at conversion the same way the rest of the click data is.

Can sub-ID data replace proper campaign structure?

Not entirely — sub-IDs are for granular breakdown within a channel, not a substitute for organizing campaigns sensibly at the platform level. Used together, campaign structure narrows things to a channel and sub-IDs narrow further to the specific source or creative within it.

Why would my sub-ID data show fewer conversions than my total reported earnings?

This usually means some traffic is going out through links that were never tagged with a sub-ID in the first place, so those conversions still count toward total earnings but show up as untagged or blank in the sub-ID breakdown.

Is sub-ID tracking the same thing as UTM tracking?

They're similar in concept but serve different systems — UTM parameters are read by analytics platforms like your own site analytics, while sub-IDs are read and stored by the affiliate network itself and returned specifically inside its conversion reporting.

Sub-ID Tracking Publishers EPC Optimization

See exactly which source is earning your commission.

Full sub-ID reporting on every link, tied to verified conversions.

Join as a Publisher