A publisher added a CPC network to squeeze more revenue per session. RPM dropped 18%. Here's what actually happened.
Squirrel Editorial Posted
A publisher messaged us last month. They'd added a CPC product network on top of their existing CPA stack to monetise the long tail of mentions their main networks didn't cover.
Sensible move. More coverage, more revenue. Right?
Three weeks later, RPM was down about 18%.
Ouch.
We've been seeing this pattern enough times now — across fashion publishers, deals sites, and consumer tech editorial — that it's worth unpacking what's actually going on. Because the instinct to layer networks is correct. The execution usually isn't.
Why adding a network can lower your RPM
The assumption: CPA covers the retailers where you earn commission, CPC covers everything else, and the two don't overlap.
The reality: they overlap constantly.
Here's the mechanic. A CPC network sees a mention of, say, a pair of running shoes. It'll happily link that out to a retailer and pay you per click — even if that same retailer is already live on your CPA network at 6% commission on a £120 basket.
One click out. Two possible outcomes:
- CPC path: you earn maybe 15–40p for the click. Session ends there from an attribution standpoint.
- CPA path: you earn nothing if they don't buy, but several pounds if they do.
On any product category with a decent conversion rate and basket size, the CPA path wins by a wide margin. The CPC network isn't stealing your revenue maliciously — it's just catching links that were already earning you more elsewhere.
Add it up across hundreds of articles and the "extra" network becomes a tax on your best pages.
The attribution hole most publishers fall into
Most publishers we talk to don't catch this for weeks. Why?
Because each network reports its own revenue going up. CPC dashboard: more clicks, more money. CPA dashboard: commission looks roughly flat — maybe slightly down, but it's a noisy number month to month.
Nobody sees the counterfactual. Nobody sees the CPA sales that didn't happen because the click was intercepted.
The only way to catch it is to look at blended RPM by page, by retailer, by network — and that's the kind of cross-network view most affiliate dashboards are structurally incapable of giving you.
What the diagnostic actually looks like
When we've helped publishers audit this, the workflow is usually:
- Pull a list of every retailer currently monetised via CPA.
- Cross-reference with the retailer universe of the CPC network they just added.
- Flag every overlap.
- For each overlap, check whether the CPC network is winning the link (usually because it loads first, or because the integration script is set up to claim unlinked text).
As you can imagine, nobody has time to do that across 8,000 articles manually.
How to layer networks so they actually stack
The goal isn't "CPA only" or "CPC only." Both have a role. The goal is to route each link to whichever network gives you the highest expected value for that specific retailer, that specific context.
A few principles we've landed on:
1. CPA wins on in-stock, high-intent retailers
If the retailer is on a CPA network, converts well, and has a reasonable commission rate, CPA should win almost every time. The exception is out-of-stock or unavailable products where the click won't convert anyway — in which case a deal finder fallback to a similar in-stock product earning CPA is better than a CPC consolation prize.
2. CPC wins on retailers outside your CPA coverage
This is the legitimate use case. Niche retailers, regional players, the brand's own DTC site when it's not on any affiliate network. Here CPC isn't competing with anything — it's net new revenue.
3. Priority rules need to be explicit, not accidental
Most publishers have a priority order by default — whichever script loads first, or whichever plugin was installed most recently. That's not a strategy. That's a loading race.
You want a deterministic rule: for retailer X, always route via network Y. For retailers not in CPA inventory, fall through to CPC.
Where Squirrel fits
This is exactly the problem our latest routing update is built for. Squirrel holds your full retailer-to-network map as a single source of truth, so any link on any page — new or historical — gets routed to the network that actually pays best for that retailer.
Three things that changed in the recent release:
- Cross-network priority rules: set retailer-level preferences once, apply them across every article automatically.
- Overlap detection: a report that flags which retailers exist on more than one of your connected networks, and which is currently winning the click.
- Blended RPM view: per-page and per-retailer RPM across all networks in one place, so you can actually see whether adding a network helped or hurt.
The publisher from the top of this post, by the way — once we mapped overlaps and reset routing priorities, blended RPM recovered and finished roughly 11% above the pre-CPC baseline. The CPC network was valuable, it just needed to stop eating CPA clicks.
If you've added a network recently and your numbers look off, or if you're thinking about layering networks and want to avoid the trap, there's more detail on how the routing logic works over in our affiliate link monetisation hub.
And if any of this sounds uncomfortably familiar, I'd love to hear from you. We've been running overlap audits for a handful of publishers and the numbers are usually more interesting than people expect.