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
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 RafflesTitle, description, prize image, ticket count, price, and packages.
- WooCommerce IntegrationFull checkout with any payment gateway, cart & order management.
- Random Ticket AssignmentCryptographically secure (random_int()) unique ticket numbers.
- Automated EmailsPurchase confirmation, winner notification, instant win alerts, and more.
- User-Selected NumbersOptional mode where buyers pick their own ticket numbers.
Competition Features
7 features
- Instant WinsPrizes automatically awarded at specific ticket numbers.
- Multi-Winner DrawsMultiple winners with configurable prize tiers.
- Live DrawAnimated draw page with spinning numbers and confetti.
- Skill QuestionsMultiple-choice questions required before purchase (UK Gambling Act compliance).
- Free / Postal EntryAlternative entry route for compliance.
- Geo-RestrictionRestrict entry by country via IP geolocation.
- Referral SystemUnique referral codes with bonus entries.
Admin
6 features
- Analytics DashboardRevenue charts, sales trends, and activity feed.
- Audit LogComplete action log with actor, IP, and timestamps.
- Templates & CloneReusable raffle templates and one-click duplication.
- Ticket ReservationsTemporary holds during checkout with auto-cleanup.
- Duplicate DetectionAutomatic detection and correction of duplicate tickets.
- Shop IntegrationCustom raffle cards in WooCommerce shop pages.
Security
6 features
- Multi-layer ValidationCart lock, checkout validation, payment-time clamping.
- WordPress NoncesCSRF protection on all forms and AJAX requests.
- Sanitization & EscapingInput sanitization & output escaping throughout.
- Prepared StatementsNo raw queries — everything uses $wpdb->prepare().
- Rate LimitingConfigurable per-minute per-IP limits.
- Privacy & GDPRPersonal data export/erasure via WordPress Privacy API.
Developer
4 features
- Elementor Widgets18 custom widgets for visual page building.
- ShortcodesDisplay raffles, lists, lookup, and live draws anywhere.
- GitHub Auto-UpdatesPush updates from GitHub releases automatically.
- Hooks & FiltersExtensible 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
| Component | Minimum |
|---|---|
| WordPress | 6.0+ |
| PHP | 8.0+ |
| WooCommerce | 8.0+ |
| MySQL | 5.7+ |
| Elementor | Optional |
Up and running in minutes
Install, activate, and launch your first raffle in four simple steps.
Download
Get the latest release .zip from the GitHub Releases page.
Upload
Go to WordPress Admin → Plugins → Add New → Upload Plugin, then activate.
Configure
WPRaffle auto-creates 10 database tables, a WooCommerce product, and all required pages.
Launch
Create your first raffle at Raffles → Create Raffle and paste the shortcode.
Your first raffle
- 1Create a RaffleGo to Raffles → Create Raffle and fill in title, description, prize details, ticket count, price, and packages.
- 2Configure FeaturesSet up optional features like instant wins, skill questions, geo-restriction, and more.
- 3Publish & EmbedPublish your raffle and copy the shortcode [raffle id="X"] to any page.
- 4Sell TicketsBuyers select packages, complete WooCommerce checkout, and receive tickets by email.
- 5Draw a WinnerDraw 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 raffleElementor Widgets
Available when Elementor is active
Frequently asked questions
Everything you need to know about running raffles with WPRaffle.
Start running raffles today
Download WPRaffle, install it on your WordPress site, and launch your first competition in minutes.