
When allocation point and exposure point differ
A common issue in A/B testing is when the allocation point does not align with the exposure point. Learn why it matters, how it impacts your a/b tests, and how to address it.

The exposure point is the moment a user actually encounters the change, as opposed to the allocation point where they were assigned to a variant. The gap between the two dilutes every measured effect, and closing it is usually the cheapest available sensitivity gain.
Two distinct moments matter in an experiment and they are routinely conflated. The allocation point is when a user is assigned to a variant, usually on their first request. The exposure point is when they actually encounter whatever changed — reaching the page, opening the screen, receiving the email. Between those two moments a user is in the experiment and has experienced nothing.
For a change confined to a narrow surface, most assigned users never reach it, and every one of them is identical between arms. If 12% of users see the changed page, then 88% of both arms are contributing pure noise to the comparison, and the measured effect is roughly an eighth of the effect on the people who actually experienced the change. This dilution is arithmetic rather than bias — the estimate is still unbiased for the population effect — but it can make a real and useful change undetectable.
Triggered analysis fixes this by restricting the comparison to users who reached the exposure point, in both arms. The sensitivity gain is proportional: triggering on a surface 12% of users reach recovers roughly eight times the effect size, which since sample requirements scale with the square of the effect is an enormous saving. This is usually the largest single lever available in an experiment's design and it goes unused more often than any other, because it needs exposure instrumentation that does not exist by default.
The rule that makes it valid is precise, and getting it wrong produces a confident and completely spurious result. The trigger must be an event that the treatment could not have influenced, and it must be recorded identically in both arms. "Reached the checkout page" is normally fine, because the change happens on that page and both arms have an equivalent event. "Clicked the new button" is never fine — control has no such button, so there is no comparable population, and the treated users who clicked are self-selected for being interested.
The practical check is whether the trigger fires at the same rate in both arms. If treatment users reach the exposure point more often than control users, the treatment is affecting who qualifies, and the triggered populations are no longer comparable. That rate comparison should be run automatically alongside the sample ratio mismatch check, since it is the same class of failure and equally invisible without it.
One dilution relationship, which explains both the problem and the size of the fix.
effect_all assigned = effect_exposed × exposure rateA 12% exposure rate shows about an eighth of the true effect across everyone assigned.
n_required ∝ 1 / effect² → triggering divides n by the exposure rateTriggering on a 12% surface cuts required traffic by roughly the same factor — see the sample size calculator.
trigger event must be independent of assignmentRecorded identically in both arms, and unaffected by the treatment. Otherwise the two triggered populations differ.
trigger rate in treatment ≈ trigger rate in controlA gap means the treatment is changing who qualifies — see the chi-square calculator.
A team tests a redesigned password-reset flow. Everyone visiting the site is allocated, but only users who actually start a reset ever see it. The experiment runs for two weeks across 890,000 allocated users, of whom 21,400 begin a reset.
The all-allocated analysis finds nothing. The triggered analysis finds a 0.81 point improvement in completion, from the same data.
A 41-fold dilution is what happens when a change lives on a surface almost nobody visits, and it makes the difference between an unusable result and a clear one. Both analyses are correct — they estimate different quantities — but only the triggered one answers the question the team asked, which was whether the new flow works better for people using it. The last row is what licenses the triggered analysis: trigger rates are 2.42% and 2.39%, a difference well inside noise, which confirms the treatment is not affecting who reaches the flow. Had the redesign also changed the entry link and pulled more people in, that check would have failed and the triggered comparison would have been between different populations. Worth noting the business framing too: 0.81 points on 2.4% of users is a small absolute number, and whether it justifies the work is a separate question from whether the effect is real.

A common issue in A/B testing is when the allocation point does not align with the exposure point. Learn why it matters, how it impacts your a/b tests, and how to address it.


Randomization is one of the cornerstones of AB testing. But why is randomization so important, and how can we achieve it? In this post, we'll address these two key questions. Because without proper randomization, no A/B test can be considered valid.

Applying it to a live measurement problem is the part that goes wrong. If you are designing an experiment, reading a result you do not trust, or trying to work out what your marketing actually caused, that is the work we do.