How to run lotteries and contests in WooCommerce
WooCommerce does not include lottery tickets, entry limits or winner selection. For a small contest, sell a virtual entry product and draw from the paid orders manually. For ticket sales, automated draws and social-entry options, use a dedicated lottery or competition extension.
- 01Choose the promotion format
- 02Publish the official rules
- 03Use the manual route for small contests
- 04Install a lottery extension
- 05Configure the entry product
- 06Test the complete draw
What you need
- A WooCommerce store with a payment gateway
- Administrator or shop manager access
- A prize, entry period and winner-selection method
- Written official rules and any required free-entry method
Choose the promotion format
Decide whether this is a random draw, a skill-based contest or a free-entry sweepstakes. A random draw where people pay for entries may be regulated as a lottery or gambling promotion, so check the rules for every location you allow before publishing it.
Write down the start and end date, eligibility, entry limit, prize value, odds or judging criteria, winner notification process and what happens if a winner does not respond. In the United States, prize promotions commonly need clear information about entry conditions and whether purchase is required.
Publish the official rules
Create a page for the full rules and link to it from the entry product and checkout. Include the sponsor, eligible countries or states, age limits, exact closing time and time zone, entry methods, entry limits, prize details, judging or random-draw method, winner contact process, privacy terms and any alternate-winner procedure.
Do not describe a paid random draw as a normal promotion without checking the law. Social networks also have their own promotion rules, and a share or follow action is not always something your site can verify reliably.
Use the manual route for small contests
For a small, simple promotion, create a virtual WooCommerce Simple product called something like “Competition entry”. Set the price, disable shipping, add the eligibility and rules, and set an end date in the product copy. WooCommerce core includes Simple products but does not provide a dedicated lottery product type or winner-draw system.
After entries close, filter the eligible paid orders, export or copy the entrant list into a spreadsheet, remove refunds and duplicate entries according to your rules, then use a documented random method or judge the entries. Record the date, list used and result, contact the winner, and publish the outcome if your rules promise it. This route is fine for a low-volume contest, but it does not issue unique tickets, prevent ticket collisions, enforce complex entry limits or send draw emails automatically.
Install a lottery extension
Use a dedicated WooCommerce lottery or competition extension when you need ticket numbers, a fixed ticket pool, automatic or manual ticket assignment, entry limits, a closing date, winner records and email notifications. WooCommerce extensions in this category add a separate raffle, giveaway or competition product workflow because those controls are not part of WooCommerce core.
Install the extension from Plugins > Add New > Upload Plugin, activate it, then check its settings page before creating the first competition. Keep a staging copy or backup, because large ticket pools can hit PHP memory, input-variable or cache limits. One current competition guide specifically warns about memory and max_input_vars problems with large randomly assigned ticket sets.
Configure the entry product
Create the lottery or competition product and set its start and end dates, ticket price, total tickets, minimum and maximum tickets per order, maximum tickets per customer and number of winners. Choose automatic ticket assignment for a simpler checkout, or manual selection if customers must choose ticket numbers.
Set the ticket format so every number is unique, configure the prize and decide whether the winner is selected automatically when the draw closes or manually from the admin area. Check the extension documentation for the exact setting names, because they differ between products. Comparable WooCommerce tools expose settings for ticket pools, ticket patterns, per-user limits, winner count and automatic or manual selection.
Test the complete draw
Place a test order with a test customer, confirm that payment creates the entry only after the order reaches the status your rules require, and check the ticket number in the account area and email. Test refunds, failed payments, guest checkout, the ticket limit, the closing time and the winner notification.
Before launch, exclude checkout and account pages from full-page caching if the extension requires live ticket availability. At the closing time, save an export or screenshot of entries, run the draw once, record the winning ticket and notify the winner. If you want the fast route, use WooCommerce Lottery: it is designed for WooCommerce ticket sales, automated winner selection, email updates and additional entry methods such as social sharing.
Let WooCommerce Lottery do it
WooCommerce ticket sales, automated winner selection, and social entries for sites running giveaways rather than standard promotions.
Sources
- ftc.gov /sites/default/files/documents/public_statements/prepared-st…
- woocommerce.com /document/managing-products/?utm_source=openai
- woocommerce.com /document/raffle-and-giveaway/?utm_source=openai
- woocommerce.com /document/competitions-for-woocommerce-documentation/?utm_so…
- woocommerce.com /document/giveaway-for-woocommerce/?utm_source=openai
Questions
- Can WooCommerce run a lottery without a plugin?
- WooCommerce can collect paid entries through a virtual Simple product, but it cannot natively issue lottery tickets, maintain a ticket pool or select and notify winners. For a small contest, you can export eligible orders and draw from a spreadsheet. A dedicated extension is needed when you want automated ticket assignment, limits, winner records or scheduled notifications.
- How should I choose between a lottery and a contest?
- Use a lottery or sweepstakes when chance selects the winner, and use a contest when a stated judging method selects the best entry. The distinction affects your rules, entry method and legal obligations. If customers pay for a chance-based entry, get advice for the jurisdictions you serve before launch rather than assuming that calling it a giveaway makes it lawful.
- Can customers buy multiple tickets in WooCommerce?
- Yes, a lottery extension can let customers buy multiple tickets and can enforce minimum, maximum and per-customer limits. Some extensions assign numbers automatically, while others let customers select available numbers or use a random ticket option. With only WooCommerce core, quantity is just product quantity and does not create a controlled, unique ticket pool.
- What happens if a WooCommerce lottery order is refunded?
- A refunded order should not remain eligible unless your published rules explicitly say otherwise. Check how the extension handles cancelled, failed and refunded orders, then test the complete status flow before launch. If you run the draw manually, filter those orders out yourself and keep a record of the final eligible-entry list so the result can be explained later.
- How do I announce the winner fairly?
- Announce the winner using the method stated in your rules, keep the winning ticket or entry record, and retain an audit trail showing when the draw happened and which entries were included. Contact the winner using the information collected at entry, allow the response period stated in the rules, and select an alternate only if your rules permit it. Do not claim that social shares were verified unless your system actually recorded them.