Spin to win
Last updated: July 31, 2026
The Spin to win block lets your customers spin a prize wheel inside the email and reveal a discount code. You choose what is on each slice, and you choose how likely each slice is to win.
This article covers how to build a wheel, how the odds work, and what customers see in email clients that cannot run interactive content.
Before you start
Your plan needs to include Gamification. If you do not see Spin to win in the block list, that is usually why. Contact your CSM to have it added.
Have your discount codes ready. You enter each code into the wheel as text, so the code needs to already exist in your store. See .
Build the wheel
Drag the Spin to win block into your email. You will find it in the Gamification group in the block list.
Add your slices. A wheel needs at least 2 slices and can hold up to 12. Each slice has:
the text shown on the wheel, for example "20% off"
a colour
a discount code, which is optional
optional font, text size, and text colour, if you want a slice to look different from the rest
Write the win card. This is what appears after the wheel stops. You can use two placeholders in it, and Zaymo fills them in based on the slice the customer landed on:
{prize}becomes the slice text, for example "20% off"{code}becomes that slice's discount code
Set the win probability for each slice. See the next section, because there is one rule here that catches people out.
Optional: turn on Confetti on win, and set a CTA link if you want a button on the win card that sends the customer to your store.
How win probability works
You set a probability on each slice, and Zaymo weighs the wheel accordingly. A few things are worth knowing.
The numbers do not have to add up to 100. Zaymo works out each slice's share from the total. So 1, 1, 2 behaves exactly the same as 25, 25, 50. Use whatever numbers are easiest to reason about.
Either every slice gets a probability, or none of them do. This is the one that catches people. If you set probabilities on some slices and leave even one blank, Zaymo ignores all of them and every slice becomes equally likely. So if you are weighting the wheel, fill in every slice.
A slice set to 0 will never come up. That is useful if you want to keep a prize on the wheel for appearances without ever awarding it.
Each customer gets the same result every time they open the email. The outcome is worked out from the recipient, not at random on each open, so a customer cannot reopen the email or reload it to get a better prize. It also means the result is the same whether they spin in Gmail, in Apple Mail, or on the hosted page.
Making some customers win nothing
Yes, you can do this, and it is a common setup. Add a slice with no discount code on it, give it whatever text you want, for example "Not this time", and give it a probability like any other slice.
Customers who land on that slice see the win card without a code on it. The line that normally shows the code is left out automatically when a slice has no code, so you do not need a separate design for it.
What the customer sees
The wheel spins for about four seconds, turning five full times before it slows and stops on the result. Then the win card appears with the prize and, if the slice has one, the discount code.
In email clients that cannot run interactive content
Not every inbox supports interactive email. In those clients, Zaymo shows a still image of your wheel with a Spin to win button underneath it. Tapping it opens a hosted page where the customer spins the wheel for real and gets the same result they would have got in the email.
For background on this behaviour across all blocks, see .
Good to know
A wheel with no slices on it will not render. Zaymo removes the block from the email rather than send an empty space, so make sure every Spin to win block has its slices filled in before you export.
Interactive blocks add to your email's size. If you are close to the limit, see