How to Run a Charity Raffle Online and Sell Tickets Legally

How to run a charity raffle online and sell charity raffle tickets legally: licensing rules for the US, UK and Canada, then a free WooCommerce setup.

There’s one small rule inside Raffle for WooCommerce that explains most of what’s hard about selling charity raffle tickets online. When a raffle uses a skill-testing question from the shared pool, the plugin picks one question the first time someone opens that raffle and pins it there for good. Every visitor sees the same question, every time.

A fresh question on every visit would have been simpler to build. But someone entering by post has to know which question to answer, and a question that keeps changing would break their entry.

So the same question also shows in the raffle’s Free Entry tab, next to the postal instructions, with your store address filled in from your WooCommerce settings.

None of that has anything to do with selling a mug. It’s the law reaching into a product page. Canada’s rules are why the question exists. UK rules are why there’s a free postal route next to the paid tickets. Get either wrong and a fundraiser turns into an unlicensed lottery.

So the first question every charity raffle organizer asks is the right one: “Is this even legal?” I’m not a lawyer, and nothing here replaces one. We build Raffle for WooCommerce, and charity raffle organizers are some of the people who contact me most.

This guide is what I’d want in front of me before selling the first ticket: the rules in the US, UK and Canada, the compliance features to look for, and a step-by-step WooCommerce setup.

TLDR

In the US, most states allow charity raffles with a permit ($15 to $500), but about a dozen ban or restrict online ticket sales. In the UK, a genuinely free entry route keeps a prize draw out of gambling law, and online lotteries otherwise need a Gambling Commission license. In Canada, a skill-testing question changes how a raffle is classified. Check your own rules first, then set up the raffle on WooCommerce with a free plugin, gift tickets and a draw method you can explain.

What is a charity raffle?#

A charity raffle is a fundraiser where an organization sells numbered charity raffle tickets and draws a winner for a prize. The ticket money goes to the cause. An online charity raffle works the same way but sells tickets through a website instead of in person, so you can reach supporters far beyond your town.

The legal catch: in most countries, a raffle counts as a form of gambling or lottery. That means rules apply. Which rules depends on where your organization operates and where your ticket buyers live.

Short answer: probably, but check your own jurisdiction before you do anything else. Raffle laws vary from state to state, country to country, and sometimes city to city. Alabama bans them outright. The UK requires a free entry option to stay out of gambling law. Canada wants a skill-testing question. And your neighbor’s golf club probably ignores all of it.

Decision flowchart showing charity raffle legal requirements by country: US, UK, and Canada

This is the general picture in the three markets where most of our users run raffles.

United States#

Raffle laws in the US are a patchwork. Each state has its own rules, and they don’t agree on much. According to US Charitable Gaming, 47 states allow some form of charitable raffle, but the conditions differ in almost every one.

States that ban raffles entirely: Alabama, Hawaii and Utah don’t allow them in any form. If you’re in one of these states, stop here and talk to a lawyer about other ways to raise money.

States that allow online raffle ticket sales: About 14 states currently let the general public buy charitable raffle tickets online. The number keeps growing as states update their laws, but it changes year to year.

States with in-person only rules: Several states allow raffles but require tickets to be sold face to face. California, Arkansas and New Mexico fall into this group. Running an online raffle from these states gets legally complicated.

Common requirements across most states:

  • Your organization needs 501(c)(3) nonprofit status or a similar designation.
  • You’ll need a permit or license, with fees that usually run $15 to $500.
  • Some states require your nonprofit to have operated for one to two years before running a raffle.
  • Financial reports are usually due 30 to 90 days after the raffle ends.
  • Ticket materials need to show the drawing date, prize descriptions, ticket price and your organization’s name.

The most thorough state-by-state breakdown I’ve found is from Charity Auctions Today. Bookmark it.

United Kingdom#

UK raffles fall under the Gambling Act 2005, which treats them as lotteries. The rules depend on the size of your raffle and how you run it.

The free entry exemption: This is the part most people miss. If you offer at least one genuinely free way to enter (an online form or a postal entry), your raffle becomes a “free draw”, covered by consumer protection law instead of gambling law.

The free option can’t be buried in fine print while the paid option gets the spotlight. It needs to be just as visible.

When you don’t need a license:

  • Private lotteries, closed to a specific group like employees or club members.
  • Incidental lotteries, part of a physical event, with tickets sold only at that event.

When you need to register with your local authority:

  • Small society lotteries for charity with ticket sales under £20,000 per draw and £250,000 per year. Registration usually costs around £40 a year, according to the Gambling Commission.

When you need a Gambling Commission license:

  • Any online lottery, including ones run through social media, fundraising platforms or your own website.
  • Society lotteries above the £20,000 and £250,000 limits.

All profits after costs and prizes must go to the charitable cause. You can’t keep profit for personal use.

The Fundraising Regulator has the complete guidelines.

Canada#

Canadian raffle law mixes federal criminal law with provincial rules.

The skill-testing question: This is Canada’s distinctive requirement. Under the Criminal Code, a lottery where prizes go out purely by chance needs a government license. Adding a skill-testing element often changes the legal classification. That’s why Canadian contests and raffles almost always ask a math or trivia question before entry.

Provincial rules add more layers. Some provinces require specific licenses, cap prize values, or restrict online ticket sales. Check your province’s gaming authority before you go further.

The reality check#

No guide on the internet, this one included, replaces talking to someone who knows your jurisdiction’s laws. If your raffle involves real money and real prizes, spend an hour with a lawyer who handles nonprofit compliance. The consultation fee is cheaper than the fine.

What you need before selling a single ticket#

Before you pick a platform or install a plugin, work through this checklist. Skipping it is how organizations end up with a raffle they have to cancel.

Legal and organizational:

  • Confirm your organization type qualifies (501(c)(3) in the US, registered charity in the UK, and so on).
  • Check whether your state or country allows online raffle ticket sales.
  • Apply for any permits or licenses you need.
  • Decide whether you need paid entry only, or paid and free entry (the UK and Canada may require a free alternative).
  • Find out your reporting requirements and deadlines.

Raffle setup decisions:

  • Set a clear prize, ticket price and total number of tickets.
  • Choose your start date and end date. The draw happens when the raffle ends.
  • Decide how winners will be picked: manual, automatic, or with numbers from an outside service.
  • Plan how you’ll handle refunds if the raffle is cancelled or doesn’t meet its goal.

Technical requirements:

  • A website with a proper payment checkout, not just a PayPal link.
  • Email notifications for ticket confirmation, gift receipts and winner announcements.
  • A way to generate and track ticket numbers.
  • PDF or printable tickets if you’re running a physical event alongside the online raffle.

If you already have a WooCommerce store, most of the technical pieces are in place. The checkout, payment gateways, email system and order management are all there. You only need a raffle plugin on top.

Setting up your raffle with WooCommerce#

Most guides about online raffles push hosted platforms. GalaBid, RallyUp, Rafflr and others charge monthly fees, per-ticket fees, or both. If you already run a WooCommerce store, I don’t think you need a separate platform. Your checkout handles payments, your email system handles notifications, and your order dashboard keeps the records.

This setup uses Raffle for WooCommerce, the plugin we built for exactly this. It’s free on WordPress.org.

We made it because charity organizers kept telling me nothing else did what they needed, especially gift ticket purchasing and fair draws they could explain. If you want to compare it against other options first, I tested all the WooCommerce raffle plugins in a separate article.

Step 1: Install the plugin#

Go to Plugins > Add New in your WordPress admin, search for “Raffle for WooCommerce”, and install it. Or download the zip from WordPress.org and upload it.

After activation, go to WooCommerce > Settings > Raffle to set your global options. The getting started guide walks through each setting.

Step 2: Create a raffle product#

Add a new product in WooCommerce and pick Raffle as the product type. A Raffle Settings tab appears with these fields:

  • Ticket price, which is the regular WooCommerce price field.
  • Start date and Start time, when ticket sales open.
  • End date and End time, when ticket sales close. An automatic draw runs at this time.
  • Total tickets, how many you want to sell. Leave it empty for unlimited.
  • Max per customer, the most tickets one person can buy.

A live countdown timer and progress bar show on the product page. On shop and raffle cards, the countdown switches to an urgent style when less than three days remain.

The creating raffles documentation covers every option.

Step 3: Turn on gift purchasing#

Charity organizers ask me for this more than anything else. Supporters want to buy tickets for elderly relatives who can’t buy online. Businesses want to buy entries for employees. Families want to gift a chance to win. I wrote the full case in a separate post on why gift raffle ticket purchasing matters.

It’s on by default. You’ll find Enable Gift Purchase in WooCommerce > Settings > Raffle > General, and you can switch it per product if you only want gift options on some raffles.

With gift purchasing on, checkout shows fields for each recipient’s name, email and an optional personal message. The recipient gets an email with their ticket details. Their name goes into the draw, not the buyer’s.

The gift purchases documentation explains the full checkout experience for both WooCommerce Block Checkout and Classic Checkout.

Step 4: Set up compliance features#

This is where most raffle plugins fall short. A charity raffle that has to follow the rules needs more than ticket numbers and a random draw.

Skill-testing questions (for Canada and similar places):

Go to WooCommerce > Settings > Raffle > Compliance and turn on skill-testing questions. Build a question pool with text or multiple choice questions. Customers then see a question on the product page and must answer it correctly before tickets go in the cart.

Questions are pinned per product. Once a question is assigned to a raffle, it stays the same for every visitor. That’s the rule from the top of this post, and it matters for postal entrants who need to know which question to answer in their mail entry.

Free entry route (for the UK and similar places):

In the same compliance settings, turn on the free entry option. It adds a “Paid Entry” and “Free Entry” tab layout to the raffle product page. Write your own postal entry instructions, and use the [Your Address] placeholder to insert your WooCommerce store address.

The compliance documentation covers every setting.

Step 5: Choose your winner selection method#

You have three options:

  1. Manual selection: You pick the winner yourself in the admin. Useful for small, informal draws.
  2. Automatic selection: The plugin picks a random winner when the raffle ends, with no action from you. It uses the cryptographically secure method by default.
  3. Random.org selection: The plugin asks Random.org, a service certified by Gaming Labs International, for the draw numbers. No customer data leaves your site. Only a request for random numbers is sent.

Each draw’s proof data (method, pool size, time, and the time Random.org made the numbers) is saved with the winners, and the draw goes into the activity log.

One thing I want you to know before you promise anyone a receipt: our plugin uses Random.org’s Basic API, so it doesn’t return a signed result a third party can verify on their own.

Random.org’s free key is also meant for development and testing, and its plan for prize draws is paid. I explain both in the Random.org comparison linked further down.

See the winner selection documentation for setup details.

Step 6: Configure email notifications#

The plugin sends eight types of email:

  • Ticket Confirmation to the buyer after buying tickets.
  • Gift Received to gift recipients with their ticket details.
  • Winner Notification to winners when they’re drawn.
  • Prize Claimed Confirmation to winners when their prize is marked as collected.
  • Ticket Refunded to customers when a ticket is refunded.
  • Admin Winner Alert to you when a winner is picked.
  • Admin Draw Failed Alert to you if an automatic draw fails.
  • Admin Mass Refund Summary to you after a mass refund.

Turn each one on or off in WooCommerce > Settings > Raffle > Emails, and edit the templates in WooCommerce > Settings > Emails.

Step 7: Test before going live#

Don’t skip this step. Run the whole flow before real money is involved.

  1. Create a test raffle with a low ticket count.
  2. Buy a ticket yourself, using WooCommerce test mode or a sandbox payment gateway.
  3. Make a gift purchase to a different email address.
  4. Let the raffle end and test the winner selection.
  5. Check that every email arrived and looks right.
  6. Export the ticket data and check the CSV.

If you use skill-testing questions or the free entry route, test those too. Every compliance feature needs to work before you go public.

Compliance features most platforms miss#

Compliance is the part that trips people up, so this is what I’d look for in any raffle platform, not just ours.

Gift ticket purchasing#

When someone buys a raffle ticket for a relative, friend or colleague, the recipient’s name should be on the ticket and in the draw. Not the buyer’s name. It sounds simple, but most raffle plugins don’t offer it at all.

For charities, this matters a lot. Elderly supporters who can’t manage an online checkout. Businesses buying entries for staff events. Parents buying for their children. Without it, you end up tracking entries in a spreadsheet by hand, which is exactly what causes mistakes at draw time.

Winner selection you can explain#

“Random” isn’t the same as “provably random”. Any plugin can generate a random number. Fewer can tell you where the number came from and keep a record of each draw.

Random.org makes its numbers from atmospheric noise, outside your server, and is certified by an independent lab. A cryptographically secure draw on your own server can’t be predicted either. My technical comparison of Random.org vs built-in random methods explains the three methods, what each one can prove, and when it matters.

For informal office draws, this probably doesn’t matter. For charity raffles under a regulator, it matters a lot. Ask your regulator what proof they accept before the draw.

Audit trail#

Charity regulators want to see what happened and when. Who bought tickets. When the draw happened. How the winner was picked. Whether any tickets were refunded.

A proper audit trail logs every action automatically. You shouldn’t need to rebuild it from order emails and screenshots afterward.

Refund handling for failed or cancelled raffles#

Raffles fail sometimes. You don’t sell enough tickets, or plans change and you have to cancel. When that happens, you need a way to refund ticket holders that doesn’t mean processing every order by hand.

Look for mass refunds, a choice of refund method (gateway refund, manual, or wallet credit), and a clear record of what was refunded and how.

Four ways a charity raffle can look#

These are examples, not case studies. They show how the same plugin fits different organizations.

Golf club members-only draw#

A golf club runs monthly prize draws for members. It puts the raffle on a password-protected page and uses automatic winner selection. No compliance features are needed, since it’s a private lottery. A countdown timer on the club’s homepage reminds members to enter.

School PTA fundraiser#

A school PTA runs a holiday raffle with both online and in-person ticket sales. Online tickets go through WooCommerce. The PTA treasurer records cash sales at school events with Pro’s manual sale form. Grandparents buy gift tickets for students. The draw uses numbers from Random.org, so nobody wonders whether the PTA picked its own kid.

Animal charity raffle#

A UK animal charity runs an online raffle to fund veterinary care. It turns on the free entry route (postal entry) to comply with UK rules. A skill-testing question isn’t needed because it’s UK-based.

PDF tickets with QR codes let supporters show their entries at the charity’s annual gala. The draw record and audit trail go into the charity’s compliance report.

Church community raffle#

A church runs a quarterly raffle to fund community programs. Gift purchasing does the most work here: members buy tickets for elderly members of the congregation who don’t use computers. The church treasurer runs the draw and uses the analytics dashboard to report results to the church council.

Promoting your raffle#

The best raffle setup means nothing if nobody knows about it. This is what I’d do for a small organization.

Start with your existing audience: Email your supporter list, put it in your newsletter, and post it in your member groups. People who already care about your cause are the easiest first buyers.

Use the countdown and progress bar: The progress bar shows tickets sold and tickets remaining, and the countdown shows the time left. Share screenshots of both on social media as the raffle goes on.

Put QR codes on physical materials: At events, print flyers or posters with a QR code that links straight to the raffle product page. People scan it and buy on their phone through your regular WooCommerce checkout.

Make gifting easy to notice: Remind supporters they can buy tickets for others. “Know someone who’d love to win this? Buy them a ticket.” One prompt like that turns one buyer into several entries.

Embed raffles on other pages: Don’t rely on people finding the raffle in your shop. Use the raffle card shortcode to embed a raffle preview with image, countdown and buy button on your homepage, blog posts or landing pages.

Add the extras when you need them: Pick-your-own-number grids, animated winner reveal pages, PDF tickets emailed automatically, bonus ticket rewards, and a lucky wheel for email signups are in the Raffle for WooCommerce Pro addon ($69/year).

Frequently asked questions#

Do I need a license to run a charity raffle online?#

In most US states, yes, you need a license or permit to run a charity raffle. Fees usually run $15 to $500, and you apply through your state’s attorney general, gaming commission or local clerk’s office.

In the UK, online lotteries need either local authority registration (about £40 a year for small raffles) or a Gambling Commission license for larger ones. Three US states ban raffles entirely: Alabama, Hawaii and Utah.

Can someone buy raffle tickets as a gift for another person?#

Yes, but only a few WooCommerce raffle plugins support gift ticket purchasing. Most don’t offer it at all. With Raffle for WooCommerce, gift purchasing is built into the checkout. The buyer enters recipient details, the recipient gets an email with their ticket, and the recipient’s name goes into the draw instead of the buyer’s.

What’s the cheapest way to run an online charity raffle?#

The cheapest way is a free WooCommerce raffle plugin, if you already have a WordPress site. Hosted raffle platforms like GalaBid and RallyUp charge monthly or per-ticket fees that eat into what you raise. Raffle for WooCommerce is free with no ticket fees. I wrote a full comparison of WooCommerce raffle plugins if you want to weigh the options.

How do I prove a raffle draw was fair?#

Start by using a method you can name, and keep the record of every draw. A third-party random number service like Random.org makes its numbers from atmospheric noise instead of software on your server.

When you use it in Raffle for WooCommerce, the method, draw time and the time Random.org made the numbers are saved with the winners. If someone needs proof they can check without trusting you, that takes a signed result or a third-party draw service, which our plugin doesn’t provide today.

Do I need to offer a free entry option for my raffle?#

It depends on your country. In the UK, yes. A free entry route (postal entry or a free online form) turns your raffle from a “lottery” under gambling law into a “free draw” under consumer law, which is much lighter to comply with.

In Canada, a skill-testing question plays a similar legal role. In most US states, licensed charitable raffles don’t need a free entry alternative, but check your state’s rules because some do.

What happens if my raffle doesn’t sell enough tickets?#

You can cancel the raffle and refund every ticket holder. Raffle for WooCommerce includes mass refunds with three methods: standard refund (manual processing), refund through the payment gateway (automatic for Stripe, PayPal and similar), and refund to wallet (credits the customer’s balance).

You can also set a minimum ticket count, so an automatic draw fails instead of running when too few tickets sell. Failed raffles show in the analytics dashboard.

Can I run an online raffle without a website?#

You can use hosted platforms like GalaBid, RallyUp or Rafflr that run everything for you. The trade-off is cost. Their monthly or per-ticket fees add up, especially for small charities. If you already have a WordPress site with WooCommerce, running the raffle on your own site with a free plugin is cheaper and keeps your data with you.

What is a skill-testing question for raffles?#

A skill-testing question is a simple math or trivia question that entrants must answer correctly before they can buy tickets. It’s a legal requirement in many Canadian provinces.

Under Canada’s Criminal Code, a contest where prizes go out purely by chance needs a government license. Adding a skill element changes the classification, which is why you see “What is 5 x 3 + 2?” on so many Canadian contests. Most raffle plugins don’t include this feature.

What to do next#

If you’re planning a charity raffle, the legal homework comes first. Check your jurisdiction’s rules, get the permits you need, and decide whether you need free entry or skill-testing questions.

Once the legal side is sorted, the technical setup with WooCommerce takes about 30 minutes. Install the plugin, create a raffle product, set your compliance options, and test everything before going public. The documentation covers every feature and setting.

If you’re running a promotional giveaway rather than a licensed charity raffle, the WooCommerce giveaway guide covers that format. If you’re still choosing a raffle platform, start with my hands-on comparison of every WooCommerce raffle plugin. And if your raffle sits alongside an event, the guides on selling event tickets with WooCommerce and managing events in WooCommerce cover the rest.

If you do one thing today, look up your state, province or local authority’s raffle rules and write down the license you need. Everything else in this guide is easier once that answer is on paper.