A standard email popup converts at 3.5%. A woohoo spin-the-wheel converts at 13.2%. That's a 3.77× difference on the same traffic, the same offer, and the same email address. This playbook is everything we know about closing that gap — and the mistakes that close it back up.
For three years, gamified popups have been treated as a Black Friday gimmick — the conversion equivalent of a fluorescent sign in a bookstore. The numbers in this document make a quieter argument: the spin wheel converts well because it respects how decisions actually get made on a product page. The psychology underneath would work just as well in a luxury home-goods store as in a fast-fashion drop. It's not the chrome doing the work.
// Chapter 02The three psychology levers doing all the real work.
Strip out the confetti and the brand-colored slices, and there are three things doing the lifting. None of them are unique to spin wheels, but spin wheels are the cleanest way to pull all three at once.
Variable reward
The discount on a fixed popup ("Get 10% off!") has a known payoff. The discount on a wheel doesn't. Variable-ratio reinforcement is the most powerful behavioural schedule in psychology — Skinner demonstrated this in pigeons in 1957; B.J. Fogg's lab quantified it in humans seventy years later. Both got similar effect sizes.
Earned outcome
A coupon by email feels like an ad. A coupon you spun for feels like something you won. The IKEA effect — we overvalue things we contributed to — kicks in around the second click. Visitors who spin redeem the resulting code at 2.4× the rate of visitors who receive the identical code by email.
Sunk-cost commitment
Once a visitor types an email and clicks "spin," they have made a small but real investment. Closing the popup now means losing the wheel without seeing the result — which feels worse than it should.
Wheels convert better not because users like wheels — but because they're the only popup in the category that respects how decisions actually get made.— woohoo internal post-mortem, Q1 2026
The micro-commitment ladder is more important than the mechanic.
If you take one thing from this playbook: the game converts because it lowers the cost of the first click, not because the game is fun. Any mechanic that lets a visitor say "yes" before committing to "yes and give me your email" beats a static form. Quizzes, gift boxes, scratch cards — all run on the same ladder.
// Chapter 03The mechanics that actually move numbers.
We tested every popup setting we could vary across the cohort. Most made a difference; a few made an obscene difference. In rough order of impact:
- Prize odds. Wheels with one big-prize slice (40% off) at 0.5–2% probability and the rest small (5–10%) outperform even-slice wheels by 2.1×. Visitors don't actually want to win the jackpot — they want to almost win it.
- Trigger timing. Time-based triggers lose to behaviour-based. The best-performing trigger is 40% scroll depth on a product page — committed enough to want the discount, not so close to checkout that they'd ignore it.
- "No thanks" copy. Opt-out copy matters more than the headline. "No thanks, full price is fine" converts 14% more visitors than "Close."
- Brand fit on chrome. Default chrome (pink, yellow, glitter) wins on fast-fashion. Same chrome on premium home goods loses 30% of conversions. Strip the carnival.
- Email validation timing. Asking before the spin beats asking after by 6%.
// Chapter 04Prize odds, and the math behind them.
The "spin" is real — the wheel rotates with a weighted-random outcome client-side, then the back-end validates which slice it landed on. The math is yours to tune. Most stores get this wrong on day one by treating slice probability as equal to visual size.
slices = [
{ label: "40% off", odds: 0.005 },
{ label: "30% off", odds: 0.02 },
{ label: "25% off", odds: 0.05 },
{ label: "15% off", odds: 0.20 },
{ label: "10% off", odds: 0.40 },
{ label: "5% off", odds: 0.20 },
{ label: "FREE ship", odds: 0.10 },
{ label: "Try again", odds: 0.025 },
]
The default ships with this math because it's what our cohort's best-performing wheels look like, on average. The 40% slice is visually identical to the 5% slice, but the probability is 80× lower. Tilt this too far toward the jackpot and you'll bleed margin; tilt too far away and visitors stop trusting the wheel.
// Chapter 05Mobile is a different animal.
Mobile spin wheels convert 40% better than mobile email forms — a larger relative lift than desktop. But the mechanics are different. Three things changed on phones:
- The wheel needs to be at least 280px wide to feel "real." Smaller and visitors don't trust the spin is random.
- Email validation has to happen on the keyboard-down state, not the spin. Forcing the keyboard back up after the animation tanks conversion by 9%.
- Haptics matter. iOS devices with
Haptics.mediumon each slice tick converted 11% better than the same wheel without. We didn't expect this. It's real.
// Chapter 06Stopping the visitors trying to game your wheel.
If a wheel ever paid out the jackpot on the first spin, that 0.5% slice would have been hit by a bot inside ten minutes. Anti-cheat is not optional; it's just usually invisible. The defaults that ship with woohoo:
- Weighted odds. The 40% slice visually occupies 1/8 of the wheel. Its actual probability is 0.5%. The wheel still spins fairly — the visual outcome and the probability are independent.
- Email validation before spin. Asking for the email before the wheel spins cuts fake emails by 73%.
- Cookie-based attempt cap. One spin per visitor per session by default. Clearing cookies doesn't reset it.
- Fingerprinting. Browser + IP + ESP-side email collision detection. Most cheaters never know they've been ratelimited.
- Disposable email blocking. 1,200+ disposable domains blocked by default; custom list per account.
- Frequency cap. 14 days between spins for the same visitor by default. Stores who ignore this lose 60% of the lift.
// Chapter 07Brand-fit checklist (does the wheel even belong here?).
The single biggest cause of underperformance in our cohort isn't the wheel; it's running the wheel on the wrong store. A quick test before you ship one:
- Do you discount? If yes — wheel is fine. If your brand position is "we don't discount," skip the wheel and use pick-a-gift instead.
- Is your AOV above $200? At higher AOV, the perceived value of a discount drops; gift-with-purchase outperforms discount-by-spin.
- Is most of your traffic returning? Returning visitors hate game popups; the lift comes mostly from new visitors. Targeting matters.
- Is your category emotionally loaded? Beauty, fashion, food & bev — wheel works. Funeral services, B2B insurance, mental health — no.
Shown to the same visitor twice in a session, the wheel converts worse than not showing it at all. Visitors who saw it once and dismissed it get angry the second time.
// Chapter 08Targeting & triggers, in one rule.
Across all 4,212 stores, one targeting rule accounted for a disproportionate share of the lift. We ship it as the default for the spin-wheel template:
show when {
visit_count >= 2 AND
scroll_depth > 40% AND
last_seen_popup > 14d AND
cart_value == 0
}
Returning visitor, scrolled enough to indicate intent, hasn't seen our popup in two weeks, hasn't started a cart. Stripping it down to these four conditions outperformed every "smart" timing algorithm we tested.
// Chapter 09What the wheel is actually worth to your store.
A worked example for a store doing $100k/month with 80k monthly visitors. The math holds at order-of-magnitude bigger or smaller.
Of those 10,560 emails: ~38% redeem the resulting code at an average $84 AOV — adding ~$336k in attributed revenue per month before any downstream email program. Compare against a 3.5% baseline popup that would capture 2,800 emails for $89k attributed.
// Chapter 10Three stores. Three real outcomes.
DanForce (Israel) — after a year on a regular popup, switched to the woohoo wheel and watched click-through climb from 6% to 17%, with conversion doubling. "The customer service is great and responds super fast."
Sunchill (United States) — has run WooHoo Spin to Win for almost two years. The sign-up and reward-redemption rates keep growing the email list and boosting sales, while keeping the energy playful and non-intrusive.
Strictly Static (United Kingdom) — brought in over £1,000 in sales leads in a single week from spin-the-wheel. "Well worth the install — I'd highly recommend adding it to your store."
Read all 188 reviews from real store names at /customers.
// Chapter 11Implementation. Five minutes.
The five-minute median is real. The flow:
- Sign up, paste your Shopify URL — brand kit auto-imports.
- Pick "Lucky Wheel" — defaults from this playbook ship pre-configured.
- Edit the slice copy. Don't touch the odds for at least a month.
- Set the trigger rule. The default in chapter 08 is one click away.
- Hit publish. The script is async, under 10KB gzipped, doesn't touch your Lighthouse score.
If your lift isn't at least 2× over your current popup in two weeks, the wheel isn't the problem — email our team and we'll dig in.