Running a fair online giveaway: a practitioner's guide
A practical guide for streamers, creators, and brand managers running giveaways online. Covers verifiability, weight rules, multi-prize patterns, and OBS integration.
Online giveaways have a credibility problem. Viewers can't see the draw happen the way they would at a physical event, and the host has every incentive to nudge results. Most viewers know this and are subtly suspicious of any winner announcement that happens off-camera. The fix is verifiability — making the draw public, reproducible, and auditable.
Three properties of a fair online draw
- Random source: cryptographically secure RNG (crypto.getRandomValues), not Math.random(). Most professional giveaway tools get this right.
- Visible entrant list: everyone watching the draw can verify what entries were included. The traditional 'we put all the names in a hat' fails this — viewers have to trust the hat. A URL-encoded entrant list passes — viewers verify the URL, then watch the spin.
- Visible draw process: the spin happens on-screen in real time, with no post-edit. Live streaming or pre-recorded with timestamp evidence both work.
Weight patterns for tiered giveaways
If your giveaway treats different entrants differently (subs vs free, multi-ticket vs single-ticket), encode that in the wheel weights using the Name*N syntax:
- Free follower: weight 1
- Tier-1 sub: weight 3
- Tier-2 sub: weight 6
- Tier-3 sub: weight 9
- Long-time mod: weight 10
Numbers above are illustrative — the right ratio is whatever your community considers fair. Publish the weight rule in your giveaway announcement; surprises are what break trust.
Multi-prize patterns
For draws with multiple prize tiers (1st place, 2nd, 3rd), set Pick count = total winners and let the wheel draw them in order. The wheel automatically excludes already-picked names, so a single multi-pick spin produces the full winner list with one click.
For independent prize draws (3 separate $50 prizes, 'each entrant can only win one'), use the same approach — the auto-exclude prevents an entrant from winning twice.
OBS / streaming integration
Two integration patterns work well for streamers:
- Browser source overlay: add the wheel as an OBS browser source pointing to your giveaway-wheel URL. The wheel renders on stream, you spin from your laptop, viewers see the result with no extra setup.
- Multiplayer mode for transparency: use the multiplayer-spin-wheel and share the room code in chat. Viewers join from their phones, see the same wheel, and watch the spin animate live on their device — independent of stream lag and verifiable from their side.
Common mistakes to avoid
- Drawing off-camera and announcing the winner. Viewers will assume you cherry-picked. Always draw on stream.
- Adding entrants after the announcement window closes. Even if it's well-intentioned, it breaks the entrant-list invariant. Lock the list before the spin.
- Re-spinning if the result feels wrong. The entire point of randomness is that the result is binding. If you re-spin, you're running a curated draw with extra steps — declare that upfront or don't do it.
- Using Math.random()-based tools for high-stakes draws. The credibility cost when someone questions the result is far higher than the engineering cost of using a secure RNG.
Try the tools mentioned
Related reading
- Giveaway Wheel — Pick a Winner OnlinePick a giveaway winner live with a fair, public spin.
- Twitch sub giveawaySub giveaway template for streamers.
- Free Online Raffle WheelPick a raffle winner with a fair, transparent online wheel.
- YouTube comment giveawayPull a winner from YouTube comments.
- Charity raffle (weighted by tickets)Weighted-ticket raffle for fundraisers.
- Lucky Draw Wheel — Online Prize DrawRun a fair lucky draw with a live spinning wheel.