---
title: Promo codes and discounts
slug: promo-codes-and-discounts
category: Payments & Billing
url: https://alaga.io/help/article/promo-codes-and-discounts
audiences: business_owner, manager, staff
updated: 2026-10-23
source: Alaga Help Center
---

# Promo codes and discounts
Sidebar: **Marketing → Promo Codes**.

Promo codes give a client money off a sale. Your staff type the code in at **Checkout**. Clients can't enter codes themselves when they book online.

## Who can use it

- Promo codes need the **Professional** plan or higher.
- Owners can always manage codes. Managers need the **Manage promo codes** permission, which they have by default.
- Anyone who can use **Checkout** can apply a code to a sale.

## Create a promo code

1. Go to **Marketing → Promo Codes** and click **Create Promo Code**.
2. Fill in:
   - **Code**: what the client says at the counter, like SUMMER20. It is saved in capital letters.
   - **Description**: a note for your team, like "Summer sale, 20% off services".
   - **Discount Type**: **Percentage (%)** or **Fixed Amount ($)**, and the amount. A percentage can't be over 100.
   - **Applies To**: **All**, **Services Only**, **Reservations Only** or **Products Only**.
   - **Minimum Purchase Amount ($)**: the sale must be at least this much.
3. Switch on any limits you want:
   - **Maximum Discount Cap**: the most a percentage code can take off.
   - **Total Use Limit**: how many times the code can be used in all.
   - **Per Client Limit**: how many times one client can use it.
   - **Valid From** and **Expiration Date**: when the code works.
4. Click **Create**.

## Manage your codes

The page shows **Total Codes**, **Active Codes** and **Total Redemptions**. Use the tabs to see **All**, **Active**, **Inactive** or **Expired** codes. A code that hit its use limit shows under Expired.

On each code you can:

- Use the switch to turn it off or on.
- Click the menu to **Edit** or **Delete** it. Deleting is permanent, and the code can't be used again. To pause a code, turn it off instead.

## Apply a code at Checkout

1. Go to **Checkout** and build the cart.
2. Attach the client in the **Client (optional)** box. A code can't be used without a client, because use limits are counted per client.
3. Under **Promo code**, type the code and click **Apply**.
4. The discount shows as its own line above tax. Then take payment as normal.

Tax is worked out after the discount. The code's use is saved once the payment goes through.

**Products-only and services-only codes:** a cart with only products takes product codes, and a cart with only services takes service codes. A mixed cart only takes codes set to **All**.

Promo codes can't be used in **Collect Payment** on a client's profile or when completing an appointment today. Use the **Checkout** page for sales with a promo code.

## If a code doesn't work

The message tells you why:

- **Invalid promo code**: the code is wrong or turned off.
- **This promo code is not yet active** or **This promo code has expired**: check the dates.
- **This promo code only applies to services** (or products): the cart has the wrong kind of items.
- **Minimum purchase of $X required**: the cart is too small.
- **This promo code has reached its usage limit**: the total limit is used up.
- **You have already used this promo code the maximum number of times**: this client hit the per-client limit.
- **Promo codes require the Professional plan or higher.**

If you change the cart after applying a code, Alaga removes it and asks you to apply it again.

## Other discounts

- **Loyalty rewards** take money off at Checkout using a client's points. See [Running a loyalty program](/help/article/loyalty-program).
- **Multi-pet discount** for boarding and daycare: go to **Business Settings → Payment Settings**, **Booking Policies** tab, **Multi-Pet Discount** card. The first pet pays full price. Choose **Dollars off per night, per additional pet** or **Percentage off additional pets**.
- **Changing a price** on an appointment is another option for one-off discounts. It needs the **Set appointment pricing** permission.
