Personyze
Website & app
Website PersonalizationContent, offers and layout shaped to each visitor — one profile across every page and every session.Recommendation EngineWhat each visitor wants next, ranked by the algorithm you pick or one you write.A/B TestingA winner per audience, promoted mid-campaign rather than after it.Dynamic Landing PagesThe whole page recomposed per visitor — headline, imagery and offer from the ad they clicked and their own interests. On pages you already run.AI Search & Chat AgentAnswers from your own pages and catalogue, and a search box that replies in a sentence.Banners & Pop-UpsYou decide who sees each banner or pop-up — by behavior, source, location or CRM field — and when it appears.AI Promotion ManagerYou list the offers; the AI picks the one each visitor sees and keeps learning from what converts.Social ProofLive scarcity, ratings and what other people just did.
Email, push & SMS
Email PersonalizationContent and recommendations picked per reader at open time — sent from Personyze or pasted as one block into your ESP.Push, SMS & WhatsAppFired by what they just did rather than by a schedule.Hosted Landing PagesThe same per-visitor page, served by us — your domain or ours, no site to deploy to.
Targeting & analytics
Behavioral TargetingSegments that update themselves from what people actually do.Audience DiscoveryPlain-language audiences found in your own data — visitors who convert several times more often than average, targetable in a click.ABM MarketingThe company behind an anonymous visit, joined to your CRM.Website AnalyticsSessions, bounce and revenue — then click a row and there is a person.
Platform & integrations
MCP ServerRun your account from Claude, ChatGPT or any MCP client.IntegrationsHubSpot, Salesforce, Twilio Segment, Tealium, GTM and the REST API.App MarketplaceThe integrations built in to every plan, and apps from other companies that Personyze reviews before listing.APIs, SDKs & AutomationOne REST endpoint over every object, server and mobile SDKs, rules and reports that run on their own.
Reviews, surveys & chat
Reviews & TestimonialsReviews from 17 platforms and your own site, matched to each visitor.Surveys & NPSOne question or a whole survey — every answer ready to target.AI Chat AgentAnswers visitors’ questions from your own pages, and hands over to a person.Meeting SchedulerThe right visitors book time with your team, on your own page.
PricingVideosProduct TourShort narrated videos of the real platform, one feature at a time.
← 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.