Run Competitions
Create Your First Competition
Walk through /admin/comps/new: title, prize, ticket price, end date, max tickets, type.
Updated 24 May 20267 min read
Competitions are the core unit of your site. This doc walks the full /admin/comps/new form and explains every field.
Where to create one
Raffle admin → Competitions → New competition. The form creates the competition in draftstatus — it’s not visible on the storefront until you flip it to active on the next screen.
Field reference
- Title. Public-facing competition name, e.g. “Win a BMW M4 + £5,000 cash”. Used as the page
<h1>and as the OG share title. Keep it punchy. - Main prize.A one-line summary of what the customer wins. Often the same as the title minus the “Win” verb. Used in cards and emails.
- Description.Longer copy that explains the prize and any conditions. Plain text for now (we’ll add a rich editor in a later release).
- Ticket price (£). Per-ticket price in pounds. Decimals supported — e.g. 0.99, 1.99, 4.99. Stored as integer pence under the hood, so a price of 4.99 is exactly £4.99 — no floating-point drift.
- End date / time. When the competition closes to new ticket purchases. After this time: auto_draw competitions are drawn automatically by the cron; draw (manual) competitions wait for you to draw them from the admin; instant competitions stop selling tickets but keep showing accumulated winners.
- Max tickets total.Hard cap on total tickets sold. Sets your maximum revenue per competition. Once reached, the storefront shows “Sold Out” and disables purchase.
- Max tickets per user. Caps how many tickets one customer can buy. Important for fairness (and many influencer partnerships require it). Typical: 75 per user on a 500-ticket competition, 150 on a 1500-ticket one.
- Instant-win percentage. 0 = no instant wins. 5 = 5% of tickets are pre-flagged as instant winners. The system generates random ticket numbers at competition creation and stores them in
prizes. Customers see “You won £X” or similar revealed via your chosen game mode. - Type.
draw— Manual draw. You draw when ready from the admin. Best for live-stream draws.auto_draw— Cron picks the winner atend_date. Default for most competitions.instant— No headline winner; just pre-assigned instant-win prizes per ticket. Best for “mystery boxes” style competitions.flappy_reveal— Reveals win/loss via the Sky Run game mode. Same prizing as instant underneath.scratch_reveal— Reveals via Scratch Card game mode.free— Free entry, no payment required. Used for retention competitions or as a free-entry-route mirror of a paid one.
- Main image URL.The prize image used on cards, the competition page hero, and in emails. We recommend 1600×900 (16:9) for the hero. Hosted anywhere; we don’t proxy.
After creation
The next screen is the competition edit page. From here you can:
- Add additional prizes (instant-win tiers, runner-up prizes)
- Seed instant-win winning ticket numbers — handled automatically based on the instant-win percentage you set
- Upload extra prize-detail images
- Pick a category (see Product Categories)
- Flip status from
drafttoactive. This is the publish step.
Common gotchas
- End date in the past.The cron skips competitions with an end date in the past — they won’t auto-draw. Always check the timezone (the form uses your browser’s local zone).
- Forgetting to flip to active. A competition in
draftis invisible to customers. Always check status on the edit page after creating. - Max tickets per user > max total. Caught by validation, but a common typo.
- Instant-win % > 100. Also caught. Sensible values: 1–15%. Higher than 20% feels gimmicky.