How to set up and run an Instant Win campaign on Raflia, and what your participants experience.
For an overview of what Instant Win is and when to use it, see the Instant Win feature page.
Before you start
Instant Win is a tool you add to a Raflia project. Instead of collecting entries and drawing winners later, each participant finds out the moment they play whether they’ve won — wins are decided against a schedule that’s sealed with a cryptographic hash before the campaign launches, so results are verifiable afterward.
Have ready:
- A project (create one if you haven’t).
- Your prize list — each prize with a title and quantity. A prize with quantity 3 produces 3 winning slots.
- Your preset choice — Moments, Random Slots, or Every Xth — and the inputs for it (timestamps, max plays, or the X interval).
- Your reveal style — Scratch Card, Spin Wheel, or Instant Text. You can change this until you seal the schedule.
- Optional: a custom landing-page intro and call-to-action button label.
- Optional: an existing published form in the project, if you want participants to register before they play.
Three presets — choosing the right one
You’ll pick one of three presets when you set up your campaign. Each one decides when winning slots occur.
Moments: time-based
“Win throughout December — one prize every hour.”
You provide a list of scheduled times (for example, 24 times over a day, one every hour). The first play after each scheduled time wins. Plays that arrive between two scheduled times lose.
Best for: always-on campaigns, scheduled drop windows, hourly or daily promo timing — anything where the timing pattern matters.
You configure: the list of winning times, plus an end time for the campaign (must be after the last winning time).
Random Slots: randomly placed positions
“Win 50 prizes across an expected 5,000 plays — unpredictable which plays hit.”
The system places your winning positions randomly across an expected play range you set, and seals them before the campaign starts. Which plays will win is hidden until each play arrives — but the total count and the random placement are locked in up front.
Best for: fixed-prize-budget campaigns with an expected play volume, classic scratch-card feel, gift-with-purchase promos.
You configure: the maximum number of plays (must be at least your prize count, and ideally well above it to give the campaign room to breathe).
Every Xth: transparent rule
“Every 100th customer wins. Stated up front.”
Winning positions follow a fixed rule — positions X, 2X, 3X, and so on. The rule is stated publicly to participants (“every 100th play wins”). The integrity hash still covers the rule so it can’t be changed mid-campaign, but here the trust comes from transparency rather than secrecy.
Best for: promotions where the rule itself is the marketing message — mall activations, in-store campaigns, transparent giveaways.
You configure: the interval X, the first winning position (usually equal to X), and optionally a maximum play count if you want to keep collecting losing plays past the last win (useful for a follow-up grand-prize draw).
Step-by-step setup
1. Create the Instant Win tool
From your project page, click Add tool → Instant Win. Give it a title — this is what shows up on the public results page and the landing page — and save.
2. Add your prizes
In the tool’s Prizes section, add each prize you want to award:
- Title — what the winner sees.
- Quantity — how many copies of this prize exist. A T-shirt with quantity 10 means 10 winning slots go to T-shirt winners.
The total number of winning slots equals the sum of all prize quantities.
Tip: Add all your prizes before sealing the schedule. After sealing, prizes are locked — you can’t add, edit, or remove them.
3. Choose your preset and configure it
In the tool’s Schedule panel, click one of the three preset cards. Each shows a short example of how it behaves. Fill in the fields for your chosen preset:
- Moments — enter the list of winning times (one per line, in your project’s timezone) and the campaign’s end time.
- Random Slots — enter the maximum number of plays.
- Every Xth — enter the interval, the first winning position, and optionally a maximum play count.
A live preview shows the result (“wins on plays #5, #15, #25, …”) so you can check the rule before sealing.
4. Configure the reveal
In the tool’s Reveal section, pick the animation style:
- Scratch Card — the participant scratches to reveal the result. Reveals automatically after a few seconds if they don’t.
- Spin Wheel — an animated wheel that lands on the result.
- Instant Text — a fade-in branded card. Quick and clean.
Then customize:
- Win message — what winners see. Supports the placeholders {prize_title} and {participant_name}.
- Lose message — what non-winners see. Same placeholders.
- Reveal duration — how long the animation takes.
- Countdown — an optional 3-2-1 countdown before the reveal starts.
Click Preview to test both win and lose outcomes with a sample play before committing.
Preset defaults: Random Slots and Moments default to Scratch Card; Every Xth defaults to Instant Text. If you don’t change the style, the preset’s default is used when you seal. If you do change it, your choice is kept.
5. Set the per-participant play limit
Under the tool’s configuration, set Max plays per participant:
- 1 (default) — each participant can play exactly once.
- A custom number — for example, 5 plays per participant.
- Unlimited — no per-person cap; only the campaign’s total play count applies.
Open campaigns with no registration (no form attached) have no email or phone to count against, so the per-participant limit doesn’t apply — the campaign’s total play count is the only limit in that case.
6. Set up the landing page (or connect a form)
You have two ways to let participants play:
Open campaign (click-to-play) — Raflia hosts a branded landing page for your campaign. You can customize the intro text and the call-to-action button label (for example, “Play now” or “Try your luck”). The page automatically uses your project and team branding — logo and colors.
With a registration form — Connect a published form. When a single Instant Win tool is sealed in a project, the project’s published form automatically connects to it. Participants fill out the form, submit, and see the reveal animation in-page — no second page load. This route lets you collect contact details and consent before the play.
One Instant Win tool per form for now. If your project has more than one sealed Instant Win tool, the form falls back to its regular behavior. Support for multiple tools per form is on the roadmap.
7. Preview, then seal
Before sealing, review the prizes, the preset configuration, the reveal style and messages, and the landing-page text. Run the preview to see both win and lose outcomes as a participant would. Make sure everything’s right — after sealing, prizes can’t be edited and the schedule can’t be changed.
When you’re ready, click Seal schedule and confirm in the dialog. Raflia then:
- Generates the winning slots (positions or times, depending on preset).
- Assigns each slot to a prize.
- Generates the cryptographic hash that locks the whole arrangement — the project and tool identity, the preset, the play count, the prize assignments, and a unique random value.
- Marks the schedule as sealed.
- Creates the public verification page.
The tool’s status changes to Sealed. You’ll see a sealed badge, a summary of the preset, the play count, a shortened version of the hash, and a link to the public verification page.
8. Share the link
- Open campaign: copy the landing-page URL shown in the schedule panel.
- With a form: share the form URL as usual — submissions route through the Instant Win flow automatically.
During the campaign
Monitor live
The tool’s dashboard shows:
- Plays so far — total count, updated live.
- Winners — each winner as they’re determined, with prize, time, and name (subject to your anonymization settings).
- Remaining slots — how many winning slots haven’t been claimed yet.
- Public verification page — what participants and outside observers see.
Why a play might be rejected
Plays can be turned away for five reasons, shown separately so you can tell them apart:
- Already played — the participant has hit their play limit, or a project dedup rule blocked them. Working as configured.
- Capacity reached — the project’s plan entry limit is full. Upgrade the plan to accept more plays.
- Campaign over — the campaign has reached its sealed limit (Moments: past the end time; Random Slots and Every Xth: past the maximum play count).
- Campaign closed — the project has been completed or locked.
- Form validation failed — a form submission didn’t pass validation (only on form campaigns).
Participants see a neutral message; you see the specific reason in your dashboard.
Stop the campaign early (optional)
To end a campaign before it reaches its natural limit, click Complete project on the project page. New plays are turned away, and results already recorded stay on the public record.
After the campaign
Public verification page
The verification page shows:
- What was sealed — the integrity hash, the preset, the play count, and (once the campaign is over) the full revealed schedule.
- What happened — the complete play log, every play in order with its win or lose result.
- Who won — the winners, with prize, position, and name (per your anonymization settings).
Anyone with the link can check that the integrity hash matches the revealed schedule. The page is also clear about what the hash proves — that the schedule was committed in advance and hasn’t been altered — and what it doesn’t (it doesn’t hide the schedule from you or from Raflia staff with database access).
Unclaimed prizes
If the campaign ends with winning slots unclaimed:
- Those prizes stay unclaimed. Raflia doesn’t move or redistribute winning positions to other plays — that would break the seal and the integrity proof.
- The unclaimed slots are shown on the verification page, so the public record honestly reflects what happened.
Follow-up draw for leftover prizes
To award unclaimed prizes anyway, add a Random Picker or Jury Selection tool to the same project and draw among the participants who didn’t win. Every Instant Win play creates an entry, so losing plays are eligible. Cross-tool winner exclusion automatically skips anyone who already won an instant prize.
This is also how you run the “play instantly, and even if you don’t win you’re entered in a grand-prize draw” hybrid — add the follow-up tool before the campaign starts, and participants don’t need to do anything extra.
What participants experience
Open campaigns (click-to-play)
- The participant clicks your campaign link and lands on the branded page.
- They see your branding, intro, and a button.
- They click the button.
- An optional 3-2-1 countdown plays.
- The reveal animation runs — scratch, spin, or instant text.
- They see the result with your win or lose message.
- If they win, they see the prize and any next steps you configured.
If they refresh within 5 minutes, the result shows again. After 5 minutes the reveal expires and refreshing takes them back to the landing page — but the play itself is permanently recorded.
Campaigns with a form
- The participant fills out your form.
- They submit.
- The reveal animation appears in-page — no second page load.
- They see the result.
- If they win, they see the prize details and your win message.
What if they try to play twice?
If they’ve hit their play limit, they see a message like “you’ve already played” (you control the wording). They never see a fake “you lost” — Raflia keeps “turned away” and “lost” separate, so the campaign’s real odds aren’t misrepresented.
What if they share their result?
The reveal page isn’t bookmarkable. What participants can share is the public verification page, which shows all winners (subject to your anonymization settings) and the integrity proof.
FAQs
Can I edit prizes after sealing?
No. Sealing locks each winning slot to a specific prize, and editing prizes would break the integrity hash. To change prizes, start a new Instant Win tool with a fresh schedule.
Can I add more prizes mid-campaign?
No, for the same reason — the number of winning slots is fixed when you seal.
What if a participant wins twice?
If the play limit is set to 1 and dedup is on, they’re blocked from playing twice, so they can’t win twice. If you’ve set a higher limit (say 5 plays per participant) and they win on more than one of those plays, all those wins are valid.
What happens to participants between scheduled times in a Moments campaign?
They lose — there’s no prize available between two scheduled times. This is by design: Moments awards the first play after each scheduled time, not the first play of the hour.
What if two scheduled times pass with no plays?
The next play to arrive claims the earliest unclaimed time. The later one stays ready until the play after that. One play never claims more than one winning slot.
Can I use Instant Win with my own branding?
Yes. Both the landing page and the reveal animations use your project and team branding. Basic branding (logo, colors) is available on every plan; advanced branding such as custom CSS and a custom domain depends on your plan tier.
What plan do I need?
Instant Win is available on every plan, including Free. Each play counts as one entry against your plan’s participant limit, so your plan determines how many plays a campaign can take — not whether you can use the tool. A plan with a 1,000-entry capacity supports up to 1,000 Instant Win plays in a project, shared with any other entries from forms, CSV imports, and so on.
Can I delete a sealed schedule?
There’s no “delete and start over” option — the record is preserved for the audit trail. To scrap a campaign, complete the project (which locks everything) and start a new one. The sealed schedule and public record stay visible.
Is GDPR consent captured?
For campaigns with a registration form, yes — the form’s consent fields work exactly as they do for raffles, and consent records are saved and exportable. Open campaigns with no registration don’t collect personal data, so the play is recorded with no identifier.
Can I set this up through the API?
Not yet — the public API isn’t available in the current release (it’s on the roadmap). For now, Instant Win campaigns are set up through the dashboard and accept plays through the landing page or a form.
What about receipts and one-time codes?
Receipt-based entry and one-time redemption code entry are on the roadmap and not yet available. Today’s options are open campaigns (a public link) and campaigns with a registration form.
My campaign has no plays after a while — what’s happening?
A few common causes:
- The tool isn’t sealed yet. Plays only work after you seal the schedule.
- The campaign has reached its limit. Check the play count against the limit on the dashboard.
- The project is locked or completed. Check the project’s status.
- Rate limiting. The default limit is 30 plays per minute from a single source — high enough for normal traffic, but defensive against scripted abuse.
Where do I get help?
If you hit something this guide doesn’t cover, contact support with your project ID and the campaign’s URL — the activity log lets us see exactly what happened.
Quick reference
| Action | Where |
|---|---|
| Add an Instant Win tool | Project page → Add tool → Instant Win |
| Configure preset and play count | Tool page → Schedule panel |
| Customize the reveal animation | Tool page → Reveal section |
| Preview the reveal | Tool page → Reveal section → Preview |
| Seal the schedule | Tool page → Schedule panel → Seal schedule |
| Share the campaign | Landing-page link or connected form URL |
| Monitor plays and winners | Tool page (live counts) |
| View public verification | Linked from the tool page after sealing |
| Run a follow-up grand-prize draw | Add a Random Picker or Jury tool to the same project |
| Stop the campaign early | Project page → Complete project |