CRTLABCRTLAB
← All articles
Affiliate

How to Track Affiliate Traffic (When the Platform Won't Tell You)

Affiliate dashboards tell you a sale happened, not where it came from. How to build click-side tracking you own, measure earnings per click by channel, and read the numbers honestly given attribution decay.

12 min readAffiliate

You posted in four places this month. You wrote a long answer on Reddit, made two videos, dropped a link in a Discord, and updated an old blog post. The dashboard says three sales.

Which of the four things worked?

You don't know. And the uncomfortable part is that you can't know from the affiliate dashboard, no matter how long you stare at it — because the platform was never built to tell you. It was built to make sure you get paid. Those are different jobs, and the second one is entirely yours.

This is how to close that gap without a marketing budget or a developer.

What the platform actually knows

Learn the full CRT × Mitigation system — structured, step by step, with a built-in trading journal.Get the course →

Take Whop as the worked example, since it's what a lot of trading-course affiliates are on. The mechanics are documented and they're typical of the category.

Your referral link carries a query parameter — ?a= followed by your username. A buyer clicks it, Whop stores an affiliate cookie with a 30-day attribution window by default, and if they check out inside that window the commission is yours. Refunds claw it back automatically. There's more detail in how the Whop affiliate program works.

Read that parameter again, because it's the whole issue: ?a= identifies you. It does not identify the post, the video, the platform, or the campaign.

Some affiliate networks solve this with sub-IDs — an extra parameter you append yourself, which comes back attached to the conversion so you can see that sale #7 came from yt-video-12. Whop's documentation doesn't describe support for sub-IDs or custom tracking parameters. Which means every click you have ever sent, from every channel, across every piece of content, arrives in one undifferentiated bucket labelled "you."

That's not a criticism of the platform. It's just the constraint, and most affiliate programs share some version of it. But it has a consequence people don't act on: if you don't build tracking yourself, you will spend months optimising blind, doubling down on whichever channel you happen to feel good about.

Why this matters more for you than for the seller

The seller has margin, other channels, and time. You have one non-renewable input: your attention, and the credibility you spend when you recommend something.

Without measurement, the failure mode is specific and predictable. You keep doing the thing that's most comfortable — usually posting on the platform you already enjoy — and quietly starve the thing that actually converts, because the thing that converts is often the slow, unglamorous one. Long-form answers and evergreen content typically convert better and feel worse to produce than posting. Feelings are a terrible allocator here.

The fix: measure on the click side, because you can't measure on the sale side

You can't tag the sale. You can tag the click, if the click passes through something you own.

Stop sending people straight to your affiliate link. Send them to a page you control, which then sends them on.

That one change buys you four things at once:

  1. Analytics. You now see traffic by source, by page, by day — because it's your page.
  2. Per-channel labelling. One destination per channel is the poor man's sub-ID, and it works.
  3. Durability. If the program changes its URL, gets paused, or you switch products, you edit one page instead of hunting down every link you've ever posted.
  4. Somewhere to be useful. A page of yours can carry actual content and a proper disclosure, which a bare link cannot.

That fourth one isn't a bonus, it's a requirement. Your disclosure obligations don't disappear because there's an extra hop — if anything a redirect makes it more important that the commercial relationship is obvious before the click. Affiliate disclosure rules covers what actually counts as adequate, and "affiliate link" alone isn't it.

Doing it without building anything

You don't need to be technical:

  • A simple page on any free host — a short honest write-up of the product with your link at the bottom. This is the best version, because it converts as well as it measures.
  • A link-in-bio tool with per-link click stats. Crude, but it separates Instagram from TikTok, which is most of the value.
  • A distinct landing page per channel if you're producing enough to justify it — one for video traffic, one for forum answers, one for search.
  • UTM parameters on links pointing at your own pages (?utm_source=reddit&utm_medium=comment), which any analytics tool will split for you. Note these tag traffic arriving at your site; they don't survive into the affiliate platform's reporting.

The naming rule: make it granular enough to act on and no more. reddit is useless if you post in six subreddits. reddit-forexstrategy-mar lets you decide something.

The four numbers worth tracking

Everything else is decoration.

Number Where it comes from The decision it drives
Clicks by channel Your own page's analytics Where your effort is currently going
Click-through to the offer Outbound clicks from your page Whether your page or your traffic is the weak link
Sales The affiliate dashboard Whether any of it converts
Earnings per click Commission ÷ clicks, per channel Where the next hour of effort goes

Earnings per click is the only number that compares channels honestly, and it's the one almost nobody calculates. Raw click counts flatter whichever platform gives you the most reach; raw sale counts flatter whichever you've been doing longest. EPC normalises both.

The arithmetic behind it is worth internalising, because it upends the intuition that high commission rates are what matter. A 60% commission on a $50 product converting at 1% is about $0.30 a click. A 10% commission on a $500 product converting at 0.5% is about $0.25 a click. Sixfold difference in the headline rate, rounding error in the outcome. The affiliate commission calculator runs that comparison properly, including the effect of refund clawbacks — which are pure EPC destruction, since you did all the work and keep none of it.

There's a reason we won't tell you what conversion rate to expect, here or in that calculator's FAQ: conversion rate is a property of your traffic, not of the offer. Someone who read 800 words of yours and then clicked converts at a multiple of someone who tapped a link in a bio. Any published benchmark is describing a traffic mix that isn't yours. Measure your own; it's the only number that means anything.

Reading the numbers honestly

This is where most affiliate tracking advice stops, and where it starts being misleading.

Your measured conversion rate is a floor, not the truth. Cookie attribution leaks. Someone clicks on their phone through an in-app browser and buys on their laptop a week later — real sale, caused by you, credited to nobody. You will never see it. So don't treat unattributed clicks as proof a channel failed; treat your numbers as comparative, useful for ranking channels against each other, not as an absolute count of what you caused.

The lag is longer than you think. With a 30-day attribution window, a sale landing today may have come from a click three weeks ago. Add Whop's documented 30-day waiting period between purchase and payout, and there's potentially two months between the work and the money. Judging a channel on one week of data is noise. Give any channel a month of clicks before you rank it, and be aware that a channel you killed in week two might have been about to pay.

Small numbers lie. Three sales is not a sample. If channel A converted 2 of 40 and channel B converted 1 of 45, you have learned nothing at all — that difference is entirely consistent with the two being identical. The temptation to reallocate everything on the first datapoint is strong and it's how people end up thrashing between channels every fortnight instead of compounding on one.

Watch refunds by channel, not just sales. A channel that produces sales that refund is worse than a channel that produces nothing, because it costs you credibility as well as time. If one source has a visibly worse refund rate, the promise you're making there is probably running ahead of the product.

Things not to do

Don't cloak links to hide the commercial relationship. Using a tidy redirect for measurement is fine. Using one so people don't realise they're clicking an affiliate link is the thing regulators are actually looking at, and the disclosure requirement attaches to the recommendation regardless of what the URL looks like.

Don't buy traffic to make the numbers move. Beyond the money, paid search is effectively closed to this niche — Google's policy on complex speculative financial products explicitly restricts destinations providing trading information and names affiliate sites containing related content. That's covered in the disclosure and ad policy guide.

Don't publish your earnings as a recruitment tool. Your numbers are your traffic's numbers and nobody else's, and presenting them as achievable is exactly the kind of claim that has no safe-harbour disclaimer anymore. Same discipline applies to the tax side once the money is real — affiliate income and tax covers what actually gets reported.

Don't ignore privacy obligations because you're small. If you're running analytics that sets cookies, or collecting emails, the rules apply to you at any scale. Prefer analytics that doesn't require consent theatre, and be straight about what you collect.

Start with this, this week

If you take nothing else from this:

  1. Make one page you control with an honest write-up and your link on it, with the disclosure above the link.
  2. Point every new post at that page instead of at the raw affiliate link.
  3. Give each channel its own destination or UTM so the analytics can separate them.
  4. After 30 days, calculate EPC per channel — commission earned divided by clicks sent.
  5. Do more of the top one. That's the entire point of the exercise.

Most affiliates never get past step one, which is why most affiliates can't tell you what's working. Getting to step four puts you ahead of nearly all of them, and it costs an afternoon.

Where CRTLAB sits in this

Being direct, since we're an interested party: the CRTLAB affiliate program pays 60% on the course — double Whop's 30% platform default — and it's structured that way precisely because we're a small brand without name recognition doing the recruiting. The rate is the trade for that.

What we can't do is change the tracking constraint described above. It's the platform's, it applies to every Whop program including ours, and telling you otherwise would be the first of many things you shouldn't believe. What we can do is not make you guess about the rest: the rate, the attribution window, the clawback rule and the payout mechanics are all stated on the program page before you click anything. If you want the angles and post skeletons to start from, they're in affiliate resources.

FAQ

Can I track which post my affiliate sales came from? Not from the affiliate dashboard on most platforms, including Whop, which documents no support for sub-IDs or custom tracking parameters — your link identifies you, not your campaign. The workaround is to route traffic through a page you control, with a different destination or UTM tag per channel, so your own analytics separate the sources even though the platform can't.

What is a sub-ID in affiliate marketing? An extra parameter you append to your affiliate link that comes back attached to the conversion, letting you see which specific post, video or placement produced a sale. Networks that support it make per-channel measurement trivial. Where it isn't supported, you have to reconstruct the same information on the click side instead.

What's a good affiliate conversion rate? There isn't a portable answer, and any figure you're quoted is describing someone else's traffic mix. Conversion rate is mostly a property of how warm your audience is at the moment they click — a reader who's just finished a long piece of your writing behaves nothing like someone tapping a link in a bio. Measure your own baseline over at least 30 days, then compare your channels to each other rather than to a published benchmark.

What is earnings per click and why does it matter? Commission earned divided by clicks sent, calculated per channel. It's the only metric that compares channels fairly, because click counts flatter high-reach platforms and sale counts flatter whatever you've been doing longest. It also exposes the trap of chasing headline commission rates: a high rate on a low-converting audience routinely loses to a low rate on a warm one.

How long should I test a channel before deciding it doesn't work? At least a month of clicks, and ideally more. With a 30-day attribution window, sales arriving today can trace back to clicks from three weeks ago, so short tests systematically under-credit recent work. Add a payout hold on top and the feedback loop from effort to confirmed money can run close to two months.

Do I still need to disclose if I use a redirect link? Yes. The disclosure duty attaches to the recommendation, not to the URL's appearance, and it has to be clear and conspicuous where people will actually see it — before the click, not on a separate policy page. Using a redirect purely to obscure that a link is commercial is the specific practice regulators care about.

Why do my click numbers not match the platform's? They never will exactly. Cookies get cleared, in-app browsers sandbox storage, people click on one device and buy on another, and some clicks are bots. Expect your own outbound click count to exceed anything the platform attributes, and use the numbers to rank channels relative to each other rather than as an absolute measure of what you caused.

Learn the whole system — not just the theory.

The CRTLAB course teaches CRT × Mitigation end to end, with a built-in trading journal. One-time purchase, lifetime access.

Get instant access →

Keep reading