Your Discount Popup Is a Beggar. This One Is a Casino.
Nobody reads a grey box asking for a favour. Everybody plays a game. Five of them, real single-use codes for every winner, and a dashboard that tells you exactly what it earned.
Everything Your Grey Box Never Did
A form asks first. A game gives first. That is the entire difference, and it is why one of them gets closed in under a second and the other one gets played.
Five Ways to Play
Spin wheel. Scratch card. Slot machine. Pick-a-prize grid. Card flip. Every one is something a shopper does with their finger instead of something they dismiss with their thumb. All five work on a phone.
Ask at the Right Second
On arrival, after a delay you choose, at the exit moment when the cursor bolts for the close button, at the scroll depth that proves real interest, or a permanent tab on the page edge they open themselves.
Show It Only Where It Earns
Whole site, or only on the menu pages, products and categories you name. Plus a switch that keeps it away from checkout, because interrupting someone mid-card-number is self-harm with extra steps.
Stop Pestering People
Days between showings. A hard stop for anyone who already won. A cooling-off window in hours for anyone who closed it. Signed-in shoppers are remembered on every device they own.
The Farmer Hits a Wall
Rate limiting by connection, and one live prize per visitor, per email address, per account. Somebody will open a private window and type a burner address. They will feel clever for about four seconds.
You Set the Odds
Every prize carries a weight, so free shipping can land constantly while the headline discount lands once in a hundred. Cap how many of each prize exists. Generous to play, exactly as cheap as you decided.
Real Codes, One Per Human
Each winner gets a code minted for them alone, carrying the rules of a coupon you already set up. One person, one use, one expiry clock. Not a shared code sitting on a scraper site by Thursday.
A Ceiling on the Giveaway
Cap the total number of codes the promotion may release. The games stop handing them out the moment that budget is spent, even with hundreds playing at once on your biggest day. No 3am discovery.
Three Ways to Hand It Over
On screen with a copy button. In their inbox, so it survives the closed tab. And dropped straight into their cart, so there is nothing left for them to type, remember or mistype.
Chase the Ones Who Forgot
One reminder to winners who never spent the code, on a delay you set, written in the Joomla editor or the drag-and-drop builder. Then it stops. One nudge is helpful. Two is nagging.
Looks Like Your Store
Four ready-made looks, or take the backdrop, headline, button, gradient, corners, wheel ring, pointer and centre hub into your own hands. Friendly, professional or witty wording. Confetti optional.
Consent, and Forgetting, Done Right
An optional tick-box in your own words, enforced on the server, with the exact wording stored beside the address as evidence. Erase a person and their live discount code retires with them.
Stop Guessing Which Version Works. Race Them.
Clone any campaign into a second version. Change the game, the headline, the colours, the offer — whatever you actually want to settle. Split the traffic however you like and let two weeks of real shoppers decide it for you.
The same visitor always lands on the same version, so nobody sees a wheel on Monday and a scratch card on Tuesday and wonders what kind of operation you are running.
- Both sides keep their own scoreboard, side by side in one table
- Impressions, plays, engagement, emails, wins, redemptions and revenue
- Set the traffic share to whatever you are comfortable risking
- Beats two hours of a meeting where everyone shares their feelings about orange
The Dashboard Answers the Only Question That Matters
Not how many signups. How much money. Everyone selling you a signup form goes quiet at that question, because the honest answer would end the sale.
Impressions, addresses captured, the revenue those codes genuinely produced, redemptions, a trend line, a breakdown by game format, a top-performers table — and the line that settles every argument: what coupon shoppers spend on average against what everyone else spends.
- Seven, thirty or ninety days, or any range you type
- Every campaign gets its own row of numbers
- Download the whole list when you want it somewhere else
- Find out this month instead of next year
Three Ways to Show It, Sized for Every Screen
A tight modal when you want the game and nothing else. A wide split panel with your artwork beside it when the offer needs selling. Or a drawer that slides in from the edge and leaves the page visible behind it, so browsing never stops.
Choose which edge the drawer docks against, then set how wide it runs and how big the game inside it sits — separately for phones, tablets and desktops. No squashed wheel. No drawer eating a phone screen.
- Compact modal, split panel, or docked drawer
- Left edge or right edge, your call
- Drawer width and game size set per screen size
- Both template families, chosen per page, in twenty-two languages
Real-World Use Cases
Stop Asking. Start Dealing.
Every anonymous visitor who leaves today leaves forever, because you have no way to reach them — and your grey box is not going to change its mind about that. Give them something worth playing, hand the winners a code with their name on it and a clock ticking, and let the dashboard tell you what it made. The wheel spins. The maths is yours.
Translated In The Following Languages
Arabic Unitag (ar-AA), Chinese, Traditional (zh-TW), Danish (da-DK), Dutch (nl-NL), English (en-GB), English, USA (en-US), Finnish (fi-FI), French (fr-FR), German (de-DE), Greek (el-GR), Hebrew (he-IL), Italian (it-IT), Japanese (ja-JP), Norwegian Bokmål (nb-NO), Persian Farsi (fa-IR), Polish (pl-PL), Portuguese, Brazil (pt-BR), Portuguese, Portugal (pt-PT), Russian (ru-RU), Spanish (es-ES), Swedish (sv-SE), Turkish (tr-TR)
License Information
An active license entitles you to updates, downloads, and support for the duration of the license period. You may continue using this plugin indefinitely without an active license; however, support, updates, and downloads will not be available while your license is inactive.
- Developer J2Commerce
- Extension Type Apps
- J2Commerce Version 6.x
- Joomla Version 6.x
Arabic Unitag
Chinese, Traditional
Danish
Dutch
English
English, USA
Finnish
French
German
Greek
Hebrew
Italian
Japanese
Norwegian Bokmål
Persian Farsi
Polish
Portuguese, Brazil
Portuguese, Portugal
Russian
Spanish
Swedish
TurkishFix Decide the prize draw against the recorded play, not browser-held state alone
Fix Hold the one-win-per-visitor setting to settled coupons as well as live ones
Fix Reconcile the schema on install and update so a replayed column definition cannot abort the run
Fix Derive the reminder shop link from the configured site address, so scheduled sends address correctly
Fix Restrict the campaign webhook to public addresses and stop it following redirects
Fix Retire coupons whose lead record no longer exists so an erased visitor leaves no live discount code
Fix Bound the visitor cookie where every caller reads it, and answer failures generically
Fix Hold the shown and dismiss tasks to the checks the spin task already applies
New Feature Record the consent wording shown at capture time as consent evidence
New Feature Add UIkit 3 game templates alongside the Bootstrap 5 set, chosen by the subtemplate setting
New Feature Add translations for 20 further languages
Improvement Adopt the shared J2Commerce scheduled tick, and add the task on install when none covers this plugin
Improvement Index the coupon-to-lead join used by the reminder job and the cleanup sweep
Fix Apply the frequency cap when deciding to show a campaign, not when playing one already shown
Fix Address the shop link in reminder emails from the site origin rather than doubling the base path
Fix Resolve a variant by existence rather than published state on the admin and integrity paths
Fix Report the average-order-value comparison as unavailable until a coupon has been redeemed
Fix Carry the off-canvas wheel and its pointer to whichever edge the drawer is docked against
Fix Return focus to the control that opened the popup when it closes
Fix Warn when a grid game is saved with too few prizes to offer a choice
Update Requires Joomla 6.x and J2Commerce 6.x
You may also be interested in these products
Stay Updated
Subscribe for free and be the first to know about the latest features, updates, and new additions.