---
title: "Coupons & Promotions | Commerce Engine"
description: "Build coupons and automatic promotions with flexible discounts, customer eligibility, schedules, and redemption limits. Connect every offer to your checkout."
canonical_url: "https://www.commercengine.io/features/coupons-and-promotions"
---

> Commerce Engine site index: https://www.commercengine.io/llms.txt

# Coupons & Promotions

Commerce Engine runs coupon codes and automatic promotions: percentage and fixed discounts, spend-and-save offers, free shipping, buy X get Y, free gifts and volume offers. Each comes with customer eligibility, schedules and redemption limits, and is applied to the cart at checkout.

## Coupon and promotion types

A coupon is applied using a code. An automatic promotion is reflected in the returned cart when its conditions are met, with no code to enter.

- **Percentage off**: A percentage discount across your catalogue, selected products or categories, with a cap to keep the saving within your plan.
- **Fixed amount**: A set amount off an eligible basket, paired with a minimum spend that fits your offer.
- **Spend and save**: Spending tiers with their own rewards, so customers have a reason to reach the next threshold, with a cap across the offer.
- **Free shipping**: Remove a checkout cost. Define when the basket qualifies and let the reward follow your conditions.
- **Buy X, get Y**: Connect a qualifying purchase to a free or discounted item.
- **Free gifts**: Add a reward based on eligible spend or quantity.
- **Volume offers**: Product discounts at different quantity levels.
- **Bonus rewards**: An accelerated-rewards coupon that offers bonus loyalty points.

Coupons support percentage or fixed-amount discounts, tiered discounts, free goods, fixed-price offers, free shipping, buy X get Y, volume-based offers and accelerated rewards. Automatic promotions support discounts, free goods, buy X get Y, volume-based offers and free shipping. Your storefront uses the eligibility and final amounts the cart API returns.

**Docs:** [Create coupon API](https://www.commercengine.io/docs/admin/api-reference/coupons-&-promotions/create-coupon) · [Create promotion API](https://www.commercengine.io/docs/admin/api-reference/coupons-&-promotions/create-promotion)

## Eligibility, schedules and limits

Choose who an offer is for, when it runs and how far it goes.

- **Audience**: Eligibility can apply to everyone, named customers, segments or customer groups, with a separate first-time-customer condition.
- **Product and category eligibility**: Limit an offer to the products or categories it is meant for.
- **Visibility**: Public or private coupons.
- **Timing**: Start and expiry timestamps for a seasonal launch or a weekend promotion, with an optional open-ended expiry. Prepare offers as drafts, then activate them on the schedule you want.
- **Redemption limits**: Total redemptions, usage per customer and usage per code.
- **Combining offers**: Decide whether a coupon can combine with promotions, and how promotions work together, with promotion priority and discount caps.

**Docs:** [Campaign controls](https://www.commercengine.io/docs/admin/api-reference/coupons-&-promotions/create-coupon)

**See also:** [Customers & Loyalty](https://www.commercengine.io/features/customers-and-loyalty.md)

## Checkout integration

The offer becomes a saving in the cart. Follow a code from eligibility to an updated cart, with automatic promotions reflected along the way.

- **Find the offers that fit** (`GET /carts/{id}/evaluate-coupons`): Evaluate coupons against a cart. Get applicable offers with estimated savings, plus reasons and suggestions for those that do not qualify.
- **Apply a customer's code** (`POST /carts/{id}/coupon`): Apply or remove a coupon through the cart API, and display the returned cart so the customer sees the current discount and payable amount.
- **Show the returned cart** (`GET /carts/{id}`): Use the returned cart for the final discount and payable amount. Automatic promotions are reflected here too.

**Docs:** [Evaluate coupons](https://www.commercengine.io/docs/api-reference/carts/evaluate-coupons) · [Apply coupon](https://www.commercengine.io/docs/api-reference/carts/apply-coupon) · [Retrieve cart](https://www.commercengine.io/docs/api-reference/carts/retrieve-cart-detail)

## Coupon reporting

Follow the offer through to redemption.

- **Redemptions over time**: Redemption counts and values for a date range, by hour, day, week or month.
- **Orders and customers**: Look up the orders and customers associated with a coupon to understand how it was used.

**Docs:** [Coupon metrics API](https://www.commercengine.io/docs/admin/api-reference/metrics/retrieve-coupons-stats)

**See also:** [Analytics](https://www.commercengine.io/features/analytics.md)

## FAQ

### What is the difference between a coupon and a promotion?

A coupon is applied using a code. An automatic promotion is reflected in the returned cart when its conditions are met. Both let you define offer conditions; their available types and combination settings differ.

**Docs:** [Cart guide](https://www.commercengine.io/docs/storefront/cart)

### Which kinds of offers can we create?

Coupons support percentage or fixed-amount discounts, tiered discounts, free goods, fixed-price offers, free shipping, Buy X Get Y, volume-based offers, and accelerated rewards. Automatic promotions, which need no code, support discounts, free goods, Buy X Get Y, volume-based offers, and free shipping.

### Can coupons and promotions be combined?

You control whether a coupon can be used with a promotion and whether a promotion can combine with other promotions. Promotions also have a priority setting. This does not imply that multiple coupon codes can be stacked on a single cart.

### Can an offer be limited to certain customers?

Yes. Eligibility can target specific customers, segments, or customer groups, with a separate first-time-customer condition. Offers that depend on customer history or group membership may require the shopper to log in.

### How do we control dates and redemption limits?

Set a start timestamp and an optional expiry, plus limits for total redemptions, redemptions per customer, and redemptions per code. Coupons are created as drafts; activate them through the update flow when they are ready.

### Can we tell customers why an offer does not apply?

The evaluation APIs return applicable and inapplicable offers. Inapplicable coupons include reason and suggestion fields; applicable coupons include estimated discounts and savings messages. Use these responses to explain eligibility, then use the cart response for final amounts.

### What can we measure after a coupon launches?

The coupon metrics API provides redemption counts and redemption values for a date range, with hourly, daily, weekly, or monthly aggregation. Admin endpoints also list the customers and orders associated with a coupon.

## Related

- [Customers & Loyalty](https://www.commercengine.io/features/customers-and-loyalty.md): Segments and customer groups to target offers at.
- [Marketing & Campaigns](https://www.commercengine.io/features/marketing-and-campaigns.md)
- [Analytics](https://www.commercengine.io/features/analytics.md): Offer redemptions beside the rest of your numbers.

## Get started

Bring the campaign you have in mind, and we'll shape the incentive, the rules and the checkout with you.

- [Plan it with us](https://app.youform.com/forms/qqvhuspq)
- [Start building free](https://app.commercengine.io/signup) on the Free plan
- [Explore the promotion APIs](https://www.commercengine.io/docs/admin/api-reference/coupons-&-promotions/create-promotion)
