Affiliate offer rotation is the mechanism that decides, every time a format is shown, which of the available offers fills each slot. If a travel article has more valid offers for the reader than slots to show them in, something has to choose. The naive answer is "the ones that pay most"; the right answer is "the ones that will sell most on this site, for this country, right now", and that answer has to be learned from data.
What is affiliate offer rotation?
In affiliate, each slot in a format can be filled by a different offer. Rotation is the rule that shares those slots among the candidates: which one shows, how often and when it stops showing. A filter has already run before rotation: only offers that are live, related to the page topic and available in the reader's country compete.
This guide explains how a learning rotation works, why splitting impressions evenly for weeks is slow and costly, and which decisions separate a good system from one that only looks smart. It is useful whether you manage your own offers or want to understand what happens inside a platform.
Test new offers or repeat the one that sells?
Every impression is a bet. If you always show the offer that has done best so far, you bank the safe result but never find out whether another would sell more. If you split impressions evenly, you learn a lot but give away space to mediocre offers. This is the explore-or-exploit dilemma: try something new or make the most of what you know.
It is often explained with a room full of slot machines: each offer is a different machine and you want the biggest total prize without knowing any machine's odds in advance. The practical question is not which method is best in theory, but which one decides well with little data, adapts when conditions change and can be explained when someone asks why an offer appeared.
How does Thompson sampling work, without formulas?
One of the techniques that balances those demands best is Thompson sampling. The idea fits in three sentences. For each offer you do not store a single performance figure but an estimated range with a degree of certainty. On each impression you draw a random value within each offer's range and show the one with the highest draw. Every outcome, whether a click, a sale or nothing, adjusts that offer's range.
The elegant part is that testing happens on its own. A new offer has a wide range because there is a lot of uncertainty, so it sometimes draws high values and gets space; as it collects data, the range narrows around its real value. An offer that has proved it sells poorly almost always draws low values and stops appearing without anyone switching it off by hand.
Why decide by country rather than on average?
The most important design decision is how much detail the learning keeps. If there is a single estimate per offer, different markets get mixed up and the decision is wrong in all of them. A shop can sell very well in one country and poorly next door because of prices, shipping or brand reputation. With an estimate per offer and per country, that difference shows up and can be used.
The cost is that there are more estimates to feed, and in low-traffic countries data takes time to arrive. A sensible starting estimate helps there, leaning on the offer's overall behaviour while local data builds up. How the reader's country is detected, and how accurately, is covered in the guide to affiliate geo-targeting.
What to do when conditions change
An offer that sold very well a few months ago may not sell today: the price changed, the product sold out or the brand stopped shipping to a country. A system that remembers everything forever becomes stubborn and keeps betting on what no longer works.
The fix is a short memory, where data loses weight over time: recent results count more than old ones. That way a change in conditions shows up in days, not months. And because new offers start with plenty of uncertainty, they come into play straight away, without a manual testing phase.
What gets optimised, and who decides?
"Performance" can mean different things. Revenue per thousand impressions is the natural goal for a website; click-through rate suits discovery content; confirmed sales matter when quality counts more than volume. The sensible approach is to let each site pick its goal and have the system learn with that metric, not another one.
It is also worth always reserving a small share of impressions for the least-tested offers. Without that reserve, an offer that wins early can take all the space and the system would never notice that something better turned up.
Common mistakes when rotating offers
The first is sorting by commission. An offer that pays a lot but hardly sells takes space another offer would use better. The second is rotating without a country filter, which shows offers the reader cannot buy and pollutes all the data that follows.
The third is learning from fake data. If bot clicks or repeated clicks count as real interest, the system rewards exactly the offers that attract that traffic. That is why rotation and control of invalid traffic go together: you have to clean before you decide.
What ADQ Links, ADEQ's affiliate product, handles before rotation
In ADQ Links, ADEQ's affiliate product, the non-negotiable part is handled before any sharing out: only live campaigns from real brands that fit what is being read, and that the reader can buy where they are, come into play. A campaign that is paused, expired or not selling in that country is never shown.
On top of that, every click carries the originating site's identifier and is signed, and bot clicks and repeated clicks are discarded. So what gets measured is real interest, and confirmed commissions are paid by ADEQ together with the rest of your earnings.
Frequently asked questions
How many impressions does it take to decide well?
There is no fixed number. A method like Thompson sampling makes reasonable decisions from the start and improves them as data arrives. In low-traffic countries, a sensible starting estimate keeps the first decisions from being pure chance.
Can an offer be pinned so it always shows?
Yes, but it is better done as an explicit rule, for example because of a direct agreement with a brand, rather than by forcing the rotation. A pinned offer is shown outside the sharing and does not distort what is learned about the others.
How is it different from an A/B test?
An A/B test splits traffic evenly for a fixed period and decides at the end. A learning rotation shifts traffic towards what sells while it keeps measuring, so it wastes fewer impressions and adapts when the winning offer changes.
What could your inventory earn?
We analyse your site and tell you what can be improved. No commitment.
Evaluate your site