Insights · Measurement & Attribution

Why media affiliates look like your best channel, and the 30-minute test that cut one brand's commission by ~$500k

Sam Gil·Oct 2026·6 min
Key takeaways
1~30% of reported affiliate ROAS came from clicks within 30 min of checkout: coupon behaviour, not discovery.
2Pay those clicks a coupon rate (2%) or cut them; in this ~$1.4M program that saved ~$510k a year.
3Plan budget on adjusted ROAS, not the platform's report, and check clean orders before any rate rise.

In the ~$1.4M-a-year affiliate program of a DTC brand we worked with, affiliate ROAS read $8.3 per $1 in the brand's MTA, far above Google PMax (~$4) and non-brand search (~$3) on the same basis and beaten only by brand search, which is why the instinct was to keep pushing budget into it. Setting aside clicks made within 30 minutes of checkout took it to ~$5.6, and paying those clicks a coupon rate instead of a media rate would save ~$510k a year.

The brand, masked at its request with the figures rounded, sells a considered purchase at ~$300 an order and spends ~$39M a year on paid media. Its affiliate program is mostly media partners (large general-interest publishers, product-review sites, deals and roundup pages, a sub-affiliate network and two small blogs), plus one coupon site paid a coupon rate. To check what the two tests catch, we went past the platform's report to click and order timestamps, landing pages, the post-purchase survey and an MMM, which between them show whether a buyer had already decided before they clicked.

The clearest way to see it is one publisher's two kinds of page, paid at the same media rate. On the brand's largest partner, ~28% of spend, review articles that link to a product page ran 32% of paid orders within 30 minutes of the click with a median of ~11 hours from click to order, and its discount-codes page, which links to the homepage, ran 81% with a median of ~12 minutes.

One publisher, two page types

Same publisher, same media rate, opposite behaviour

Review roundup, links to a product page
Forbes Vetted review roundup of the best washable rugs
Paid orders, click ≤30 min
32%
Median click to order
11 hrs
Share of the publisher's credit
67%
What to pay
Media rate
Discount-codes page, links to the homepage or sale page
Forbes Vetted discount-codes page for a rug brand
Paid orders, click ≤30 min
81%
Median click to order
12 min
Share of the publisher's credit
33%
What to pay
Coupon rate
Two Forbes Vetted page types, shown here for another brand; the numbers are from the brand's largest publisher (~28% of affiliate spend), not measured on Forbes. Both page types were paid the same 12% media rate at the start of the year. Credit share = the page type's share of the publisher's time-decay MTA credit.

Why the affiliate platform and the MTA agree

They land in the same place for different reasons, and partly by coincidence. The affiliate platform is last-click with its own cookie tracking, which is weaker than the brand's, so it reliably catches the coupon click at checkout and loses many buyers who read a review and come back days later. Its own report said ~$8.7 per $1. A first-party MTA tracks the journey better and gives real credit to the long-tail editorial partners that start journeys, which the platform under-counts.

But the MTA still rewards the last touch, because closing the journey is always part of how it splits credit, and it can't tell a genuine closer from a coupon grab 10 minutes before checkout. In this program 27% of media-partner orders came through clicks like that, and in the post-purchase survey those buyers mostly named search, social or a friend as how they found the brand, not the partner. That gap, between closing a journey and collecting credit for a click minutes before checkout, is the flaw in MTA this post is about, and changing the attribution model doesn't close it.

The useful question is not whether an affiliate's clicks convert, it's whether they arrived before or after the customer had decided.

The 30-minute test

For each partner, take its paid orders and measure the share where the affiliate click came 30 minutes or less before checkout, and the median time from click to order. The coupon site sits at 81% within 30 minutes with a median of ~12 minutes, because people arrive with the cart already built. The product-review sites sit at 35-39% with medians of ~4-9 hours, because people read, leave and come back. Most partners fall clearly on one side, and the ones in between are usually mixing both kinds of page.

The two dedicated deals and roundup pages are the expensive finding. Both are paid at media rates (12% and 11%) and both behave like the coupon site, at 78% within 30 minutes with a median of ~12 minutes. On reported ROAS you could not tell them apart from the review sites ($7.8 and $8.4 per $1 against $7.1-7.5).

Find your partner's type

The 30-minute test, partner by partner

Partner archetypeSpendReported $/1Click ≤30 min before orderMedian click to orderLands on product pageWhat to pay
Coupon / cashback site1%$4681%12 min12%Coupon rate (already)
Deals/roundup page A13%$7.879%13 min14%Coupon rate
Deals/roundup page B4%$8.478%12 min14%Coupon rate
Sub-affiliate network A7%$8.667%16 min35%Coupon rate
Large general-interest publisher A28%$7.252%27 min57%Split by page (SubID)
Its review pages (to product page)16%$8.332%11 hrs88%Media rate
Its deals pages (to homepage or sale)12%$5.681%12 min9%Coupon rate
Small blog B2%$5.943%2 hrs72%Split by page (SubID)
Product-review site C4%$7.539%4 hrs76%Media rate
Large general-interest publisher B11%$8.237%6 hrs79%Media rate
Product-review site B9%$7.436%7 hrs82%Media rate
Product-review site A18%$7.135%9 hrs84%Media rate
Small blog A3%$7.934%10 hrs83%Media rate
Sub-affiliate network BTracking flood0%$740%23 daysn/aPause and ask
60% or more of paid orders within 30 minutes: coupon behaviour, whatever the partner calls itself.
Sorted by the 30-minute share; the tracking-flood partner sits last. Rows are the program's partners, masked by type. Media rates 11-18% at the start of the year (four partners got a raise mid-year, to 12-18%), sub-affiliate networks 10%, coupon site 2%. Pay rule used here: under 40% within 30 minutes, media rate; 40-60%, split by page with SubIDs; 60% or more, coupon rate. Spend is commission paid; reported $ per $1 is time-decay MTA credit. Medians use the affiliate platform's click timestamp, which for the flood partner is when its replayed click IDs were created.

A rising affiliate budget behind a flat reported ROAS is the tell: most of the year's growth in commission came from existing partners' deals pages (~62%) and rate increases on the same placements (~20%). The four partners given a raise drove ~12% more clean orders while their commission rose ~65%, because more money on the same articles buys no new reach.

One brand's affiliate program, 12 months · revenue credited per $1 of commission
$8.3
Reported by the MTA. The affiliate platform's own report said $8.7.
$8.0
After removing the tracking-flood partner (0.5% of spend).
$5.6
After removing coupon-like clicks: within 30 minutes of checkout, landing on the homepage or a sale page.

How often each channel opens the journey

Multi-visit journeys only (2+ visits): share of each channel's MTA credit that comes from the first visit (the big number), with middle and last visits muted.

First touchMiddleLast
45%
Media affiliates, as reported
61%
Media affiliates, coupon-like clicks removed
76%
Meta prospecting
52%
Google PMax
10%
Coupon site
In multi-visit journeys, ~45% of media affiliates' credit as reported comes from the last visit; take out the coupon-like clicks and that falls to ~24%, and they open journeys about as often as Meta prospecting and PMax (single-visit orders are left out).

If the platform won't pass the page, your own first-party pixel records the landing URL and referrer, which is enough to run both tests. Across the program, coupon-like clicks grew from ~14% of the credit in Q1 to ~42% in Q4, so the reported number only drifted from ~$8.9 to ~$8.1 while the clean number fell from ~$7.6 to ~$4.5.

The tracking-flood signature

One partner had a different problem. It reported $74 per $1 through 6 click IDs spread across ~8,200 browsers, 98% of its visits carried a Google ad click ID, and none of its paid orders came within 30 minutes of the click. That is what it looks like when a partner bids on your brand name and routes the clicks through its link. At 0.5% of spend it barely moves the channel, but I would pause it and ask before the next invoice.

The adjusted number is still an MTA number

~$5.6 is the best number an MTA can give you, not proof the channel is incremental. A standard weekly MMM put affiliates at ~$2.7 per $1 with an 80% range of ~$0.6 to ~$5.5, wide because the channel is under 4% of spend. A post-purchase survey implied ~$3.6, with 88% of buyers who named a partner publication coming through review pages, so the honest statement is a range of ~$2.7 to ~$5.6, not the reported $8.3.

What to do with it

Each step changes either what you pay a partner or how much budget the channel gets.

  1. Pay coupon-like traffic at coupon rates. Ask the platform for a SubID per page so review pages keep the media rate and deals pages get the coupon rate, and where a partner can't split, set the rate by its 30-minute share. Here that saves ~$510k of ~$1.4M a year.

  2. Pause partners with the tracking-flood signature and ask about brand bidding before paying again.

  3. Hold the channel's budget at the adjusted number. Before approving a rate increase, check whether the partner's clean orders grew or only its commission did.

  4. Chase more review and "best of" placements that link to product pages. That is the part of the program that opens journeys, and where a higher rate is worth negotiating.

  5. Fix the reporting so everyone sees the adjusted number. Flag a click as coupon-like when click_to_order_minutes <= 30 and it lands on the homepage or a sale page, and show reported and adjusted side by side.

If your affiliate ROAS looks better than everything except brand search, the 30-minute test is the quickest way to find out why. We rebuild channel measurement for DTC brands, and I'm happy to walk through how we'd approach it for your setup.

Common questions

Should coupon sites get affiliate commission?

Yes, at a coupon rate, typically 1-3%, because most coupon clicks come from buyers who had already decided. In this program, 81% of the coupon site's paid orders came within 30 minutes of the click. The bigger cost is usually media partners whose deals pages behave the same way but are paid 11-12%.

What is a good affiliate ROAS?

Compare affiliates to other channels on the adjusted number, not the reported one. For this brand, the MTA said $8.3 per $1, the 30-minute and landing-page checks brought it to ~$5.6, and an MMM and a survey put it at ~$2.7 to ~$3.6.

How do I tell if an affiliate is bidding on my brand?

Look for a handful of click IDs spread across thousands of browsers, almost every visit carrying a Google ad click ID, a return far above the rest of the channel, and almost no orders within 30 minutes of the click. Pause the partner and ask before paying the next invoice.

We rebuild channel measurement for DTC brands, from click and landing-page capture to adjusted affiliate reporting your team and your partners can both check against the order data.

See how it works →
Technical notes

Figures are from one brand's affiliate program over 12 months, rounded, with the brand and its partners masked at the brand's request.

SG
Sam Gil
Principal, Growth & Analytics · Meridian Growth
About the team →

Keep reading

Measurement & AttributionOct 2026 · 6 min
Why media affiliates look like your best channel, and the 30-minute test that cut one brand's commission by ~$500k
Read →
Measurement & AttributionSep 2026 · 7 min
Why your year-over-year sales look terrible the week before a holiday
Read →
ExperimentationSep 2026 · 6 min
How long to run an ecom A/B test
Read →
ExperimentationSep 2025 · 6 min
Why Most Startup Experiments Fail (and What to Do Instead)
Read →
Retention & LifecycleSep 2025 · 5 min
Retention in Marketplaces: Why Liquidity Beats Variety Alone
Read →
Acquisition & CreativeSep 2025 · 5 min
Why First-Party Pixels Beat GA4 for User Journeys
Read →
Data FoundationsSep 2025 · 5 min
Why creative tagging fails, and what a working ontology looks like
Read →

Get in touch.

Tell us what you are trying to figure out. If we can help, we will say how. If we are not the right fit, we will say that too, and point you somewhere better.

01
Free work first
We start by doing a real piece of work on your data, free, so the first thing you judge is output, not a pitch.
02
First build, fixed scope
A trusted core metric layer in weeks, not quarters, at a fixed price. Small enough to be safe, real enough to matter.
03
Scale when it earns it
Month to month from there, from a few thousand a month. You own every model, dashboard and definition.