Discount wheel

Spin the wheel discount for your online store

Spin the wheel discount, done so it cannot run away with your margin: a visitor spins, wins a code and uses it at your checkout. You decide how often the wheel wins and the most it may give away in total, the server decides every spin before the wheel moves, and the promotion stops at your limit instead of at your margin.

win rate 25%budget $600

From idea to a live wheel in 4 steps

  1. Build the wheel

    Sign up free, pick the wheel (or a scratch card or a mystery box) and add your prizes: percent off, an amount off, a free item from your catalogue, or a prize you describe yourself. Losing slices show a consolation message you write.

  2. Set the limits

    Choose the win rate, the budget cap and the maximum number of winners. Then add plays per player, a cooldown, a minimum purchase for any prize that needs one, and how long codes last.

  3. Put it on your shop

    Install the Shopify app or the WooCommerce plugin, or paste one script tag on any other site to show the wheel as a pop-up. You pick when it opens. No shop yet? Share a game link or its QR code instead.

  4. Let the code close the sale

    The winner uses the code at your checkout. The Shopify app and the WooCommerce plugin check it there; any other checkout checks it through the API, and staff at a counter mark it used from a PIN-protected link.

What you control

A wheel is cheap to add and easy to lose money on. These are the settings that keep it a promotion you planned.

Win rate
The share of spins that win anything at all, and each prize's own chance inside it. Shoppers never see these numbers.
Budget cap
The most the wheel may give away. Every code handed out reserves its value; a code that expires unused gives it back.
Maximum winners
A lifetime count that never goes down, so a busy day cannot create more winners than you planned.
Plays per player and cooldown
How often one shopper may spin. Without a login these are counted per browser, so treat them as a brake; the play rate limit and edge filtering are what stop abuse.
Minimum purchase
Per prize. A free item or a large discount can ask for a basket of a set size first.
Code expiry
Seven days by default, so a prize is a reason to order now rather than some day.
Email confirmation
Optional. The winner confirms an email with a one-time code before the prize code appears.
Public terms page
Every game gets one at a permanent link: every prize, what is left, the expiry and your own terms. It never shows the chance of winning.

Where the wheel runs

Shopify
Connect the DealCraft Shopify app from Integrations and switch its app embed on in the theme editor.
WooCommerce
The free DealCraft plugin from WordPress.org shows the game and checks every prize code at the cart.
Any other online store
One script tag shows the wheel as a pop-up on any site, and the API lets your checkout check a code and mark it used.
A link or a QR code
A timed game link for a newsletter, a live stream or a printed QR code at the till, with no website needed.

Why the server decides the spin

Many wheel pop-ups pick the winning slice in the shopper's browser. Anything that runs in the browser can be read, replayed or edited by a curious visitor, and the prize list travels with it.

DealCraft decides each result on the server before the animation starts. Prize weights, remaining stock and the budget never reach the browser, so the wheel only shows a result that was already settled against your limits.

1. Shopper taps Spin2. Server decides the resultwin rate · budget · winners3. Wheel shows that result

Work out the budget before you launch

Take a simple example. Say 1,000 people spin in a month, one spin in four wins, and the average prize is worth 6 dollars. If every winner used their code, the wheel would cost 1,500 dollars.

Now set the budget cap at what you are willing to spend, say 600 dollars. Once the codes handed out reach it, the wheel stops giving prizes, whatever the traffic does. A slow week costs less; a viral one cannot cost more.

$1,500$600all codes usedbudget cap

What to avoid

A wheel where every slice wins teaches shoppers that the discount is the real price. Keep some losing slices and make the consolation message useful, for example free shipping information or a bestseller.

A big prize on a cheap product with no minimum purchase invites people to take the prize and nothing else. Put a minimum purchase on the prizes that need one.

A pop-up that opens on the first second of the first page interrupts people who have not seen a product yet. Open it after some time on the site or a few pages instead.

Questions

Is there a free plan?
Yes. The free plan includes 200 plays a month and needs no card. Paid plans start at 29 dollars a month when you need more plays.
Does it work with my store platform?
There is a Shopify app and a WooCommerce plugin. On any other platform, one script tag shows the wheel as a pop-up and the API checks codes at your checkout.
What win rate should I set?
Start from the budget, not the rate. Decide what the promotion may cost, set that as the cap, then pick a win rate that makes winning feel possible. The cap holds whatever rate you choose.
What happens when the budget runs out?
The game stops handing out prizes. Codes already won keep working until they expire, and an expired unused code returns its value to the budget.
Can shoppers cheat the wheel?
Not by editing the page, because the result is decided on the server before the wheel moves. Plays per player, a cooldown, a play rate limit and optional email confirmation limit repeat plays.
Is it only a wheel?
No. The same promotion can run as a wheel, a scratch card or a mystery box. All three use the same server result and the same limits.

Put a discount wheel on your store today

Create a free account, add your prizes and set the win rate and the budget cap. Then publish it with the Shopify app, the WooCommerce plugin or one script tag.

Start free