Skip to main content

Standalone campaign with games

How to launch a standalone campaign (no existing programme required) based on a spin-the-wheel game, with configurable prizes and a public landing.

Case: product launch. Anyone can visit the landing, spin once, and take home a prize (coupon, discount, or physical product).

Time: ~25 min · Level: beginner.

1. Create the campaign

Admin → CampaignsNew campaign → type Game / Standalone.

Main fields:

  • Name: Summer line launch
  • Slug: summer-25 (part of the public URL)
  • Start / end date: campaign active range
  • Linked programme: (leave empty for standalone)
  • Budget: max prize value to hand out

2. Design the game

Inside the campaign → GamesAdd → type Spin Wheel.

Configure wheel sectors:

SectorPrizeProbabilityTotal stock
10% couponCode "SUMMER10" (1-use)40%unlimited
20% couponUnique code per member25%500
Physical STote bag10%50
Physical MHat5%20
Grand prizeFull line bundle0.5%3
Try again(no prize)19.5%unlimited

Probabilities must total 100%. IncentIA picks randomly respecting stock.

3. Participation rules

  • Plays per member: 1 (classic "one spin and done").
  • Requires sign-up: yes — member must identify (email or OTP) before spinning.
  • Requires evidence: (optional) if you want them to upload a ticket first, enable "Prerequisite: approved evidence".

4. Design the landing

Inside the campaign → LandingEdit.

If using generic landing:

  • Title, subtitle, hero image.
  • CTA button ("Spin the wheel").
  • Embedded sign-up form.
  • Legal texts (T&C, privacy).

If using custom landing:

  • Your own HTML that calls the JS SDK to trigger the wheel → see JS SDK tutorial.

Public URL: https://your-domain.app/landing/c/summer-25.

To share on WhatsApp with maximum compatibility:

  1. Admin → Dynamic LinksCreate.
  2. Slug: summer, target: https://your-domain.app/landing/c/summer-25.
  3. Final URL to send: https://your-domain.app/r/summer.

If WhatsApp ever blocks the target, change the Dynamic Link target without resending messages.

6. Schedule launch messages

Communications → FlowsNew.

Launch flow:

  1. Trigger: fixed date (e.g. launch day at 10:00).
  2. Audience: segment "Members active last 90d".
  3. Action 1: push with title "New line + raffle".
  4. Wait: 2 hours.
  5. Action 2: email with details and link to /r/summer.

For non-members: the landing has its own sign-up form.

7. Test the full flow

Before publishing:

  1. Create a "Testers" segment with your internal email.
  2. Configure the flow in dry-run (simulates without sending).
  3. Visit the landing as an anonymous user → try the wheel.
  4. Verify the prize is assigned to the member and stock decrements.

8. Monitor during the campaign

Campaign dashboard:

  • Unique participations.
  • Prizes delivered per sector (table with used vs remaining stock).
  • Observed vs theoretical probability distribution.
  • Conversion rate (visitors → participants).
  • Messages sent with open/click rates.

If a sector runs out of stock, the probability auto-redistributes across remaining sectors.

9. Close the campaign

When the end date hits (or whenever):

  • Campaign auto-transitions to Closed.
  • Members who didn't spin see "Campaign ended".
  • Issued coupons remain valid per their own expiration.
  • Metrics stay available for reporting.

What you built

  • A campaign with start and end.
  • Wheel with 6 sectors and calibrated probabilities.
  • Public landing shareable on WhatsApp via Dynamic Link.
  • Multi-channel launch flow.
  • Real-time tracking dashboard.

Next steps

  • Add PIN codes inside the physical product for a second spin → PIN codes.
  • Integrate the landing with Shopify so an order grants an auto-spin → Shopify.
  • Customise the wheel UX with the JS SDK → JS SDK.