Faq
Frequently Asked Questions
General questions
What is Raffle for WooCommerce?
Raffle for WooCommerce is a free plugin that adds raffle/lottery functionality to your WooCommerce store. Customers can purchase raffle tickets, and you can draw winners randomly.
Is this plugin free?
Yes, Raffle for WooCommerce is 100% free with no feature locks. Everything in the documentation works without paying anything. If you need advanced interactive features like ticket picking grids, lucky wheel, or gamification animations, those are available in the separate Pro addon — but the free plugin is a complete raffle system and most stores will never need anything more.
Is it legal to run a raffle?
Laws vary by country/state. Generally:
- Charity raffles are often allowed with registration.
- Commercial raffles may be restricted.
- Sweepstakes (no purchase required) have different rules.
Does this work with WooCommerce Blocks?
Yes! The plugin fully supports both:
- Classic Checkout
- Block Checkout (WooCommerce Blocks)
Setup questions
How do I create a raffle?
- Go to Products → Add New
- Select "Raffle" from Product data dropdown
- Set price, dates, tickets limits
- Configure prize
- Publish
Why can't I see the Raffle product type?
- Ensure WooCommerce is active.
- Ensure Raffle for WooCommerce is active.
- Clear browser cache.
- Check for plugin conflicts.
How do I set up automatic winner selection?
- Edit your raffle product.
- Go to Raffle Settings tab.
- Check "Automatically select winners when raffle ends".
- Save product.
Ticket questions
When are tickets generated?
Tickets are generated based on the Generate Tickets On setting (WooCommerce → Settings → Raffle → General):
- Payment Complete: As soon as payment is received.
- Order Processing: When the order moves to "Processing".
- Order Completed: When you mark the order complete (default).
Can I manually create tickets?
No, tickets can only be created through purchases. This maintains integrity and audit trail.
What ticket number formats are available?
- Sequential: 0001, 0002, 0003...
- Random: A7X9B2, K3M8P1...
- Alphabet (Pro): A01, A02 ... A99, B01, B02 ... Z99 (99 per letter group, max 2,574 tickets)
Can customers see their tickets?
Yes, in My Account → My Tickets. They can:
- View all their tickets.
- Filter by raffle or status.
- Download PDF tickets.
- See which tickets won.
Gift purchase questions
Can customers buy tickets as gifts?
Yes, if enabled on the raffle product. Customers can check the gift box on the product page or at checkout, then enter per-ticket recipient details.
Can one person buy gifts for multiple people?
Yes. At checkout, each ticket gets its own recipient fields. Click "+ Add another recipient" to add more; the cart quantity updates automatically. All recipients are processed in a single order.
Can a customer switch to gift at checkout?
Yes. Even if the customer didn't check the gift box on the product page, they can check it at checkout and add recipients. The per-customer limit is lifted for gift items.
Who wins if a gift ticket is selected?
The recipient wins, not the purchaser. The ticket is in the recipient's name.
Does the recipient need an account?
No, but having an account (with the same email) lets them:
- See tickets in My Account.
- Receive notifications.
- Track their entries.
Do per-customer limits apply to gift tickets?
No. Per-customer limits only apply to tickets the customer buys for themselves. Gift tickets are exempt because each goes to a different person.
Skill-testing question & free entry
What is the skill-testing question?
In some jurisdictions (notably Canada), paid raffles require a skill-testing question. When enabled, customers must answer a question correctly before they can add a ticket to cart.
How do I set up skill questions?
Go to WooCommerce → Settings → Raffle → Compliance, enable the feature, then add questions to the Question Pool. Each question can be text-based or multiple choice. See Compliance & Privacy for details.
Why does the same question always show for a raffle?
When a raffle uses the global question pool, a question is randomly assigned on the first customer visit and pinned permanently to that product. This ensures postal (free entry) participants always see the same question. Admins can change the pinned question from the product edit screen's "Pinned question" dropdown.
What is the free entry route?
The free entry feature provides a "no purchase necessary" alternative by showing mail-in or other entry instructions in a separate tab on the product page. This is a legal requirement in some jurisdictions.
Can I set different questions per product?
Yes. Each product can override the global setting and use its own custom question instead of the global pool. Go to the product's Raffle Settings → Compliance section.
Shortcodes
What shortcodes are available?
Seven shortcodes: [raffle_card], [raffle_cards], [raffle_countdown], [raffle_progress], [raffle_prize], [raffle_status], and [raffle_winners]. See Shortcodes for the full reference.
How do I show my current raffle on any page?
Use [raffle_card id="active"] to show the currently active raffle, or [raffle_cards status="active"] for a grid of all active raffles.
Can I display a countdown on my homepage?
Yes, use [raffle_countdown id="active" format="full"] for a detailed timer or format="compact" for a small badge.
Winner selection questions
How are winners selected?
Three methods available:
- Standard Random: WordPress random function.
- Cryptographically Secure: PHP's
random_int(). - Random.org: True random from atmospheric noise.
Can I trust the random selection?
Yes. All methods are properly random. For maximum transparency, use Random.org which provides independent verification.
What if I need to redraw?
In the Winner Selection metabox, you can "Clear & Redraw" to select new winners. The original selection is logged.
Can the same person win multiple times?
By default, if a person bought multiple tickets, different tickets could win different positions. To prevent this, enable "Unique winners only" on the raffle product. When enabled, after a ticket holder wins one prize, all their remaining tickets are excluded from subsequent draws.
What is Instant Win?
Instant Win lets customers find out if they won immediately after purchasing a ticket. Enable it per raffle product with two modes: probability-based (random chance per ticket) or guaranteed interval (one winner every N tickets). Results appear on the thank-you page and in My Account. See Instant Win for details.
Can I extend or relist a raffle that has ended?
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 (keeps all data). Relist resets the raffle (clears winners, keeps tickets). See Winner Selection for details.
Can I block guest users from purchasing raffle tickets?
Yes. Go to WooCommerce → Settings → Raffle → General and set Guest Access to "Block" (shows login message) or "Force login" (redirects to login page). Default is "Allow" (current behavior).
Can I hide specific payment gateways for raffle products?
Yes. Each raffle product has a "Disabled payment gateways" multi-select field. Select any gateways to hide when that raffle is in the cart. When Instant Win is enabled with "Require instant payment," offline gateways (BACS, cheque, COD) are hidden automatically.
Can I prevent raffle and non-raffle products from being purchased together?
Yes. Enable "Block mixed checkout" in WooCommerce → Settings → Raffle → General. When active, adding a raffle to a cart that contains regular products (or vice versa) is blocked with a helpful message.
Prize questions
What prize types are available?
- Custom: Any prize you describe manually.
- Product: Actual WooCommerce products from your store.
- Store Credit: Credit/coupon for your store.
How does product prize fulfillment work?
When a winner is selected with a Product prize:
- A $0 order is automatically created.
- Order is assigned to winner.
- You ship/fulfill like any order.
What if I don't have a store credit plugin?
The system automatically creates a coupon code instead. The coupon:
- Is for the prize value.
- Is one-time use.
- Expires in 1 year.
Technical questions
Is the plugin compatible with HPOS?
Yes, Raffle for WooCommerce is fully compatible with High-Performance Order Storage (HPOS).
Does it work with my theme?
The plugin uses standard WooCommerce templates and styling, so it works with most themes. Tested with:
- Storefront
- Astra
- GeneratePress
- Kadence
Where is data stored?
Custom database tables:
wp_rfwc_tickets- Ticket records.wp_rfwc_winners- Winner records.wp_rfwc_log- Audit log.
Is data deleted when I deactivate?
Deactivation: Data is preserved. Uninstall (delete): All data is removed.
Troubleshooting
Tickets not generating
- Check order status matches the Generate Tickets On setting (default: Completed).
- Check product type is "Raffle".
- Check for PHP errors in
debug.log. - Try completing or processing the order manually.
Emails not sending
- Check WooCommerce → Settings → Emails.
- Ensure email is enabled.
- Check spam folder.
- Test with WooCommerce test email.
Countdown not showing
- Clear cache (plugin, CDN, browser).
- Check raffle has end date set.
- Check theme compatibility.
- Check for JavaScript errors.
Winner not selected automatically
- Verify "Auto Draw" is enabled.
- Check WordPress cron is working.
- Ensure raffle has ended.
- Check for errors in
debug.log.
Refund questions
Can I refund all tickets for a cancelled raffle?
Yes. Cancel the raffle from the product edit screen, then go to WooCommerce > Raffle Tickets > Refunded tab. Select the raffle and click Refund All. A confirmation dialog shows the order count and total amount (including tax) before proceeding. A progress bar tracks the batch.
What refund methods are available?
Both the mass refund and selective refund modals offer three options:
- Standard refund — Creates a WooCommerce refund record. You handle the actual money transfer manually (bank transfer, cheque, etc.). Best for offline payment methods.
- Refund via payment gateway — Automatically returns money through Stripe, PayPal, WooCommerce Payments, Square, or any gateway that supports refunds. Orders paid with offline gateways (bank transfer, COD, cheque) gracefully fall back to a manual refund record — no error, no failure.
- Refund to wallet — Credits the refund amount to the customer's TeraWallet balance so they can reuse it for future purchases. Requires the free TeraWallet plugin to be installed and active.
Does it work with my payment gateway?
Yes. The plugin detects whether your gateway supports automatic refunds. Gateways like Stripe, PayPal, WooCommerce Payments, and Square process refunds automatically. Offline gateways (bank transfer, COD, cheque) don't support automatic refunds, so the plugin creates a manual refund record instead — you won't see a "refund failed" error.
Can I refund to a customer's wallet instead?
Yes. Install the free TeraWallet (Wallet for WooCommerce) plugin. Once active, a "Refund to wallet" option appears in both refund modals. This works regardless of the original payment gateway — every customer gets their credit. Guest orders (no account) automatically fall back to standard refund since guests cannot hold wallet balances; an info notice explains this in the results.
How do I track manual refunds?
After a mass or selective refund, orders needing manual action appear in a warning table with amounts, payment methods, and clickable order links. Click Mark Done on each row after sending money. The badge updates from "Manual - Action Required" (amber) to "Manual - Done" (teal), and a WooCommerce order note is added for the audit trail.
Can I refund individual tickets instead of all?
Yes. Select specific tickets on the ticket list using the checkboxes, then use the Refund Selected bulk action. The refund modal calculates the partial refund amount per line item (including tax) automatically.
What do the refund badges mean?
| Badge | Color | Meaning |
|---|---|---|
| Gateway Refunded | Green | Money returned automatically via payment gateway |
| Wallet Refunded | Indigo | Refund credited to customer's TeraWallet balance |
| Manual - Action Required | Amber | Admin needs to send money manually |
| Manual - Done | Teal | Admin confirmed the manual refund is complete |
Can winners be drawn early when tickets sell out?
Yes. Enable "Early draw when sold out" globally in WooCommerce → Settings → Raffle or per-product in the Raffle Settings tab. When all tickets sell out, the draw happens immediately instead of waiting for the end date. Requires "Automatic draw" to be enabled on the product.
Can I set a minimum ticket sales requirement?
Yes. Edit the raffle product and set "Minimum tickets for draw" in the Raffle Settings tab. If the threshold is not met by the end date, the raffle automatically fails and tickets become eligible for mass refund. Set to 0 (default) for no minimum.
Do customers get notified when tickets are refunded?
Yes. When tickets are refunded (selective or mass), the ticket holder receives a "Ticket Refunded" email with the refunded ticket numbers, raffle name, amount, and reason. Gift recipients are notified at their own email address. The admin also receives a summary email after mass refunds complete. Both can be toggled in WooCommerce → Settings → Raffle → Emails.
Support
Where can I get help?
- WordPress.org Support Forum: Community support and general questions.
- Themology Support: Bug reports, feature requests, and critical support.
- Plugin documentation: You're reading it!
How do I report a bug?
- Check FAQ and docs first.
- Search existing forum topics.
- Post on the WordPress.org forum or submit via Themology Support with:
Can I request features?
Yes! Post on the WordPress.org forum or submit via Themology Support. Popular requests are considered for future versions.