WPRaffle
WPRaffle
Open source & free forever
Version1.1.0WordPress6.0+PHP8.0+WooCommerce8.0+LicenseGPL-2.0

Run online raffles & competitions on WordPress

A comprehensive plugin built on WooCommerce with full ticket management, live draws, instant wins, and UK compliance features.

Open source · GPL-2.0 · No account required

0
Database Tables
0
Elementor Widgets
0
Shortcodes
0
Email Types

Everything you need to run a raffle

From ticket sales to live draws, WPRaffle covers every aspect of running online competitions — securely.

Core

5 features

  • Configurable Raffles
    Title, description, prize image, ticket count, price, and packages.
  • WooCommerce Integration
    Full checkout with any payment gateway, cart & order management.
  • Random Ticket Assignment
    Cryptographically secure (random_int()) unique ticket numbers.
  • Automated Emails
    Purchase confirmation, winner notification, instant win alerts, and more.
  • User-Selected Numbers
    Optional mode where buyers pick their own ticket numbers.

Competition Features

7 features

  • Instant Wins
    Prizes automatically awarded at specific ticket numbers.
  • Multi-Winner Draws
    Multiple winners with configurable prize tiers.
  • Live Draw
    Animated draw page with spinning numbers and confetti.
  • Skill Questions
    Multiple-choice questions required before purchase (UK Gambling Act compliance).
  • Free / Postal Entry
    Alternative entry route for compliance.
  • Geo-Restriction
    Restrict entry by country via IP geolocation.
  • Referral System
    Unique referral codes with bonus entries.

Admin

6 features

  • Analytics Dashboard
    Revenue charts, sales trends, and activity feed.
  • Audit Log
    Complete action log with actor, IP, and timestamps.
  • Templates & Clone
    Reusable raffle templates and one-click duplication.
  • Ticket Reservations
    Temporary holds during checkout with auto-cleanup.
  • Duplicate Detection
    Automatic detection and correction of duplicate tickets.
  • Shop Integration
    Custom raffle cards in WooCommerce shop pages.

Security

6 features

  • Multi-layer Validation
    Cart lock, checkout validation, payment-time clamping.
  • WordPress Nonces
    CSRF protection on all forms and AJAX requests.
  • Sanitization & Escaping
    Input sanitization & output escaping throughout.
  • Prepared Statements
    No raw queries — everything uses $wpdb->prepare().
  • Rate Limiting
    Configurable per-minute per-IP limits.
  • Privacy & GDPR
    Personal data export/erasure via WordPress Privacy API.

Developer

4 features

  • Elementor Widgets
    18 custom widgets for visual page building.
  • Shortcodes
    Display raffles, lists, lookup, and live draws anywhere.
  • GitHub Auto-Updates
    Push updates from GitHub releases automatically.
  • Hooks & Filters
    Extensible via WordPress actions and filters.

Minimal requirements

If you already run WordPress with WooCommerce, you're ready to go. WPRaffle integrates seamlessly with your existing setup.

  • No coding required to get started
  • Works with any WooCommerce payment gateway
  • Elementor support is optional
  • Automatic database setup on activation

System Requirements

ComponentMinimum
WordPress6.0+
PHP8.0+
WooCommerce8.0+
MySQL5.7+
ElementorOptional

Up and running in minutes

Install, activate, and launch your first raffle in four simple steps.

1

Download

Get the latest release .zip from the GitHub Releases page.

2

Upload

Go to WordPress Admin → Plugins → Add New → Upload Plugin, then activate.

3

Configure

WPRaffle auto-creates 10 database tables, a WooCommerce product, and all required pages.

4

Launch

Create your first raffle at Raffles → Create Raffle and paste the shortcode.

Your first raffle

  1. 1
    Create a Raffle
    Go to Raffles → Create Raffle and fill in title, description, prize details, ticket count, price, and packages.
  2. 2
    Configure Features
    Set up optional features like instant wins, skill questions, geo-restriction, and more.
  3. 3
    Publish & Embed
    Publish your raffle and copy the shortcode [raffle id="X"] to any page.
  4. 4
    Sell Tickets
    Buyers select packages, complete WooCommerce checkout, and receive tickets by email.
  5. 5
    Draw a Winner
    Draw the winner from Raffles → View Details when you're ready to go live.

Shortcodes & Elementor widgets

Drop raffles anywhere with shortcodes, or build visually with 18 custom Elementor widgets.

Shortcodes

Paste anywhere in WordPress

[raffle id="X"]Display a single raffle with full UI
[raffle_list columns="3" per_page="12"]Active raffles in a responsive grid
[raffle_ended_list columns="3"]Completed/finished raffles
[raffle_lookup]Ticket lookup form by email
[raffle_live_draw raffle_id="X"]Live animated draw page
[raffle_entry_list raffle_id="X"]Entry/ticket list for a raffle

Elementor Widgets

Available when Elementor is active

Raffle Full Page
Complete all-in-one raffle layout
Raffle Title
Raffle title with styling
Raffle Image
Prize image with lightbox
Raffle Price
Ticket price display
Raffle Progress
Sales progress bar
Raffle Countdown
Live countdown timer
Raffle Quantity Selector
Package selection grid
Raffle Enter Button
CTA button
Raffle Description
Raffle description text
Raffle Stats Header
Key stats (sold, remaining, price)
Raffle Tabs
Tabbed content
Raffle Instant Wins
Instant win prizes grid
Raffle Question
Skill question form
Raffle Trust Badge
Trust/verification badge
Raffle Modal
Purchase/entry modal
All Competitions
Raffle list/grid
Ended Raffles
Past competitions grid
Entry List
Ticket/entry list
18 widgets total

Frequently asked questions

Everything you need to know about running raffles with WPRaffle.

WPRaffle includes built-in features to support UK Gambling Act compliance, including skill questions (required before purchase), free/postal entry routes, and geo-restriction. However, we recommend consulting a legal professional to ensure your specific setup meets all applicable regulations.
Yes. WPRaffle is built on WooCommerce, so it works with any payment gateway that WooCommerce supports — Stripe, PayPal, bank transfers, and hundreds more.
WPRaffle supports GitHub-based auto-updates. Tag a release on GitHub, upload the .zip as a release asset, and users will see the update within 12 hours (or immediately via manual check). Configure this in Raffles → Settings → Updates.
No. Elementor is optional. WPRaffle works with shortcodes out of the box. When Elementor is active, 18 custom widgets become available for visual page building.
Ticket numbers are assigned using PHP's cryptographically secure random_int() function, ensuring unique and unpredictable numbers for every purchase.
Yes. WPRaffle has an optional user-selected numbers mode where buyers can pick their own ticket numbers during checkout.
WPRaffle implements multi-layer protection: a UNIQUE database constraint on (raffle_id, ticket_number), cart quantity locking, checkout validation, and payment-time clamping to prevent duplicates at every stage.
Yes. WPRaffle integrates with the WordPress Privacy API for personal data export and erasure, helping you meet GDPR requirements.
Free & open source

Start running raffles today

Download WPRaffle, install it on your WordPress site, and launch your first competition in minutes.