Popups, bars and games for Shopify
Most popups get closed.
Yours gets played.
Lucky You runs your email popups, announcement bars and spin-to-win games as targeted campaigns — the right offer to the right shopper, and every reward a real Shopify code you can trace back to revenue.
Free plan · no credit card · uninstall anytime · live in minutes
- Works with Shopify
- OTP-verified emails
- Start free

What is Lucky You?
One Shopify app for every offer you put in front of a shopper.
Lucky You is a Shopify app for capturing emails. It replaces the standard “enter your email for 10% off” box with something a shopper will actually finish — a plain popup, an announcement bar, or a game they play to win a real reward.
Whichever you pick, the machinery underneath is the same: targeting, scheduling, verified emails, a unique discount code per winner, and revenue attributed back through Shopify order webhooks. Live in minutes, no code.
For Shopify stores that want more email signups and more first-order conversions.
What you can run
Email popups, announcement bars and games worth playing.
Four surfaces, and each one is a whole campaign — so each one gets the same targeting, the same schedule and the same analytics. A popup and a bar can run at the same time.
Wheel, Plinko or Slide
A reward they play for.
Three games, each with its own rewards, odds, colours and themes. A campaign picks one — so a different game can run on phones than on desktop, and returning visitors need not see the same thing twice.
- Spin the Wheel, Plinko and Slide
- Ten permanent wheel styles plus six seasonal occasions
- Every outcome decided server-side — odds cannot be tampered with
- Cooldowns and pending-prize resume stop reward farming
On every plan, including Free
Sound on
That is the point of all four living in one app: you install Lucky You instead of a popup app and a bar app, and you keep the games no general popup app can offer.
Spin-to-win, done properly. All three games, on every plan.
Spin the Wheel
The classic, rebuilt.
- 10 styles
- 6 seasonal
- Custom odds
- Sound packs
Plinko
Drop the ball, win a tier.
- Reward tiers
- Thresholds
- Themes
- Sounds
Slide
Reveal-a-card prizes.
- Rarity system
- Reward cards
- Icons
- Themes
Campaigns
Stop running one popup. Run the right one for each visitor.
A campaign is one complete offer — its own game, rewards, look, audience, schedule and trigger. Run as many at once as your plan allows. They are checked top to bottom, and the first one that fits a visitor is what they see.
Who sees it
Select nothing and it shows to everyone. Targeting is opt-in narrowing, never accidental exclusion.
- Device
- Mobile, tablet, desktop
- Page
- Home, product, collection, cart, everything else
- URL
- Wildcard patterns, e.g. /collections/sale*
- Visitor
- First-time only, or returning only
- Subscribers
- Skip anyone who already gave you their email
- Traffic source
- utm_source, remembered from first touch
When it opens
Per campaign — plus one store-wide cap, so no visitor is interrupted more than once an hour, a day, or however you set it.
On click
Only when a shopper opens it themselves.
After a delay
A set number of seconds on the page.
On the way out
Desktop: the cursor heads for the tab bar. Mobile: a fast upward flick.
After scrolling
Once they have read a depth you choose, from 10% to 95%.
And three things no other popup app has
“Who sees what”
Describe a visitor and see exactly which campaign they get — and why every other one lost. It calls the same function the storefront does, so it cannot disagree with reality.
Conflict warnings
If a campaign can never show because one above it already matches the same visitors, the list says so and names the culprit.
A calendar, not a date field
Every campaign as a bar across the weeks. Build Black Friday in October and watch it sit in the future until it starts itself.
How it works
Play, verify, claim, redeem.
The same flow every shopper follows, whichever of the four you put in front of them.
For your shoppers
- 01
Sees the right offer
The one campaign that fits this visitor, on this page, today.
- 02
Wins a real reward
Outcomes come from rewards you configured — nothing fake.
- 03
Verifies their email
A 6-digit code confirms the address is real and deliverable.
- 04
Claims the code
Lucky You assigns them a genuine Shopify discount code.
- 05
Redeems at checkout
Redemption and attributed revenue are tracked back to you.
For you
Three questions, then it's live.
First run is one page with every question already answered. A merchant who reads nothing and presses “Turn it on” gets a good campaign. After that, campaigns are the only place the experience is edited — there is deliberately no second path.
Everything autosaves as a draft, so a refresh or a stray tab loses nothing.
Create your first campaign
- 1
What do visitors see?
WheelWheel, Plinko, Slide or a plain email popup.
- 2
What do they win?
10% offA percentage off, a fixed amount, or free shipping.
- 3
When does it open?
After 10sAfter a delay, on the way out, or once they have scrolled.
Where other popup apps stop
Anyone can show a wheel. The work starts after the spin.
A prize is only worth what happens next — a real address, a code that can't be shared, stock that never runs dry, and revenue you can trace to the campaign that earned it.
Verified emails, not junk
The email is verified before the code is issued — a 6-digit code with a 10-minute expiry, so typos and throwaways never reach your list.
Every code is unique
The code is theirs alone: a real Shopify discount code, reserved to one shopper and spent once. It cannot leak to a coupon site.
Rewards refill themselves
Pools are shared across campaigns and restocked automatically — generated, reserved, assigned, reconciled against Shopify and repaired if they break.
Revenue you can trace
Redemptions come back through Shopify order webhooks, attributed to the campaign that earned them.
Attribution, not guesswork
Find out which offer actually works.
Every impression, lead, reward and order is attributed to the campaign that earned it — so “which of my offers is working” is a question with an answer.
What you can see, per campaign
Impressions
Counted only when something actually appeared on screen.
Played
Distinct visitors who engaged, with repeat plays reported separately.
Emails
Addresses captured, and how many passed OTP verification.
Claimed
Codes handed out, and which rewards shoppers landed on.
Revenue
Orders placed with a Lucky You code, per campaign.
Revenue per 1,000 impressions
The fairest way to compare two campaigns, because it does not reward one for merely being given more traffic.
A funnel that cannot lie
Every stage counts distinct visitors, so the percentages are comparable and none of them can exceed 100%.
Measured per kind
A bar reports clicks. A popup that gives nothing away shows a dash under Claimed, never a zero.
A/B testing
It will tell you when it doesn't know.
Split a campaign into two versions and send a share of traffic to each. They can differ in anything — the rewards, the colours, the copy, even which game runs. No other popup app can A/B a game, because none of them have one.
- Never declares a winner under 100 visitors per version, or below 95% confidence
- Says how many more visitors you need, rather than leaving you guessing
- Says when two versions are genuinely the same — that is a real answer
- Promote the winner by hand, or automatically if you ask for it
From Growth
Not enough data yet
You need about 1,900 more visitors per version before this means anything.
Neither version is called until both have enough traffic to mean something.
And the rest of it
Everything else you'd expect it to do.
Real-time sync
Klaviyo, Omnisend, Mailchimp, or any webhook — Zapier, Make, n8n. A provider being down never blocks a shopper.
Delivery logs
Every sync, filterable by provider, status and event, with the full error and the original payload.
Phone numbers, properly
Off by default, skippable, and stored only against an unticked consent box. Lucky You never subscribes anyone to SMS.
Leads with attribution
Every email records the campaign that earned it. Filter and export by campaign.
Shared reward pools
Two campaigns offering 10% off share one pool and one Shopify discount. Set a reward up once, use it everywhere.
Self-healing rewards
Broken rewards, missing Shopify discounts and invalid codes are detected and repaired before a winner is left without one.
One switch, off
“Show Lucky You on my storefront”, at the top of the campaigns page. Everything stays exactly as you left it.
Downgrades delete nothing
Campaigns pause, settings revert, and un-pausing is one click after upgrading. Nothing is ever thrown away.
Pricing
You pay for reach, not per lead.
An impression is counted each time Lucky You actually puts something on screen for a visitor — not pageviews, not clicks, not leads.
Starter
$6.40/mo
billed annually
- Impressions
- 4,000 / mo
- Campaigns
- 3 running10 saved
$1.60 / 1k · For lower-traffic stores
Growth
$12/mo
billed annually
- Impressions
- 20,000 / mo
- Campaigns
- 6 running25 saved
$0.60 / 1k · Where A/B testing starts
Pro
Best value for most stores
$23.20/mo
billed annually
- Impressions
- 70,000 / mo
- Campaigns
- 12 running60 saved
$0.33 / 1k · Every targeting rule
Scale
$63.20/mo
billed annually
- Impressions
- 200,000 / mo
- Campaigns
- Unlimited runningUnlimited saved
$0.32 / 1k · High-volume
Free plan · no credit card · uninstall anytime · live in minutes
Campaigns running at once is the second axis. Drafts and paused campaigns never count against it, and neither do A/B variants or the coupon reminder.
| Included from | Free | Starter | Growth | Pro | Scale |
|---|---|---|---|---|---|
| Announcement bars | |||||
| Teaser tab | |||||
| Scheduling and the seasonal calendar | |||||
| Auto-end after N winners | |||||
| Exit-intent and scroll triggers | |||||
| Impression add-ons | |||||
| Device, page and URL targeting | |||||
| Multi-step capture | |||||
| A/B testing, including the game | |||||
| Integrations and delivery logs | |||||
| Visitor type, traffic source, skip subscribers |
On every plan including Free: all three games, every theme, the plain email popup, the coupon reminder, a unique code per winner, OTP verification, shared reward pools, lead export, per-campaign analytics, the “who sees what” simulator, conflict detection and the calendar.
Need more mid-cycle? Buy one-time impression add-ons, or enable auto-upgrade — you still approve it in Shopify. Upgrades apply immediately; downgrades at cycle end. Billing runs through Shopify.
- EU-based
- GDPR-compliant
- OTP-verified emails
- API keys encrypted (AES-256)
Made in the EU by a small team.
Questions
The things merchants ask first.
There is more in the help centre, or write to us at lucky.you.shopify@gmail.com.
See it for yourself
Play the actual widget. No install, no signup.
The demo store runs the same code your shoppers would — the same wheel, the same popup, the same bar. Spin it, verify an email, claim a code, end to end.
Free plan · no credit card · uninstall anytime · live in minutes
Sound on