Skip to content
Personyze
← All articles
PersonalizationOctober 2, 2026

Is Your Discount Moving Anyone? Measure Promotion Lift with a Holdout

P
Personyze TeamPersonalization experts
Is Your Discount Moving Anyone? Measure Promotion Lift with a Holdout

Every promotion report shows redemptions. A code was used 388 times; a banner was clicked 812 times. Those numbers say who used the offer — not who bought because of it. A customer who was going to check out anyway, saw a 10% code on the way and used it, counts as a redemption. To the business, that is a discount given away.

The question that matters is the lift: how much more did people buy because they saw the promotion? The only honest way to answer it is to compare them with people who did not see it.

Hold back a share of visitors

In Promotions, any widget can keep a holdout: a share of visitors who see no promotion at all. Everyone else sees whatever the widget picks for them. The report then shows the lift — how much more the visitors who saw promotions bought, or how much more often they reached your goal, compared with the held-out group. It starts showing once 50 visitors have been held out.

Left: 388 codes used, drawn as identical dots. Right: purchases by visitors who saw a promotion compared with a held-out group; the extra part is marked as the lift.
A redemption count includes customers who would have bought anyway. Comparing purchases with a held-out group that saw no promotion shows only the part the promotion caused. The bars are an illustration.
Most visitors
See the promotion the AI picks

Their views, clicks, codes revealed, redemptions, purchases and revenue are counted per promotion.

The holdout
See nothing

They are the baseline. What they buy anyway is what the promotions have to beat.

Watch it done · 2:40 The holdout is one field in the widget’s Output step; the Report then shows the lift beside each promotion’s views, clicks, codes and purchases. See it with the rest of the tutorials →

Read it audience by audience

One lift number for the whole site hides the most useful thing: a promotion moves some people a lot and others not at all. The report filters by widget, page category, language and audience, so you can see who a promotion really moves.

Lift over the holdout, by audience · illustration
Purchases, last 30 days, 5% held out
Spanish speakers, outerwear1,240 visitors
+34%
Returning, cart over $504,210 visitors
+19%
New, from paid search6,830 visitors
+12%
Mobile, browsing footwear2,150 visitors
+7%
VIP customers520 visitors
−3%

The line is zero: the held-out visitors. Bars to the right bought more than they did; the VIP row bought just as much without a discount.

In this illustration, Spanish-speaking shoppers on outerwear respond strongly to the promotion in their own language, returning shoppers with a full cart respond to a code that rewards a bigger order — and VIP customers buy just as much with no discount at all. That last row is the money: keep the discount for the visitors it moves.

The AI uses the same signal. Personalized by audience learns every six hours which kinds of promotion work for visitors like this one — device, traffic source, new or returning — and Optimize shows the promotions that earn the most more often, while still trying the rest. The report’s “Who responds to what” view shows what it has learned. To find audiences you had not thought to check, Audience Discovery reads your own data the same way.

Codes that cannot leak

A shared code can end up on coupon sites, and from then on it is redeemed by people the promotion was never meant for — which also makes its numbers meaningless. A pool of codes fixes both: load the codes, and each visitor is handed one of their own — the same one when they come back.

A product page for a down jacket with a coupon card showing the personal code HLD-7KQ2-M9 and a “Copied” button, next to notes on revealed, redeemed, return visits and an empty pool.
Each visitor is handed a personal code from a pool, and the same one when they come back. Copying it counts as revealed, using it at checkout as redeemed, and a pool that runs dry pauses the promotion.
  • Revealed — a visitor clicking “Copy code” counts as a code revealed.
  • Redeemed — a code used at checkout counts as a redemption, against the promotion that handed it out.
  • Out of codes — a promotion whose pool runs dry pauses itself and says so (“no codes left”) until you add more.

A code of their own can also be generated from a pattern such as SAVE-{6}, issued by your own coupon engine, or kept hidden behind a personal key that applies the store’s code at checkout. Shared codes and codes that depend on the cart value work too, wherever a personal code is more than you need.

Adding a coupon: shared code, code pool, generated codes, coupon engine or protected code
Adding a coupon. A shared code, a pool, codes generated from a pattern, your own coupon engine, or a protected code.
The coupons: each with its kind, code or pattern, how many were handed out and used, and codes left
Every coupon, counted. How many codes went out, how many were used, and how many are left in a pool. A demo shop.

See why each visitor got what they got

When the numbers look odd, the first question is “what did this visitor actually see, and why?”. Preview as shows a widget as a real visitor and lists every promotion with the reason it was shown or skipped — shown as Optimize’s pick, fits but not picked this time, skipped because the company is under 1,000 staff, skipped because the visitor signed up twelve days ago.

PromotionFor this visitor
Upgrade now: 20% off your first yearShown · trial day 12, Optimize’s pick
Annual plan: two months freeFits · not picked this time
A 30-day pilot, set up by our teamSkipped · company under 1,000 staff
Agency partner discountSkipped · industry is not agency

Illustration: a SaaS pricing page, previewed as a trial user.

The whole program on one screen

The Overview answers the morning questions: is it on, how the numbers compare with the period before, what needs your attention, which promotions lead, and what starts or ends this week. The Calendar lays the next five weeks out by page category, flags a gap before a page goes quiet, and shows a clash where two promotions want the same spot.

A five-week promotions calendar with rows for Outerwear, Knitwear, Footwear, Bags and every page, a dashed gap on Footwear from Oct 26 and two overlapping promotions on Knitwear.
The Calendar lays the next five weeks out by page category, flags a gap before a page goes quiet and shows a clash where two promotions want the same spot. Promotions and dates are examples.
The Promotions calendar: five weeks, a lane per page category, with live, paused and draft promotions
The calendar. The next five weeks by page category, with the gaps and the paused and draft promotions in view. A demo shop.

Put together, it changes the conversation about promotions from “how many codes were used” to “which offers made people buy, and who should get them” — the same discipline as an A/B test, applied to every offer you run.

See the lift report in AI Promotion ManagementHoldout, lift by audience, personal codes and “why this banner” — on the Promotions page.

Questions people ask

What is promotion lift?

How much more visitors bought, or how much more often they reached a goal, because they saw a promotion — measured against a held-out group of visitors who saw none.

How large should the holdout be?

Big enough to be a fair baseline and small enough not to cost much. Personyze shows the lift once 50 visitors have been held out; a small share, such as 5%, is often enough on a busy page.

Why are redemptions not enough?

A redemption says a code was used, not that the promotion caused the purchase. Customers who would have bought anyway still redeem codes they see.

Can each visitor get their own coupon code?

Yes. Load a pool of codes and each visitor is handed one — the same one when they come back. Copying it counts as revealed, using it at checkout as redeemed.

Can I see the lift for one audience?

Yes. The report filters by widget, page category, language and audience.

Let's talk

Book a demo with a personalization expert

30 minutes with a personalization expert. Bring your stack, your goals, your skepticism. We'll show you what changes when every visit feels like the only one.