How to Run a Giveaway with Random Alerts in StreamElements

How to Run a Giveaway with Random Alerts in StreamElements

Want to run a giveaway on your stream where viewers actually see whether they won or lost — live, in real time? This guide shows you exactly how to build it in StreamElements using probability-based alert variations. You set the odds. Your viewers feel the suspense.

In StreamElements you can create multiple versions of the same alert called variations. When a viewer triggers an alert, StreamElements picks one variation to play based on the percentage you assign each one.

Set Fail to 99% and Win to 1% and you get a simple 1-in-100 system. Every trigger gets a result — most lose, a few win.

Key point: These percentages don't control how often the alert fires. The alert fires every time a viewer meets your trigger condition. The percentage only controls which variation plays when it fires.

What you'll need

  • A StreamElements account
  • Two alert files in .webm format — one fail, one win
  • OBS or Streamlabs connected to StreamElements (optional for testing)

Don't have alerts yet? Pixels Lucky has ready-to-use fail and win animations pre-formatted for this exact setup.


1
Create a New Overlay

Log into StreamElements. From the dashboard click My Overlays, then New Overlay.

StreamElements My Overlays dashboard showing the New Overlay button


2
Set Your Resolution

Choose your overlay resolution. For most streamers this is 1920 × 1080. Select it and click Start.

StreamElements overlay resolution dialog set to 1080p


3
Add an Alert Box

Click Add Widget → Alerts → Alert Box. This creates the zone where your alerts will display on screen.

StreamElements Add Widget menu with Alerts and AlertBox highlighted


4
Make the Alert Box Fullscreen

The alert box starts small by default. You need to make it fill the screen.

With the alert box selected, click Position, Size and Style and set Width to 1920 and Height to 1080. Then click Center Widget.

StreamElements Position Size and Style panel showing 1920 width and 1080 height

Note: All Pixels Lucky alerts are designed for a fullscreen alert box. If your box is smaller the animation will be cropped.

5
Open Alert Settings

Click the gear icon on the alert box. You'll see a list of alert types. For this tutorial we're using Cheer (Twitch bits). Click the gear icon next to Cheer.

StreamElements alert box settings panel showing Cheer alert with gear icon

Other options: This system works with subs, tips, or any trigger type. Bits work well because the entry feels intentional and clear to your viewers.

6
Disable the Default Alert

Before adding your variations, disable the default alert so it doesn't conflict with them.

  • On the video preview, click the X to remove the existing video
  • Click Clear Sound
  • Set Alert Duration to 0

StreamElements cheer alert advanced settings showing video X button, clear sound, and alert duration field

Do not skip this step. If the default alert has a duration set, StreamElements may play it in addition to your variation. Setting it to 0 disables it completely.

7
Turn On Random Variation Selection

Still inside the Cheer settings, find and enable this toggle:

"Pick an alert randomly when more than one matches"

Turn it ON.

StreamElements variation settings showing Pick an alert randomly when more than one matches checkbox turned on

This must be ON. Without it StreamElements will not randomize between your variations correctly.

8
Delete All Default Variations

Click Variation Settings. StreamElements includes several default bit amount variations out of the box. You need to delete all of them — not just disable them.

StreamElements variation settings showing default Bits 1, 100, 1000, 5000 and 10000 variations that need to be deleted

Delete, don't just disable. A disabled variation with a matching bit amount (like a disabled 100-bit variation when your entry is 100 bits) can still interfere with your setup. Remove every existing variation before continuing.

Once the list is empty, click Add New Variation → Start with Blank.


9
Set Up the Fail Variation

Fill in the variation settings:

  • Name: Fail
  • Variation Parameter: Amount
  • Condition: At Least
  • Amount: 100 (or your chosen entry amount)
  • Chance: 99

StreamElements new variation dialog showing Fail variation with Amount at least 100 and Chance set to 99

Why "At Least"? This way anyone who cheers more than the minimum is still entered. Someone who cheers 150 bits should still be in the pool.

Now upload your alert: click Change Video and select your fail alert (.webm). Click Clear Sound unless your file has built-in audio. Under Layout select Text Over Image. Then set Alert Duration to match the length of your video file.

Duration must match your video length exactly. Too short and the animation cuts off before it finishes. Too long and the next trigger may fire before the current animation ends — which could give a viewer a second entry by accident.

Click Save Variation.


10
Set Up the Win Variation

Click Add New Variation → Start with Blank again. Fill in every setting the same way you did for the Fail variation, with these changes:

  • Name: Winner
  • Variation Parameter: Amount
  • Condition: At Least
  • Amount: 100 (same as your Fail variation)
  • Chance: 1
  • Video: your win alert (.webm)
  • Layout: Text Over Image
  • Alert Duration: match the length of your win video file

StreamElements edit variation dialog showing Winner variation with Amount at least 100 and Chance set to 1

The trigger must be identical to Fail. Both variations need the same condition and the same amount so StreamElements knows to pick between them when that trigger fires.

Click Save Variation.


11
Save and Test

Click Save on the overlay. Copy your overlay URL and add it as a browser source in OBS or Streamlabs.

Before testing, temporarily change your variation percentages to Fail: 50% and Win: 50%. At 1% odds you could fire the test trigger hundreds of times and never see the win animation — not because something is broken, but because that's how probability works. Each trigger is an independent roll. There's no counter, no memory, no guarantee of when it fires.

With it set to 50/50 you should see both animations appear within a few test triggers. Once you've confirmed both are working correctly, go back into your variation settings and set the percentages back to Fail: 99% and Win: 1% before going live.


Adjusting the Odds

You're not locked into 1%. Adjust the win percentage to match the value of your prize:

Win % Expected triggers before a win
10% ~10
5% ~20
1% ~100
0.5% ~200
0.1% ~1,000
Fundraiser example: Set the trigger to 500 bits (~$5) and the win chance to 0.1%. You'd expect roughly 1 winner per 1,000 entries — raising around $5,000 per prize. Adjust the entry cost and odds to match your goal.

Common Mistake — Alert Plays Every Time or Never Randomizes

If your alert fires on every trigger without variation, check two things:

  1. The default alert duration is set to 0 (Step 6)
  2. "Pick an alert randomly when more than one matches" is turned ON (Step 7)

These two settings are the most common reason the system doesn't work as expected.


Common Mistake — Donor Name or Amount Not Showing on Screen

If the alert fires correctly but the viewer's name or cheer amount isn't visible, the text is most likely positioned off-screen. This is a default margin issue inside StreamElements.

Open your variation and scroll down past the video and layout settings until you reach Text Settings. Click the Advanced tab and check the Margin values. If Top is set to a negative number like -50, the text is being pushed off the top of the screen.

StreamElements Text Settings Advanced tab showing Top margin set to negative 50 causing text to appear off screen

Change the Top margin to a positive value — 100 is a good starting point — then save the variation. Test again and adjust until the text appears where you want it.

StreamElements Text Settings Advanced tab showing Top margin corrected to 100 so text appears on screen

What's Next

Once this is running you can expand the system:

  • Add a third "jackpot" variation with 0.1% odds for an ultra-rare win tier
  • Run the same setup with subs, tips, or channel point redemptions instead of bits
  • Swap in themed visuals for special events — holiday giveaways, milestone streams, charity fundraisers

Looking for ready-made fail and win animations built for this setup? Browse the full collection at Pixels Lucky.

Ready to go further? Learn how to build a multi-outcome system with weighted odds in the next tutorial: How to Set Up Random Alert Variations in StreamElements →

Back to blog
1 of 3