Winner Selection

Winner Selection

This guide covers how to select raffle winners, available methods, and prize fulfillment.

Overview

Winners can be selected:

  • Manually - Admin draws winners at any time
  • Automatically - System draws when raffle ends (if enabled)

Manual Winner Selection

Where to Draw

Edit your raffle product → scroll down to Winner Selection metabox

Drawing Process

  • Select Selection Method:
- Standard Random - Cryptographically Secure - Random.org (if API key configured)
  • Click Draw Winners
  • Confirm the selection
  • Winners are displayed immediately

Selection Methods

MethodHow It WorksUse Case
Standard RandomWordPress random functionSmall raffles, quick draws
Cryptographically SecurePHP's random_int()High-stakes raffles
Random.orgTrue randomness from atmospheric noiseProvably fair public draws

Standard Random

  • Uses wp_rand() function
  • Perfectly adequate for most raffles
  • Fastest method

Cryptographically Secure

  • Uses random_int()
  • Higher quality randomness
  • Recommended for important draws

Random.org

  • Requires API key (free tier available)
  • True random numbers from physical phenomena
  • Provides audit trail for verification
  • Best for high-value or public raffles
  • Get free API key at random.org/api
  • Enter in WooCommerce → Settings → Raffle

Automatic Winner Selection

Enable Auto Draw

  • Edit raffle product
  • Go to Raffle Settings tab
  • Check Automatically select winners when raffle ends
  • Save product

How It Works

  • WP Cron checks hourly for ended raffles
  • When raffle end time passes:
- System draws winners automatically - Uses cryptographically secure method - Sends winner notifications - Processes prize fulfillment

Requirements

  • WordPress cron must be working
  • Site must receive regular traffic, OR
  • Real cron job configured on server

Prize Fulfillment

Custom Prize

When winner is selected:

  • Winner notification email sent
  • Admin sees winner in product page
  • Manual fulfillment required

Product Prize

When winner is selected:

  • System creates $0 order for winner
  • Order contains prize product(s)
  • Winner receives order notification
  • Admin processes/ships order normally
  • Note indicating it's a raffle prize
  • Link to original raffle

Store Credit

When winner is selected:

  • System checks for store credit plugin
  • If available: creates store credit
  • If not: creates coupon code
  • Winner receives notification with credit/coupon details
  • One-time use
  • Expires in 1 year
  • Exact prize value

Multiple Winners

Prize Tiers

When multiple winners are configured:

  • Each position can have different prizes
  • 1st Prize, 2nd Prize, 3rd Prize, etc.
  • System draws all winners at once
  • Each receives appropriate prize

Configuration

  • Set Number of Winners (e.g., 3)
  • Configure prizes for each tier:
- 1st Prize: Select product or set custom - 2nd Prize: Different product or custom - 3rd Prize: And so on...

Order of Selection

  • System randomly selects winner pool
  • First selected = 1st Prize
  • Second selected = 2nd Prize
  • And so on...
No duplicate winners: Same ticket cannot win multiple positions.

Winner Display

Admin View

In product edit page:

  • Winner Selection metabox shows all winners
  • Ticket number, holder name, position
  • Date selected
  • Prize awarded

Frontend

After raffle ends, product page shows:

  • Winner names
  • Prize won
  • Winning ticket numbers (optional based on privacy)

Winner Management

Redrawing Winners

Scenario: Winner is ineligible or declines
  • Go to product edit page
  • In Winner Selection metabox, click Clear & Redraw
  • New winner(s) selected
  • Previous selection logged
Note: Original winner notification already sent - handle appropriately.

Winner Records

All winner data stored:

  • ID
  • Raffle ID
  • Ticket ID
  • Position
  • Prize Type
  • Prize Details
  • Notification status
  • Fulfillment status
  • Selection date

Notifications

Winner Email

Recipients receive:

  • Congratulations message
  • Prize details
  • What happens next
  • Contact information

Email Customization

Go to WooCommerce → Settings → Emails:

  • Raffle Winner Notification
  • Customize subject, heading, content
  • Enable/disable email

Best Practices

Before Drawing

  • ✅ Verify raffle is ended (or ready to end)
  • ✅ Check all orders are completed
  • ✅ Review ticket count is accurate
  • ✅ Prepare for prize fulfillment

During Drawing

  • Consider recording/streaming for transparency
  • Use Random.org for high-profile draws
  • Have witnesses if valuable prizes

After Drawing

  • Send notifications promptly
  • Process prize fulfillment
  • Update website/social media
  • Keep records for disputes

Troubleshooting

No Winners Selected

  • Raffle has active tickets
  • Raffle hasn't ended (if manual)
  • Number of winners ≤ active tickets

Winner Not Notified

  • Email address valid
  • Email not in spam
  • WooCommerce emails working
  • Check email logs

Random.org Not Working

  • API key is valid
  • API quota not exceeded
  • Internet connection stable