Game Master
$49.00

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.

5
Ways for shoppers to play
5
Moments you can choose to ask
3
Ways the prize reaches them
2
Versions racing head to head

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

A speciality roaster pulls steady traffic from brewing guides and loses nearly all of it. People read the article, enjoy it, leave. The footer newsletter box captures roughly nobody. They set a scratch card to appear at forty percent scroll depth — deep enough to prove the reader is genuinely engaged — offering free shipping at high odds, ten percent at moderate odds, and a free bag of the seasonal single origin at one in two hundred, capped at twenty bags. Codes land in the inbox and in the cart at the same time. Anyone who closes it gets a forty-eight hour rest. Free shipping is the prize that lands most, which is exactly what they wanted: it converts a first coffee order and costs them the least.

The promotion needs to be live only for the sale window and only on sale categories. They build one campaign with a start and end date, target it to the two sale categories, pick the exit trigger, and choose the drawer docked to the right so the page stays visible behind it while shoppers keep browsing. Then they clone it — same prizes, different game, different headline — and split the traffic down the middle. Four days later the scoreboard is unambiguous: one side captured more addresses, the other produced more redeemed codes and more revenue. They keep the one that made money rather than the one that made signups, and the whole thing switches itself off when the sale ends.

Plenty of first orders, not enough second ones. They do not need more leads — they need the people they already reached to come back. So they skip the interruption entirely and dock a permanent tab to the side of the page: no timer, no ambush, just an always-available invitation for anyone who wants it. Prizes are weighted toward larger multi-tub bundles, the claim window is twenty-four hours, and the code drops straight into the cart. Reminders go out to winners who never spent it. The dashboard's coupon-versus-everyone-else comparison then tells them in one line whether the bundle bias is genuinely raising basket size or just discounting orders that were already coming.

This retailer sells across the EU, takes data protection seriously, and had avoided popups entirely because the last thing they wanted was an unauditable pile of email addresses. They switch on the consent tick-box with wording their own advisor wrote, so nothing is ever captured without it, and the exact sentence each shopper saw is filed alongside their record. The export carries a consent timestamp per address. When somebody asks to be forgotten, the housekeeping pass retires their live code so no spendable discount is left pointing at a deleted person. And everything lives on their own server, in their own database, on their own Joomla install — with no third party holding the list hostage.

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)


  • Developer J2Commerce
  • Extension Type Apps
  • J2Commerce Version 6.x
  • Joomla Version 6.x
Language Translations
Arabic UnitagArabic Unitag
Chinese, TraditionalChinese, Traditional
DanishDanish
DutchDutch
EnglishEnglish
English, USAEnglish, USA
FinnishFinnish
FrenchFrench
GermanGerman
GreekGreek
HebrewHebrew
ItalianItalian
JapaneseJapanese
Norwegian BokmålNorwegian Bokmål
Persian FarsiPersian Farsi
PolishPolish
Portuguese, BrazilPortuguese, Brazil
Portuguese, PortugalPortuguese, Portugal
RussianRussian
SpanishSpanish
SwedishSwedish
TurkishTurkish

Fix 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.