BBonafanBETA

How to run a raffle (lottery) sale on Shopify

Published:

When a limited item is sold first-come-first-served, the stock is gone in seconds. Whoever got it was fast, not necessarily a long-time customer. A raffle sale changes how that allocation is made. This article walks through how to run one on Shopify, both by hand and with an app.

When first-come selling stops working

If two or more of these are true, first-come is no longer doing its job. The underlying problem is supply, not the checkout.

With a raffle, the deciding factor moves from speed to simply having entered. Traffic also stops piling onto a single moment, which takes the load off the storefront.

What a raffle sale actually involves

"Running a raffle" breaks down into seven separate jobs. Whichever route you take, someone has to do all seven.

  1. Collect entries (record who entered)
  2. Deduplicate (collapse multiple entries from the same person)
  3. Draw the winners
  4. Create a path only winners can buy through
  5. Set and communicate a payment deadline
  6. Release unpaid slots and re-draw them
  7. Tell everyone else the result

In practice, step 3 is the easy part. The expensive steps are 4 (making sure only winners can buy) and 5–6 (chasing payment and re-drawing). Done by hand, those scale with the number of winners.

Three ways to do it on Shopify

ApproachCostWorks up toWhere it hurts
Form + spreadsheet + manual workFreeAbout 200 entriesEvery winner email, payment check and re-draw is manual
Members-only / early access appMonthly feeWhen supply is adequateIt narrows who can race, it does not decide who gets one when there are not enough
Raffle appFree to monthly feeHundreds to tens of thousands of entriesYou work within the app’s flow

Members-only early access is already well served by loyalty and VIP apps. But that is a gate — it decides who may race. It is not an allocation mechanism. If 1,000 members chase 100 units, you are back to first-come inside the gate.

The manual workflow

For the first drop or two, doing it by hand is fine. The sequence is:

  1. Collect entries with a form, requiring an email address
  2. Pull the responses into a spreadsheet and dedupe by email
  3. Add a random column, sort by it, and take the top N
  4. Email each winner individually
  5. Give winners a way to buy: an unlisted product link or a single-use discount code
  6. Set a payment deadline and reconcile payments after it passes
  7. Promote runners-up for unpaid slots and repeat the emails

The ceiling here is the number of winners, not entries. Fifty winners means a person handling well over a hundred emails per drop. Along the way you tend to hit:

The workflow with a raffle app

An app automates steps 1–6. With Bonafan the flow is:

  1. Create a raffle in the dashboard: product variant, number of winners, entry deadline and payment window
  2. Share the generated entry page URL from the product page, social posts or email
  3. The draw runs automatically at the deadline, using each entrant’s fan score as of the moment their entry was confirmed
  4. Only winners receive a Shopify invoice email and check out through a winner-only checkout
  5. Winners who miss the payment deadline are released automatically and the slot is re-drawn
  6. Result tags are written back to each customer, so you can email everyone who missed out through Shopify customer segments and Shopify Email

The winner-only checkout is issued as a Shopify draft order per winner. Even if the link is shared, the order belongs to that winner, so nobody else can buy through it.

Fans already logged in to the store can enter in one click through the app proxy entry page, with no email verification step. Logged-out entrants confirm ownership of their address through an emailed magic link.

Explaining that the draw is fair

The most common question you will get is whether the draw was really random. Decide these four things in advance and state them on the entry page, and the questions mostly stop.

Bonafan splits every draw into a pure-random share and a history-weighted share. At the default weight, a customer with a fan score of 20 is roughly five times as likely to win as a score of 0 — but a score of 0 can still win. That is deliberate: new customers should not be locked out.

Which route to take

If you are unsure, run exactly one drop as a raffle and count the entries and support messages. If entries exceed what you expected, the manual ceiling will arrive on the next drop.

Bonafan is a raffle sales app for Shopify. It is free during the beta, and creating a raffle takes about a minute.

See the install steps

Frequently asked questions

Can I run a raffle with stock Shopify features only?
There is no built-in raffle. You combine a form for entries, a spreadsheet for the draw, and an unlisted product link or single-use discount code for winners. Past a few dozen winners, the emailing and payment reconciliation stop being practical.
Do raffle sales reduce revenue?
The stock still sells out, same as first-come. What changes is who bought and how many of them come back. Customers who managed to buy at retail tend to enter again, so entry counts compound across drops. Do plan for a share of winners who never pay, and make sure unpaid slots get re-drawn.
Is an email address required to enter?
You need a way to reach winners. If the entrant is logged in to your store, their identity comes from the session, so entry can be a single click with no address typed. Logged-out entrants confirm their address by clicking a link you email them.
Can I block resellers from entering?
You cannot reliably identify them at entry time. What works is a combination: shift the odds toward customers with real purchase history, and exclude accounts you have confirmed as abusive. Do the exclusion at draw time rather than rejecting the entry, so the behaviour that triggered it is not taught back to them.

← Back to all guides