Buying raffle tickets as a gift: why charities need this

When you buy raffle tickets as a gift, the recipient, not the buyer, should be in the draw. Why charities need gift tickets and what a good setup looks like.

One bug we fixed in Raffle for WooCommerce this year explains gift tickets better than any feature list. In version 1.1.12, we found that when every ticket in an order was a gift, the recipient never got their email. The buyer got an order confirmation. The person whose name was in the draw heard nothing.

Orders that mixed the buyer’s own tickets with gifts worked fine. So the bug only showed up in the exact case gift tickets exist for: someone buying for a person who isn’t them.

The cause was a hook timing problem in how our emails registered with WooCommerce. We fixed it by moving every raffle email onto the notification WooCommerce sends once its email system has loaded.

That bug is the whole problem in miniature. A gift raffle order has two people in it, and most software only expects one. The buyer owns the order. The recipient owns the ticket. Get either side wrong and someone gets left out.

I care about this more than most features because of who gets left out. The first use case in our plugin’s readme is charity supporters buying tickets for elderly relatives who can’t buy online. Those are exactly the people a one-buyer, one-entrant raffle can’t reach.

TLDR

Most online raffle platforms tie each ticket to the account that paid for it. Charity supporters often want to buy tickets for elderly relatives, staff or family, and without real gift tickets those people never get into the draw. A good setup captures recipient details for each ticket at checkout, emails the recipient, and treats the recipient, not the buyer, as the entrant.

What gift ticket purchasing actually means#

In most software, a “gift purchase” means buying something and shipping it to someone else’s address. That’s not what charity raffle organizers mean.

Real gift ticket purchasing for raffles has four parts:

  1. The buyer goes through checkout with their own payment details.
  2. For each ticket in the cart, they enter a separate recipient: name, email and an optional message.
  3. The recipient receives an email with their ticket number and the personal note.
  4. The recipient’s name, not the buyer’s, goes into the draw.

Step four is the one that breaks most platforms. The order belongs to the buyer for accounting. The ticket belongs to the recipient for the draw. Those are two different relationships, and most ecommerce stacks aren’t built to track both.

Why charity raffles especially need this#

Plenty of raffles work fine without gift purchasing. A pub meat draw doesn’t need it. An office Secret Santa pool doesn’t need it. A subreddit giveaway doesn’t need it.

Charity raffles are different because the supporters often include people who can’t or won’t buy online themselves. Our readme lists the cases we built for: charity supporters buying for elderly relatives, club members buying for their family, and businesses buying entries for employees or clients. A few examples of how those look:

Family members buying for elderly relatives: Say a daughter buys five tickets and wants her mother’s name on them. Her mother has no email address, has never paid online, and lives 200 miles away. Without gift purchasing, the daughter calls the charity office and asks someone to add her mother’s name to a spreadsheet by hand.

Businesses buying for staff: A local business buys 50 tickets as a perk for employees during a charity gala. Each employee should get their own entry, not 50 tickets under the company name. If the company wins, that’s awkward. If an employee wins, that’s a story.

Parents buying for children: A parent buys tickets for their twins in the school PTA raffle. Each child gets their own ticket, their own number, and their own PDF ticket to take to school the next day.

Group buys for friends: Five friends pool money, but only one of them goes through checkout. Five names should still go in the draw. One person pays and everyone gets an entry.

The technical need is the same in every case: separate the buyer from the recipient at the ticket level. The charity need matters more: reach supporters who want to give but can’t do it the usual way.

What it does for ticket sales#

I can’t give you a number for how much gift tickets add to a raffle, and I won’t make one up. The logic is simple, though.

Gift purchasing doesn’t make existing buyers happier. It reaches a different set of people through them.

A retired couple who’d never buy online can end up with tickets because their children bought them. A business owner who’d buy one ticket as a token can buy twenty to hand out. A churchgoer who can’t use the website at all can get tickets through the parish secretary.

None of those people show up in your buyer list without gift purchasing. They’re invisible. The feature doesn’t create new supporters, but it lets you reach the ones you already have through the people around them.

Why most platforms don’t have it#

The default in most ecommerce software is that the buyer is the user. Stripe’s data model expects a customer record per buyer. WooCommerce’s order model expects one billing address, one shipping address and one customer for the whole order. Most raffle plugins inherit those assumptions and never question them.

To support gift purchasing properly, a raffle plugin needs to:

  • Add recipient fields (name, email, message) to each line item in the cart.
  • Keep those fields through checkout.
  • Survive WooCommerce’s cart-to-order step without losing per-item data.
  • Create ticket records keyed on the recipient, not the buyer.
  • Send recipient emails through the WooCommerce email system, to the recipient’s address.
  • Show both “tickets bought by this customer” and “tickets entered by this recipient” in reports.

Most of that needs work inside the plugin itself. Bolting it on with custom code on top of a stock raffle plugin is possible, but it breaks easily, especially after plugin updates.

I know because I tried it on three different plugins before deciding to build our own. The 1.1.12 bug shows how easy it is to get one of those steps wrong even when you own the whole plugin.

The plugins that do support gift purchasing tend to put it in their paid tier or hide it in a buried setting. Check for it when you compare raffle platforms.

What good gift ticket UX looks like#

Two raffle plugins can both claim gift purchasing and work completely differently. If you’re choosing between them, this is what I’d check.

Per-ticket recipient details, not per-order: Buy three tickets and you should be able to enter three separate recipients. A platform that asks for one shipping address and treats the whole order as one gift fails this test.

Block Checkout and Classic Checkout support: Block Checkout is WooCommerce’s default now. If gift fields only work in Classic Checkout, many of your customers won’t see them.

Recipient fields that follow the cart: When the customer changes the ticket quantity, the recipient fields should match it. Forcing a page refresh or a restart breaks the flow.

A real email for the recipient: The recipient should get a properly formatted email sent through the WooCommerce email system, so your branding and templates apply. This is the step our own bug broke, so test it.

Recipient name in the draw: When the raffle is drawn, the recipient’s name should appear in the winner email, the audit log and any public winner announcement.

Personal message field: Optional, but it adds a lot. “Happy birthday from Mom” or “Good luck from the team”.

Privacy-aware: Recipient data is personal data. The plugin should work with WordPress privacy tools, support data export and erasure under GDPR, and keep recipient details out of places they don’t belong.

Raffle for WooCommerce ships all of the above in the free version, because we built it with charity raffles in mind. Gift tickets also don’t count against a raffle’s per-customer limit, so one supporter can buy for the whole family.

Since version 1.1.11 there’s one more option, Allow Self-Claim in Gift Orders. It adds a “This ticket is for me” checkbox to each recipient field, so a buyer can keep some tickets and gift the rest in one order. Self-claim works in Classic Checkout only for now.

Compliance: who is the actual entrant?#

For charity raffles under a regulator, gift purchasing changes who counts as the entrant. That matters in three places.

Eligibility checks: Some places require entrants to be local residents, of legal age, or members of a specific community. The check applies to the recipient, not the buyer. A platform that records only the buyer’s details can’t show the entrant was eligible.

Skill-testing questions in Canada: Under Canada’s Criminal Code, raffles often need a skill-testing element, and the entrant is the one who should answer it.

In Raffle for WooCommerce, the question appears on the product page before tickets go in the cart, so the buyer answers it.

If your raffle depends on the question, ask your regulator whether a buyer answering for a gift recipient is acceptable.

Free entry routes in the UK: UK lottery rules require a free entry route alongside paid tickets. That free route belongs to the entrant, not the buyer, so a gift recipient has the same right to it as anyone else.

For the legal framework across the US, UK and Canada, my charity raffle online guide covers each country.

Setting it up with WooCommerce#

If you already run WooCommerce, the setup is short. The full walkthrough is in the gift purchases documentation. The steps:

  1. Install Raffle for WooCommerce from the WordPress.org plugin directory. It’s free.
  2. Go to WooCommerce > Settings > Raffle > General. Enable Gift Purchase is on by default, so check it’s still ticked.
  3. Decide whether gift purchasing should be on for every raffle or only some. The per-product setting helps if some raffles are members-only or single-buyer formats.
  4. Set up the Gift Received email under WooCommerce > Settings > Emails. The default template is fine for most cases, but you’ll probably want your charity’s branding on it.
  5. Test the whole flow before going live. Buy a ticket for yourself, then buy one as a gift to a separate test email address. Buy one order where every ticket is a gift, too. Check that every email arrives and both names show in the admin ticket list.

Total setup time is around 15 minutes if WooCommerce is already running.

If you haven’t picked a raffle plugin yet, my hands-on comparison of every WooCommerce raffle plugin shows which ones support gift purchasing and which don’t.

Frequently asked questions#

Can someone buy raffle tickets for another person on most platforms?#

Not natively. Most WooCommerce raffle plugins treat the buyer’s account as the entrant. A few support gift purchasing as a paid feature. Raffle for WooCommerce includes it free in the WordPress.org version. Hosted raffle platforms like RallyUp and GalaBid support it to different degrees, often only on higher tiers.

Does the recipient need a WordPress account to receive a gift ticket?#

No. The recipient doesn’t need any relationship with the website. Their email becomes the contact for the ticket, and they get an email with their ticket number and any personal message. They don’t need to log in, register, or do anything to be entered.

What happens if a gift recipient wins?#

The winner email goes to the recipient, not the buyer. The audit log records the recipient’s name as the winner. If the prize needs shipping or pickup, the recipient is the contact. The buyer stays on the order for accounting, but they aren’t part of the winner process.

Can the buyer see whether their gift recipient won?#

In Raffle for WooCommerce, yes. The buyer’s tickets list in My Account shows the gifts they sent, labeled “Gift you sent”, with each ticket’s status. A winning ticket shows as “Winner!”. The winner email itself goes only to the recipient.

Is gift purchasing GDPR-compliant?#

It can be, if the platform handles recipient data carefully. The recipient’s name and email are personal data and need the same controls as any other customer data: export, erasure and a lawful basis for processing.

The buyer provides the data, but the recipient keeps rights over it once it’s stored. Raffle for WooCommerce includes gift tickets in WordPress’s personal data export for both the buyer and the recipient.

Does gift purchasing work with WooCommerce Subscriptions?#

Raffle for WooCommerce sells each raffle as its own product type, not as a subscription. If you run the same raffle every week or month, Pro’s recurring raffle feature publishes a fresh copy after each draw, and gift tickets work the same way in every round.

Can a recipient transfer their ticket to someone else?#

Most raffle platforms don’t allow transfers between recipients, mainly because it complicates eligibility and the audit trail. If a recipient can’t or doesn’t want to take part, the buyer would need to ask the charity for a refund or a manual change.

What to do if you’re a charity organizer#

The order of steps is simple:

  1. Decide whether your supporters include people who can’t or won’t buy online. If yes, gift purchasing is essential. If no, it’s optional.
  2. If you’re choosing a raffle platform, check its gift purchasing against the list above: per-ticket recipients, Block Checkout support, recipient emails, and the recipient’s name in the draw.
  3. If your current platform has no gift purchasing, check whether it’s an upgrade or whether switching is cleaner.
  4. Turn the feature on before your campaign launches, not halfway through. Adding it mid-campaign leaves you with mixed ticket data that’s painful to clean up at draw time.

Gift tickets are one piece of a charity raffle. For the rest, from licensing and ticket pricing to selling charity raffle tickets online and running the draw, read my guide on how to run a charity raffle online.

If you’re running events alongside your raffle, the same buyer-versus-attendee split applies to event tickets. My event ticketing guide covers how that works for ticketed events.

Gift purchasing isn’t hard to explain. The hard part is that your platform choice decides who’s allowed to take part before you sell a single ticket.

For a charity raffle, I’d put that question above the price, the templates and most of the features at the top of comparison tables. Then I’d test one all-gift order before launch, because that’s the order we once got wrong.