> For the complete documentation index, see [llms.txt](https://docs.rafflex.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rafflex.io/marketing/website-tools/promos-and-discounts.md).

# Promos and Discounts

Create discount codes for your whole site, and add Buy One Get One Free or Bundle offers to individual competitions.

There are two ways to give your customers a deal on Rafflex:

1. **Coupons (discount codes).** A code your customer types in at checkout to get money off their order, for example `SUMMER10` for 10% off. You decide who can use it, how often, and on which competitions.
2. **Competition promotions.** A **Buy One Get One Free** or **Bundles** offer set on an individual competition. Instead of money off, the customer receives free bonus tickets.

You can use both. This page walks you through setting up each one, explains every option, and shows you what your customers see.

***

### 1. Coupons (discount codes)

Coupons live in the **Competitions** group of your admin panel's left hand menu, under **Coupons**. Clicking it opens a list of every code you have created.

{% hint style="info" %}
**Cannot see Coupons in your menu?** If a team member set up your admin login with the **Restrict Coupons** restriction, the Coupons page is hidden from you. Ask the site owner to remove the restriction. See [Staff Accounts and Access](/managing-your-site/customers/staff-accounts-and-access.md) for how restrictions work.
{% endhint %}

#### How to create a coupon

{% stepper %}
{% step %}

### Open the Coupons page

In your admin panel, open the **Competitions** group in the left hand menu and click **Coupons**.
{% endstep %}

{% step %}

### Start a new code

Click the **New coupon** button in the top right corner. A window opens with the coupon form.
{% endstep %}

{% step %}

### Name it and choose the discount

1. Enter a **Title**. This is your own reference name, for example "Summer Sale 2026".
2. Choose a **Type**: **Percentage Discount** or **Fixed Discount**.
3. Fill in the amount. For a percentage, enter a number from 1 to 100 in **Percentage off**. For a fixed amount, enter the money to take off in **Fixed off** (for example 5.00).
   {% endstep %}

{% step %}

### Create the code and set an expiry

1. Type the **Code** your customers will enter, for example `SUMMER10`.
2. Pick an **Expiry** date and time. Every coupon needs one.
   {% endstep %}

{% step %}

### Add any limits (optional)

Use the **Usage Limits**, **Spend Limits** and **Competition Limiting** sections to control who can use the code and when. Each option is explained in the table below. If you leave them alone, anyone can use the code as often as they like until it expires.
{% endstep %}

{% step %}

### Save

Click **Create** to save the coupon, or **Create & create another** to save it and start a fresh form straight away. The code works on your site immediately.
{% endstep %}
{% endstepper %}

#### Every coupon setting explained

**The basics**

| Setting            | What it does                                                                                                  | Tips                                                                                                                                                                                                 |
| ------------------ | ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Title**          | Your name for the coupon. The form describes it as an "Internal reference name".                              | The title also appears to customers in the basket summary, under **Discount**, once the code is applied. Choose something you are happy for customers to see.                                        |
| **Type**           | **Percentage Discount** takes a percentage off the order. **Fixed Discount** takes a set amount of money off. | The amount box changes to match the type you pick.                                                                                                                                                   |
| **Percentage off** | Shown for **Percentage Discount**. How much to take off, from 1 to 100%.                                      | 10% to 20% is a popular range for welcome or weekend codes.                                                                                                                                          |
| **Fixed off**      | Shown for **Fixed Discount**. The amount of money to take off the order, for example 5.00.                    | Pair a fixed discount with a **Min spend** so a small order cannot be discounted down to almost nothing.                                                                                             |
| **Code**           | The code customers type in.                                                                                   | Use letters and numbers only (no spaces or symbols), up to 15 characters. The code is turned into capital letters automatically, and each code must be different from every other code on your site. |
| **Expiry**         | The date and time the code stops working.                                                                     | The code works right up to this moment, then is refused. There is no start date, so a code works as soon as you save it.                                                                             |

**Usage Limits**

| Setting                | What it does                                                         | Tips                                                                                                                                                                                                                       |
| ---------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Limit**              | The total number of times the code can be used across all customers. | Leave it empty for unlimited use. Only completed orders count towards it. You can set up to 2,000.                                                                                                                         |
| **User limit**         | The most times one customer can use the code.                        | Set it to 1 for a "one per customer" offer. Leave it empty for no limit.                                                                                                                                                   |
| **New Customers Only** | Tick this to restrict the code to first time buyers.                 | A customer who has already completed a paid order cannot use it. Orders with nothing to pay (such as entries into free competitions) do not count, so a customer who has only ever placed free orders still counts as new. |

**Spend Limits**

| Setting       | What it does                                                             | Tips                                                                                |
| ------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------- |
| **Min spend** | The basket must be worth at least this much before the code can be used. | This box is required. Enter 0 for no minimum.                                       |
| **Max spend** | The basket must be worth no more than this for the code to work.         | Leave it empty for no limit. It must be equal to or higher than your **Min spend**. |

{% hint style="warning" %}
**Max spend is not a cap on the discount.** If a basket is worth more than your **Max spend**, the code is refused completely. It does not apply a smaller discount instead. Use it when you only want a code to work on smaller orders.
{% endhint %}

**Competition Limiting**

| Setting              | What it does                                          | Tips                                                                                                                   |
| -------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Exclude products** | Pick competitions the code must **not** be used with. | If the basket contains any of them, the code is refused and the customer is told which competition to remove.          |
| **Include products** | Pick the only competitions the code can be used with. | If the basket contains anything else, the code is refused and the customer is told which competitions the code is for. |

Both boxes list your competitions with their end date in brackets, for example "Dream Car (12 Oct)", and you can type to search by name. Use **Exclude products** or **Include products**, not both.

{% hint style="info" %}
**Competition Limiting checks the whole basket.** A coupon never discounts only part of a basket. If any competition in the basket breaks the rule, the whole code is refused until the customer removes it.
{% endhint %}

#### Managing your coupons

The Coupons list shows each code's **Title**, **Code**, **Type**, amount, **Limit**, **User limit**, **Usage Count** (the total number of completed orders that used it) and **Expiry**. You can search the list by title or code.

* To change a coupon, click **Edit** on its row, make your changes and save. Your changes apply the next time a customer enters the code. If a customer already has the code on their order, it is checked again against your updated limits and **Expiry** when they pay.
* To remove a coupon, click **Delete** on its row and confirm. Deleting cannot be undone.
* To stop a code early but keep it on your list, edit it and change the **Expiry** to the current date and time.

{% hint style="info" %}
**A code can be live and still be refused.** A saved code that has not expired is ready to use, but the limits you set are checked each time a customer enters it. If you are testing a code and it will not apply, read the message on screen, then see [Why a Discount Code Will Not Apply](/marketing/website-tools/promos-and-discounts/why-a-discount-code-wont-apply.md) for what each message means.
{% endhint %}

#### What your customers see

1. On the **Checkout** page, the customer clicks the **Discount Code** button next to the page heading.
2. They type the code and click **Submit**. It does not matter whether they type it in capitals or lower case.
3. If the code is accepted, they see **Percent Discount Code Applied** or **Fixed Discount Code Applied**, and the order totals show **Discount Code:** with the code and how much it takes off.
4. If the code is refused, they see a short message explaining why.

Customers can remove a code by clicking the small cross next to it in the totals. Only one code can be used per order. If a customer enters a second code that is accepted, it replaces the first one.

{% hint style="success" %}
**Test before you share.** Log in to your site as a customer, add a competition to your basket, go to checkout and try the code yourself. It takes a minute and avoids an awkward post to your followers.
{% endhint %}

{% hint style="info" %}
Once your codes are live, you can see how each one is performing (usage, total discount given and return on investment) with the [Coupon ROI Analysis report](/downloads-and-reports/downloads/coupon-roi-analysis.md).
{% endhint %}

***

### 2. Competition promotions (Buy One Get One Free and Bundles)

A promotion gives customers free bonus tickets on one competition. It is set on the competition itself, so each competition can have its own offer.

#### How to add a promotion

1. In your admin panel, open the **Competitions** group in the left hand menu and click **Competitions**.
2. Click the competition you want to promote (or create a new one).
3. Look at the right hand column. Under **Game Type** (and the **Preview Game** button, if you see one), find the **Promotion Type** dropdown, just above your images.
4. Choose **Buy One Get One Free** or **Bundles**, then fill in the boxes that appear (explained below).
5. Click **Save changes** at the bottom of the page (or **Create** if this is a new competition).

To switch a promotion off, clear the **Promotion Type** dropdown so nothing is selected, then save. Changes affect orders placed after you save. Customers who have already bought tickets keep the tickets they received.

{% tabs %}
{% tab title="Buy One Get One Free" %}
With **Buy One Get One Free**, every ticket a customer pays for comes with a matching free ticket, so their tickets are doubled. Buy 5, get 5 free. Buy 12, get 12 free.

When you choose it, two boxes appear:

* **Min** (required). The fewest tickets a customer must buy before the offer kicks in. Below this number, they get no free tickets.
* **Max** (optional). The most tickets a customer can buy and still get the offer. Above this number, the offer switches off completely and they get no free tickets at all.

For example, with a **Min** of 5 and a **Max** of 50:

| Customer buys | Free tickets | Total tickets |
| ------------- | ------------ | ------------- |
| 4             | 0            | 4             |
| 5             | 5            | 10            |
| 50            | 50           | 100           |
| 60            | 0            | 60            |

On the competition page, customers see a **Promotion** banner reading **Buy One Get One Free**, with a **Limits** line showing your Min and Max. If you leave **Max** empty, the banner shows "Max Tickets" instead.

{% hint style="warning" %}
**Max is a cut off, not a cap.** A customer who buys more than your **Max** gets no free tickets, not the bonus for the Max. If you want everyone who reaches the minimum to get the offer, leave **Max** empty.
{% endhint %}
{% endtab %}

{% tab title="Bundles" %}
With **Bundles**, you create ticket packs such as "Buy 10 get 3 Free!". You can add as many tiers as you like.

1. Choose **Bundles** in the **Promotion Type** dropdown. A **Bundle Deals** section appears.
2. Click **Add to bundle deals** to add a tier.
3. Fill in **Bundle buy** (how many tickets the customer pays for) and **Bundle get free** (how many free tickets they receive).
4. Repeat for each tier, then save the competition.

For example, you could set up:

* Buy 5, get 2 free
* Buy 10, get 5 free
* Buy 20, get 10 free

A customer receives the free tickets from **the single best tier they qualify for**. The tiers do not add together. Someone buying 20 tickets gets 10 free (not 2 + 5 + 10). Someone buying 14 gets 5 free, because they have reached the 10 ticket tier but not the 20. Someone buying 30 still gets 10 free from the top tier.

On the standard competition page, your bundles appear as buttons under a **Ticket Bundles!** heading, each reading something like **Buy 10 get 5 Free!**. They take the place of the usual quick pick number buttons. Customers can still choose a different number of tickets with the ticket selector, and they get the free tickets of whichever tier that number reaches. A bundle button is hidden if a customer cannot buy that many tickets (for example because of your ticket limits, or because not enough tickets are left).
{% endtab %}
{% endtabs %}

In the basket and at checkout, the free tickets show next to the quantity, for example **x10 Tickets +5 Free**, so customers can see their bonus before paying.

{% hint style="warning" %}
**Free tickets count towards your ticket limits.** Bonus tickets are included in **Max per user**, **Max per order** and the number of tickets left in the competition. Set your limits high enough to fit both the paid and the free tickets you are promising. [How Bonus Tickets Are Counted](/marketing/website-tools/promos-and-discounts/how-bonus-tickets-are-counted.md) explains this with worked examples.
{% endhint %}

***

### Can customers combine offers?

Partly. A customer can use a coupon on an order that also includes a competition with a promotion, so they can get their free bonus tickets **and** money off with a code. If you do not want that, add your promoted competitions to the coupon's **Exclude products** list.

Customers can only use one coupon per order, and a coupon replaces any automatic quantity discount your site may have. For the full picture, see [How Discounts Combine](/marketing/website-tools/promos-and-discounts/how-discounts-combine.md).
