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.
- Ticket NumberingCryptographically secure random numbers by default, with optional sequential or shuffled modes and per-raffle prefix/suffix.
- Automated EmailsA full lifecycle suite — purchase, winner, instant-win, no-luck, started, extended, and admin notifications — each with its own on/off toggle and optional PDF ticket attachment.
- User-Selected NumbersOptional mode where buyers pick their own ticket numbers.
Competition Features
9 features
- Instant WinsAutomatic prizes at specific ticket numbers — auto-generated coupons, gift products, or wallet credit paid straight to the buyer's WooWallet balance, with prize groups and reversal on refund.
- 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), with optional time limit and attempt cap.
- Free / Postal EntryAlternative entry route for compliance.
- Geo-RestrictionRestrict entry by country via IP geolocation.
- Referral SystemUnique referral codes with bonus entries.
- Ticket BundlesQuantity bundles with custom pricing and savings badges — now configured via a friendly builder, no JSON required.
- Raffle LifecycleMin-tickets thresholds with auto-fail + auto-refund, deadline extends, and one-click or scheduled relists that preserve the permalink.
Buyer Experience
7 features
- Odds of WinningA live '1 in N' odds display updates as buyers change their ticket quantity — a proven conversion driver.
- SOLD OUT & Ending SoonShop cards auto-badge with scarcity and end states, and expired competitions are non-clickable.
- Pending Purchase VisibilityBuyers whose payment is still clearing see a 'Processing' state instead of assuming their entry was lost.
- My Raffles AccountA permanent ticket history with live odds, a clear 'YOU WON!' badge, and a results link for finished entries.
- My CouponsA dedicated account tab showing every coupon a buyer has won — instant-win coupons and consolation prizes — with click-to-copy codes, expiry dates, and Ready/Used status.
- Guest Ticket LookupGuest buyers get a single-use secure link emailed to them to view their tickets — no account needed.
- Accessible CheckoutKeyboard-friendly purchase modal with focus trapping, screen-reader announcements, and proper dialog roles.
Admin
10 features
- Analytics DashboardRevenue charts, sales trends, and activity feed.
- Audit LogComplete, structured action log with expandable details, fairness-proof copy, and actor filtering.
- 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.
- Searchable Raffle ListSearch by title, filter by status, and paginate — built for operators with many competitions.
- CSV Import & ExportExport buyers, tickets, and instant-win rules to CSV, and bulk-import instant-win prizes from a spreadsheet. Plus a per-order 'View Tickets' button in the WooCommerce order screen.
- Winner Name PrivacyOptional initials-only display on public results pages — the same treatment instant-win winners get.
- Featured WinnersFlag winners as featured, upload a photo of them with their prize, and add a testimonial — stored queryably for a winners carousel.
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
6 features
- Elementor Widgets18 fully-styleable widgets with editor previews, a per-widget Raffle picker, and full styling controls.
- Gutenberg BlocksA starter set of server-rendered blocks (countdown, progress, entry button, instant wins, raffle list) for non-Elementor sites — no build step required.
- ShortcodesDisplay raffles, lists, lookup, and live draws anywhere.
- Plugin CompatibilityAuto-activating integrations with WPML, Polylang, Multi-Currency, Stripe, Square, WooPayments, Smart Coupons, Dokan, Yoast/Rank Math, and page-cache plugins.
- GitHub Auto-UpdatesPush updates from GitHub releases automatically.
- Hooks & FiltersExtensible via WordPress actions and filters.
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.
One theme, every look
WPRaffle ships as a single, well-built theme with a collection of one-click style presets — switch the entire look of your competitions without touching code.
Style presets
5 ready-made looks
- DiamondSoft pink and blue pastels for a clean, modern look.
- GolfFresh greens for a natural, outdoorsy feel.
- CarBold reds and orange for a high-energy vibe.
- RetroVibrant purple and pink for nostalgic retro-chic.
- EliteGold and deep tones for a premium, luxurious finish.
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.
