xpay✦ Commerce
Directory
WooCommerce plugins
Raffle for WooCommerce
Raffle for WooCommerce
Run raffles with WooCommerce. Sell tickets, draw winners, and let customers buy tickets for friends and family.
5.0
(1 ratings)Will this break my store?
What the WordPress.org registry says about keeping Raffle for WooCommerce running.
Tested to 7.0.2
Tested against the WordPress branch in use today.1 month ago
At least 51.6 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.7.4
Your host must be running at least this version.6.0
woocommerce
These must be installed and active first.1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how Raffle for WooCommerce is looked after — not on how many stores run it.
Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
Not enough dataMerchant satisfaction
10 / 15Listing transparency
10 / 10Ratings
5.0
1 ratingRaffle for WooCommerce helps you run raffles and sell tickets through your WooCommerce store. Create unlimited raffles, generate printable tickets with QR codes, and let customers buy tickets for someone else. Perfect for charities, clubs, schools, and promotional giveaways.
This plugin is completely free. No feature locks. Everything listed below works out of the box.
Buy Tickets for Someone Else
This is the feature that makes us different. Your customers can purchase raffle tickets as a gift for friends, family, or colleagues. The recipient gets an email notification with their ticket details. Their name goes into the draw, not the buyer’s name.
This works great for:
- Charity supporters buying tickets for elderly relatives who cannot purchase online.
- Club members purchasing tickets for their family.
- Businesses buying raffle entries for employees or clients.
- Anyone who wants to gift a chance to win.
All Features Included
Every feature listed below is free. No upgrades needed.
Raffle Management:
- Unlimited raffles with no restrictions.
- Unlimited ticket sales per raffle.
- Configurable start and end dates with live countdown timer.
- Progress bar displaying tickets sold vs available.
- Auto-close raffles when all tickets are sold.
- Full WooCommerce integration with all payment gateways.
- Mass refund and selective refund with three methods: standard, payment gateway, or wallet credit via TeraWallet.
Gift Purchases:
- Gift ticket purchasing with automatic recipient notification.
- Per-ticket gift recipient assignment with name, email, and personal message.
- Works with both WooCommerce Block Checkout and Classic Checkout.
Winner Selection & Management:
- Winner selection through manual picks, automatic draws, or Random.org verified selection.
- Instant Win mode: customers find out if they won immediately after purchase with probability-based or guaranteed interval selection.
- Unique winner enforcement: prevent the same person from winning multiple prizes in one draw.
- Extend or relist expired raffles: push the end date or reset for a fresh start without losing ticket data.
- Winner management tabs: All Tickets, Winners, and Claimed for cross-raffle overview.
- Quick “Mark Claimed” and “Resend Notification” buttons with bulk claim action.
- Prize claimed confirmation email to winners when their prize is marked as claimed.
Shortcodes:
[raffle_card id="123"]– Full product card with image, countdown, prize, and buy button.[raffle_cards]– Multiple raffle cards in a responsive grid:[raffle_cards ids="123,456,789"]– Display specific raffles by ID.[raffle_cards category="prizes" limit="4"]– Display raffles from a product category.[raffle_cards status="active" limit="6" columns="3"]– All active raffles in a 3-column grid.[raffle_cards status="all" orderby="random" limit="8"]– All raffles in random order.
[raffle_countdown id="123"]– Live countdown timer (compact or full format).[raffle_progress id="123"]– Ticket sales progress bar.[raffle_prize id="123"]– Prize information display.[raffle_status id="123"]– Status badge (Active / Ended / Winner Selected / Cancelled / Failed / Coming Soon / Sold Out).[raffle_winners id="123"]– Winner announcement banner with Gravatar, city, ticket number, and product link. Attributes:show_avatar,show_city,show_ticket,show_date,show_link,limit.- All shortcodes support
id="latest"andid="active"keywords to auto-pick raffles.
Tickets & Validation:
- Printable ticket generation with unique ticket numbers.
- QR code generation for checking tickets at events.
- QR code scanner in admin for live event validation.
- CSV export for all ticket data.
- Ticket search by number, name, or email.
Email Notifications (6 built-in):
- Ticket Confirmation sent to purchaser after buying tickets.
- Gift Received sent to gift recipients with their ticket details.
- Winner Notification sent to winners when they are drawn.
- Prize Claimed Confirmation sent to winners when their prize is marked as claimed.
- Admin Winner Alert sent to admin when a winner is selected.
- Admin Draw Failed Alert sent to admin when an automatic draw fails.
- All emails are configurable in WooCommerce > Settings > Raffle > Emails and in WooCommerce > Settings > Emails.
Display Options:
- Winner announcement banner with Gravatar, city, ticket number, and product link.
- Compact countdown badge on shop and archive pages (optional setting).
- Instant Win ribbon overlay on product images — works on single product, shop, archive, and anywhere products appear (like the WooCommerce “Sale!” badge). Configurable position (top-left or top-right).
- Instant Win badge alignment: center, left, right, or full width.
- Instant Win winners display control: always show, only after raffle ends, or never. Prevents discouraging purchases when all instant prizes are claimed early.
- Urgency color shift when less than 3 days remain.
- Status badges on archive pages: Winner Selected, Ended, Cancelled, and Failed.
- Customizable primary color, badge text, and footer for printable tickets.
Compliance & Legal:
- Skill-testing question system with configurable question pool (text and multiple choice). Global pool questions are pinned per product for consistency.
- Optional time limit for skill questions with live countdown timer.
- Max attempt limit per customer per product to prevent brute-force guessing.
- Multiple choice display options: radio buttons or dropdown select.
- Free entry route with “Paid Entry” / “Free Entry” tab interface for jurisdictions requiring “no purchase necessary” alternatives. Includes the skill-testing question so postal entrants know what to answer.
- Per-product compliance overrides to enable or disable skill questions and free entry on individual raffles.
- Store address auto-replacement in free entry instructions using the
[Your Address]placeholder.
Analytics & Reporting:
- Analytics dashboard showing sales and performance.
- Activity log tracking ticket generation, winner draws, prize claims, and more.
- Full audit trail for charity compliance and reporting.
- GDPR compliant with personal data export and erasure.
Checkout & Access Control:
- Guest access control: allow, block, or force login before raffle purchases.
- Payment gateway restrictions per product — hide specific gateways (e.g., COD, bank transfer) when a raffle is in the cart.
- Mixed checkout restriction — optionally prevent raffle and non-raffle products in the same cart.
- Skip cart page — redirect customers directly to checkout after adding a raffle to cart.
- Ticket number suffix — add text after ticket numbers alongside the existing prefix.
Technical:
- Works with WooCommerce High Performance Order Storage (HPOS).
- Works with WooCommerce Block Checkout.
- REST API available for custom integrations.
- Translation ready for any language.
- Addon extensibility layer with hooks and filters for third-party extensions.
Who Should Use This Plugin
- Charities and nonprofits running online fundraisers.
- Golf clubs, sports clubs, and social clubs doing member prize draws.
- Schools and parent associations raising funds.
- Churches and community groups organizing raffles.
- Local businesses running customer promotions.
- Online stores creating giveaways and contests.
Want More? Take it further with Pro
Already running raffles? Everything above is yours – free, forever, no catches. Want to give your customers an interactive, visual experience on top of that? Raffle for WooCommerce Pro adds a new layer of engagement:
- Pick Your Own Ticket: Visual ticket grid where customers choose their lucky numbers.
- Lucky Dip: One-click random ticket selection from available numbers.
- Advanced Instant Win: Pre-selected winning tickets, multi-tier prizes, and prize separation.
- Lucky Wheel / Spin to Win: Interactive wheel animation with configurable prizes, standalone wheels, popups, and email gate.
- Winner Reveal Page: Live draw animations with confetti, perfect for live-streaming.
- Entry / Participant List: Public participant page with privacy controls.
- Alphabet Ticket Format: Ticket numbers in A01–Z99 format for a traditional raffle feel.
- Ticket Reservation: Hold selected tickets for a limited time to prevent checkout conflicts.
- IP Purchase Restriction: Limit ticket purchases per IP address to prevent multi-account abuse.
- Bonus Tickets: Auto-award extra draw entries based on quantity, early bird timing, or customer role.
- Reward Points (WooRewards): Earn and redeem loyalty points on raffle tickets.
- Email PDF Ticket: Auto-attach branded PDF raffle tickets with QR codes to order confirmation emails.
- Countdown & Badge Styles: 17 countdown timer styles and 9 instant win badge styles with animations, glassmorphism, neumorphism, gradient borders, and more.
Same raffle system. More ways to engage your customers. Learn more about Pro.
How to Create Your First Raffle
- Add a new product in WooCommerce.
- Select Raffle as the product type.
- Set your ticket price and how many tickets you want to sell.
- Choose start and end dates for your raffle.
- Turn on gift purchasing if you want customers to buy for others.
- Publish your raffle and start selling.
- When the raffle ends, pick a winner manually or let the system choose automatically.
- The winner gets an email with prize details.
Embed Raffles Anywhere with Shortcodes
Use shortcodes to display raffle information on any page, post, or landing page, not just WooCommerce product pages.
The [raffle_card] shortcode gives you a complete, self-contained raffle preview with image, countdown, prize, and buy button. Perfect for homepages, blog posts, and landing pages. Use [raffle_cards] to display multiple raffles in a responsive grid. Filter by IDs, category, or status with customizable columns. Use [raffle_winners] to showcase past winners with their avatar, city, and winning ticket on a dedicated Winners page.
All shortcodes accept a product ID or use id="latest" / id="active" to automatically pick the most relevant running raffle. See the full documentation for examples.
Built for Developers
- Compatible with WooCommerce 8.0 and newer.
- Works with High Performance Order Storage out of the box.
- Block checkout support included.
- REST API available for custom integrations.
- Translation ready for any language.
- Hooks and filters throughout for customization.
Get Help
- Read the documentation at Themology.
- Ask questions in the WordPress.org support forum.
- Visit Themology.com for bug reports or feature requests.
External Services
This plugin connects to the following external services to provide certain functionality.
QR Server API
The plugin generates QR code images for raffle tickets using the QR Server API.
What gets sent: Only the ticket validation URL that gets encoded into the QR image. No personal information is transmitted.
When this happens: When a customer views or prints their ticket.
Provider: Foundata GmbH (Germany)
Terms of service: goqr.me/api/
Privacy policy: goqr.me/de/rechtliches/datenschutz-qrserver.html
The API is free and does not require registration.
Random.org (Optional)
When you select a winner using the Random.org method, the plugin requests random numbers from their API. This gives you certified random selection for fair draws.
What gets sent: A request for random numbers. No customer data or personal information leaves your site.
When this happens: Only when you click the button to select a winner using Random.org. Never automatic.
You can read their terms at random.org/terms and their privacy policy at random.org/privacy.
You do not need to use Random.org. Manual and automatic selection work without any external connections.
Yes. Every feature listed above works without paying anything. No feature locks. No nag screens. No premium gates. If you need advanced interactive features like ticket picking grids, lucky wheel, or gamification animations, those are available in the separate Raffle for WooCommerce Pro addon. But the free plugin is a complete raffle system on its own — most stores will never need anything more.
When a customer adds raffle tickets to their cart, they can choose to buy them as a gift. They enter the recipient’s name and email at checkout. The recipient gets an email saying they received raffle tickets. The recipient’s name appears on the ticket and enters the draw.
You can pick winners three ways. Manual selection lets you browse all tickets and choose yourself. Automatic selection picks a random winner when the raffle ends. Random.org selection uses their certified random number service for verified fair draws.
Yes. Create as many raffles as you need. Each raffle is a separate WooCommerce product with its own settings.
Customers can view all their raffle tickets in the My Account section. They can also print tickets with QR codes for each entry.
Yes. Use the QR code scanner in your WordPress admin. Scan the QR code on any ticket to verify it and mark it as checked in.
This plugin handles one time raffle ticket purchases. You can create new raffles whenever you want.
Yes. Export all tickets to a CSV file from the admin dashboard. Filter by raffle, date, or status before exporting.
Yes. The plugin integrates with WordPress privacy tools. Customers can request their data or ask for deletion. Gift recipient data is only used for ticket delivery and draw purposes.
Yes. The plugin includes seven shortcodes you can use on any page, post, or landing page. Use [raffle_card id="123"] for a full product card with image, countdown, and buy button, or [raffle_cards ids="123,456" columns="3"] to display multiple raffles in a grid. Use [raffle_countdown id="123"] for just the timer, [raffle_progress id="123"] for the progress bar, [raffle_prize id="123"] for prize info, [raffle_status id="123"] for a status badge, or [raffle_winners id="123"] to display the winner announcement with avatar, city, and ticket details. You can also use id="latest" or id="active" instead of a product ID.
Yes. Go to WooCommerce > Settings > Raffle > Display and enable “Show Countdown on Shop Pages.” This adds a compact countdown badge below the price for raffle products on shop and category archive pages. Products with less than 3 days remaining show an urgency-colored badge.
Go to WooCommerce > Raffle Tickets. The page has three tabs: All Tickets, Winners, and Claimed. The Winners tab shows all winners across all raffles with quick “Mark Claimed” and “Resend Notification” buttons. You can also bulk-select winners and mark them as claimed in one click. The per-product Winner Selection metabox on the product edit page still works for per-raffle management.
The plugin includes six email notifications: Ticket Confirmation (to purchaser), Gift Received (to gift recipient), Winner Notification (to winner), Prize Claimed Confirmation (to winner when claimed), Admin Winner Alert (to admin), and Admin Draw Failed Alert (to admin). Each can be toggled on or off in WooCommerce > Settings > Raffle > Emails, and customized in WooCommerce > Settings > Emails.
Instant Win lets customers find out if they won immediately after purchasing a ticket, rather than waiting for the raffle to end. Enable it per raffle product with two modes: probability-based (e.g., 1 in 50 chance per ticket) or guaranteed interval (one winner every N tickets). Results appear on the order thank-you page and in the customer’s My Account ticket list.
Yes. Enable “Unique winners only” on a raffle product. When drawing multiple winners, the system ensures each person can only win one prize tier. After a ticket holder wins, all their remaining tickets are excluded from subsequent draws.
Yes. On the product edit screen, the Winner Selection metabox shows “Extend” and “Relist” buttons for completed, failed, or cancelled raffles. Extend pushes the end date forward while keeping all tickets and winners. Relist resets the raffle to a fresh state — clears winners and terminal status but preserves existing ticket data.
Yes. Each raffle product has a “Disabled payment gateways” multi-select field. Select any gateways you want to hide when that raffle is in the cart. This is useful for disabling Cash on Delivery or bank transfer for raffle purchases. When Instant Win is enabled with “require instant payment,” offline gateways are hidden automatically.
Yes. Go to WooCommerce > Settings > Raffle > General and set Guest Access to “Block” (shows a login message on the product page) or “Force login” (redirects to the login page). The default is “Allow” which keeps the current behavior.
Yes. Go to WooCommerce > Settings > Raffle > Display and enable “Show Instant Win Ribbon on Images.” This adds an accent-colored ribbon tag on the product image, similar to the WooCommerce “Sale!” badge. It appears on single product pages, shop pages, archive pages, and anywhere the product is displayed. You can set the position to top-left (default) or top-right. The ribbon uses your configured accent color and only shows on active raffle products with Instant Win enabled.
Yes. The plugin uses minimal styling and inherits your theme’s appearance. It works with any theme that supports WooCommerce.
Yes. You can customize the primary color, badge text, and footer message in WooCommerce Settings under the Raffle > Print Ticket section. Email templates use the standard WooCommerce email system.
You can redraw a new winner from the admin panel. The original winner can be marked as unclaimed.
Go to WooCommerce > Settings > Raffle > Compliance and enable Skill-Testing Questions. Build a question pool with text or multiple choice questions. When enabled, customers see a randomly selected question on the product page and must answer correctly to add tickets to the cart. Answers are validated server-side with secure hashing. You can also override the global setting per product in the product’s Compliance Settings tab. Optional enhancements include a countdown timer, max attempt limits per customer, and dropdown display for multiple choice answers.
Go to WooCommerce > Raffle Tickets > Mass Refund tab. Select a failed or cancelled raffle and click “Refund All Tickets”. You can also select individual tickets from the All Tickets tab and refund just those. Three refund methods are available: Standard refund (creates WooCommerce refund records for manual processing), Refund via payment gateway (automatically returns money for Stripe, PayPal, etc., with fallback for offline gateways), and Refund to wallet (credits the customer’s TeraWallet balance so they can reuse it for future purchases). The wallet option requires the free TeraWallet plugin to be installed and active.
The free entry option adds a “Paid Entry” / “Free Entry” tab interface on the raffle product page. This satisfies “no purchase necessary” requirements in jurisdictions like Canadian provinces. Enable it in WooCommerce > Settings > Raffle > Compliance and write your own instructions. Use the [Your Address] placeholder to auto-insert your WooCommerce store address. You can also override this per product.
Plugin details
Tags on WordPress.org
