BBonafanBETA

Bonafan User Guide

How to open your first raffle sale after installing, and what happens automatically after the draw. Create products in Shopify as usual; in Bonafan you only choose which variant, how many winners and how long entries stay open.

1. Before you start (Shopify side)

  1. Enable customer accounts

    The entry page on your store domain (/apps/bonafan/…) lets fans log in with their store account and enter with one click. Enable account login under Settings → Customer accounts in Shopify admin.

    Email-verified entry (no store account required) is available on Growth and above.

  2. Create the product and variants

    Create the product in Products as usual, with variants (sizes etc.), prices and inventory. Make sure the inventory covers the number of winners.

    • Note the variant ID: open the variant and copy the number at the end of the URL (…/variants/1234567890). The Variant ID field also accepts gid://shopify/ProductVariant/1234567890.
    • Optionally tag raffle products with bonafan-target so Shopify Flow can detect purchases by non-winners.
  3. (Optional) Detect non-winner purchases with Shopify Flow

    While a product page is published, Shopify cannot stop non-winners from buying through the normal cart. Winner checkouts created by Bonafan carry the tag bonafan-raffle-<raffle id>; our setup guide includes a Flow recipe that flags orders without that tag. Keeping the product unpublished during the raffle is the first line of defence.

2. Create a raffle (Bonafan dashboard)

Title
Shown on the entry page and in the winner email.
Variant ID or price
One is required. With a Variant ID the winner's checkout contains that product at its Shopify price and the entry page shows the price. Without it, enter a price to create a custom line item.
Winners / fan priority slots
How many people win, and how many of them are chosen with fan-score weighting. The rest are drawn uniformly so first-time customers still have a chance.
Fan multiplier
How much more likely a loyal fan (score 20) is to win compared with a first-time customer. 5 means 5×; 1 means everyone is equal.
Entry opens at (optional)
Entries are not accepted before this time (scheduled opening). Leave blank to open immediately.
Entry closes at
The draw runs automatically within 5 minutes after closing. You can also close or draw manually from the dashboard.
Payment deadline (hours)
How long winners have to pay after the invoice email. Unpaid wins are cancelled and passed to the next entrant automatically.

You can edit the title, deadline, winner count and so on until the draw runs. After the draw the raffle is locked (test raffles can be deleted before drawing).

3. Share the entry URL

  1. Login entry (all plans)

    https://<your-store>/apps/bonafan/r/<raffle id> — copy it from the raffle list. Fans log in with their store account and enter with one click; visitors who are not logged in are guided to the login page.

  2. Email-verified entry (Growth and above)

    https://www.bonafan.com/r/<raffle id> — fans enter an email address, receive a confirmation email and confirm with the button inside. Use it when you want guests without a store account to enter.

  3. Checking results

    Login-entry fans can open "Check result" on the entry page any time. Email-entry fans get a result link in their confirmation email. Bonafan does not send losing notices automatically; use Shopify Email if you need them (see 5).

4. What happens automatically after closing

  1. Draw

    Runs within 5 minutes after the deadline. Duplicate entries from the same person are merged, and blocklisted customers are excluded at draw time.

  2. Winner notification

    A Shopify draft order is created per winner and an invoice email is sent in your store name, including the payment deadline.

  3. Payment and reminder

    When the winner pays through the invoice link, the order is created and marked paid in Bonafan. Winners still unpaid at the halfway point receive the invoice again.

  4. Forfeit and promotion

    Unpaid wins are cancelled after the deadline and their draft orders invalidated. The same number of runners-up are promoted and notified, until every slot is paid.

  5. Result tags

    Customers who entered via login get bonafan-won-<raffle id> or bonafan-lost-<raffle id> tags once the raffle is settled.

5. Can I use unreleased or unpublished products?

Yes — it is the recommended setup. A raffle only needs a variant ID; the product does not have to be published to the Online Store. Winner checkouts are draft orders (invoice links), which work for draft and unpublished products.

  1. Create the product as a draft or unpublished from the Online Store so regular visitors cannot add it to the cart before release.
  2. Create the raffle in Bonafan and, if needed, schedule the opening with "Entry opens at".
  3. After winners have paid, publish the remaining stock for general sale (and remove the bonafan-target tag).

6. Plans and limits

The raffle engine (fan scores, weighting, promotion, blocklist) is the same on every plan. Plans differ in scale and entry method.

During the beta

  • Billing has not started. Nothing is charged on any plan while Bonafan is in beta.
  • A new install starts on the Free limits below. Those limits are enforced during the beta too.
  • If the limits are too tight, or you want to try email-verified entry, get in touch and we will switch you to an unlimited pilot plan.
  • Before paid plans begin we will let you know in advance and give existing stores a transition period.
ItemFreeStarterGrowthUnlimited
Entries per month1001,00010,000Unlimited
Entries per raffle1001,00010,00040,000
Winners per raffle20502001,000
Raffles open at once1310Unlimited
Blocklist1001,000UnlimitedUnlimited
Email-verified entry

When a limit is reached, the dashboard shows an error on creation and fans see "Entries have reached the limit". Winner notifications arrive within about 30 minutes of the draw on Free.

7. FAQ

How do I test it?
Create a raffle with 1 winner closing in a few minutes and enter with your own account. After closing you will receive the invoice email and can walk through payment and promotion. Test raffles can be deleted before the draw.
A winner did not receive the email
Check the winner in the entries list. Failed notifications show the reason and a "Resend" action that puts them back in the queue. Winners can also open the payment link from their result page.
What if a winner does not pay?
The win expires after the deadline and the next entrant is promoted and notified automatically. No action needed.
How do I keep resellers out?
Add their customer ID to the blocklist. Entries are still accepted but excluded at draw time, so they cannot learn what triggers detection.
How do I notify losers?
After settlement, entrants receive the customer tag bonafan-lost-<raffle id>. Build a customer segment on that tag and send from Shopify Email (10,000 emails/month free) in your store name.
Several variants (sizes) in one drop?
Create one raffle per variant (Free allows one open raffle at a time).

Support

Need help with setup? Contact bonafan098@gmail.com.

← Back to home