> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paylead.fr/llms.txt
> Use this file to discover all available pages before exploring further.

# Coupons

> Create, publish, and steer discount Coupons in Shift: pick between a generic code and a file of unique codes, choose the Brand, fill the form, and follow the Coupon once it is live.

<RequiredRoles roles="Offers" />

A Coupon is a discount your [Consumers](/glossary#consumer) claim in the bank app and redeem at a merchant, either by typing a code on the merchant's website or by showing a code at checkout. Unlike a [Cashback](/glossary#cashback) [Offer](/glossary#offer), a Coupon carries no [Reward](/glossary#reward) rate and is not matched against a transaction: the discount is granted by the merchant at the point of sale.

In [Shift](/glossary#shift), a Coupon is still an Offer under the hood. It shows up in the Offers detail page with a `Type` of `Generic Coupon` or `Unique coupon` (see [Edit an Offer](/program/shift/edit-an-offer)), but you create it from its own **Coupons** section, not from a [Campaign](/glossary#campaign) Paylead proposes.

The **Coupons** section appears once Paylead has enabled Coupons on your [Program](/glossary#program), on top of the **Offers** role. See [Access and roles](/program/shift/access-and-roles#roles) for the role matrix.

## Generic Coupon or Unique Coupon

The choice you make at the start of the creation flow decides which form you fill in next, and it cannot be changed afterwards. The two mechanics differ in how the code reaches the Consumer.

|                  | **Generic Coupons**                       | **Unique Coupons**                                                 |
| ---------------- | ----------------------------------------- | ------------------------------------------------------------------ |
| The code         | One code you type in, shared by everyone. | A file of codes you upload, one per Consumer.                      |
| Volume           | You declare it in **Coupon amount**.      | Computed from the file you upload. **Coupon amount** is read-only. |
| Per-Consumer cap | Not available.                            | **Maximum number per consommer**, `1` by default.                  |
| Typical use      | An online promo code for a seasonal push. | A one-shot in-store code that must not be reused.                  |

Both mechanics carry the same **Coupon type** selector (`QR Code`, `EAN`, or `Code`), which sets how the code is rendered to the Consumer. It is independent of the generic/unique choice: a Generic Coupon can still be displayed as a QR code.

## Browse your Coupons

The **Coupons** section opens on the list of your Coupons, split into the same four status tabs as the Offers list: **Live**, **Pending**, **Finished**, and **All**. See [Status reference](/program/shift/status-reference#offers) for what each status means.

Above the table, three filters narrow the list: a keyword search, and a **Date From** and **Date to** pair. Each row carries:

* **Merchant**: the [Brand](/glossary#brand) the Coupon is attached to, with the Coupon reference underneath. Sortable.
* **Segments**: the [Segments](/glossary#segment) the Coupon targets. Shown only when Segments are enabled on your Program.
* **Type**: `Generic Coupon` or `Unique coupon`.
* **Reward**: despite the header, this column carries the code: the generic code on a Generic Coupon, the uploaded file name on a Unique Coupon.
* **Period**: the start and end dates, or an infinity sign when the Coupon has no end date. Sortable.
* **Redemption**: the share of the declared volume already claimed by Consumers, as a percentage with a pie chart. It reads `-` while no volume is known.
* **Status**: the Coupon's current status.

Two icons at the end of the row act on the Coupon: the edit icon opens its form, the duplicate icon starts a copy (see [Duplicate a Coupon](#duplicate-a-coupon)).

## Create a Coupon

Creating a Coupon is a three-screen flow: pick the mechanic, pick the recipient Brand, then fill the form. **Cancel** is available on each of the three screens and returns you to the list.

<Steps>
  <Step title="Start the flow">
    From the Coupons list, click **Create a coupon**. The **Coupons / Select** screen opens.
  </Step>

  <Step title="Pick the mechanic">
    Click **Create offer with generic coupon** or **Create offer with unique coupon**. The choice cannot be changed afterwards, see [Generic Coupon or Unique Coupon](#generic-coupon-or-unique-coupon).
  </Step>

  <Step title="Pick the recipient Brand">
    The **Offers / Recipients** screen opens on "Choose recipients". Search a Brand by name, then click its card; each card shows the Brand logo and its number of [Stores](/glossary#stores). Only one Brand can be selected: clicking a second card replaces the first, and **Next** stays disabled until you have picked one.
  </Step>

  <Step title="Fill the form">
    **Next** opens the **Generic coupon** or **Unique coupon** form, titled with the Brand you just picked. Fill it in as described in [Fill in the Coupon form](#fill-in-the-coupon-form).
  </Step>

  <Step title="Save">
    Click **Save**. If a required field is missing, the form stays open and flags it.
  </Step>
</Steps>

<Check>
  On success, Shift flashes "Coupon successfully edited." and returns you to the Coupons list.
</Check>

## Fill in the Coupon form

Both forms share the same three cards: **Essential**, **Channel**, and **Legals terms and application**. Once the Coupon has been saved at least once, the **Essential** card header also shows its **Coupon reference** with a **Copy** action.

### Fields common to both forms

* **Coupon name**: the Consumer-facing name. Required.
* **Segments**: the Segments to target. The field appears only when Segments are enabled on your Program, and is disabled when no Segment exists. See [Segments](/program/shift/segments).
* **Description**: the Consumer-facing description. Required.
* **Date From** and **Date to**: the activation window. **Date From** is required and cannot be earlier than the publication date; **Date to** must be at least a day later, and can be left empty for a Coupon that never ends. A hint under each field spells out the effective moment in Paris time: start dates land at `00:00:00`, end dates at `23:59:59`.
* **Coupon type**: `QR Code`, `EAN`, or `Code`. Required.
* **Discount**: the discount value, with a selector next to it to express it in `€` or in `%`. Only one of the two is stored, so switching the unit reinterprets the number you typed.
* **Visual**: click **Select a picture** in the right-hand panel. PNG or JPEG, at most 5 MB, at least 750 by 421 pixels, displayed in 16:9.

**Name**, **Description**, and the legal terms are held per language: when your Program runs more than one language, use the language control next to the field to edit a specific locale.

### Fields specific to a Generic Coupon

* The code field, between **Coupon type** and **Coupon amount**, holds the single code every Consumer will use. It carries no label, only the placeholder `Ex. BLACKFRIDAY10`. Required.
* **Coupon amount**: how many times the code can be claimed in total. Required.

### Fields specific to a Unique Coupon

* **Coupon file**: click **Select a file** to upload the list of codes, a CSV with one code per line. Required on a new Coupon.
* **Coupon amount**: read-only, derived from the file you upload.
* **Maximum number per consommer**: how many codes a single Consumer can claim. Defaults to `1`.

### Channel and legal terms

The **Channel** card sets where the Coupon can be redeemed:

* **Channel**: `Online`, `In store`, or `Online & In store`.
* **Channel URL**: the merchant page where the code is entered. Required when the channel is `Online`.

The **Legals terms and application** card holds one required text area for the legal text bound to the Coupon.

Once the Coupon is saved, a card under the form lists the Stores it covers, with their name, merchant, zip code, city, and company number.

## Schedule the publication

Publication is what makes the Coupon reach Consumers, and it is separate from the **Date From** you set in the form. A new Coupon is pre-set to publish the next day.

The **Summary** card at the top of the form lists what the Coupon needs before it can go live: **Coupon details**, **Legal Terms**, and **Published on**. The date next to **Published on** opens the **Coupon publication** dialog; on a saved Coupon it opens from the **Modify** link on the **Current state** row instead.

In the dialog, select **As soon as possible (tomorrow)**, or **At a specific date and time** to enable the date picker and the hour selector beside it (whole hours only, `00:00` to `23:00`, Central European time). **Confirm** applies it: the date cannot be earlier than now, nor later than the day before the Coupon's start date.

The publication date is stored with the rest of the form, so you still have to click **Save** for the new schedule to take effect. The Coupon becomes visible to Consumers when that date is reached, not before.

## Steer a published Coupon

Reopening a saved Coupon from the edit icon in the list shows the same form, topped by a **Summary** card that carries its status badge and its live counters:

| Row                   | What it shows                                                                                                                                                                                                                                        |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Current state**     | `Waiting for publication` while the publication date is ahead, with a **Modify** link that opens the [Coupon publication](#schedule-the-publication) dialog, plus a progress bar counting the days left until publication and then until activation. |
| **Remaining time**    | The days left before the end date, as a progress bar. An infinity sign replaces the count when the Coupon has no end date. **Modify** scrolls you to the date fields.                                                                                |
| **Remaining coupons** | The declared volume minus what Consumers have already consumed. **Modify** scrolls you to the volume fields.                                                                                                                                         |
| Activation            | A toggle labeled `Active` or `Inactive`. Switching it off deactivates the Coupon when you save.                                                                                                                                                      |

A Coupon is steered by volume, not by budget: **Remaining coupons** is the counter to watch.

### What stays editable

How much of the form you can still change depends on where the Coupon is in its life:

| Situation                                  | What you can change                                                                                                                                                                                                                                                                                                                            |
| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Not started yet (start date in the future) | Everything.                                                                                                                                                                                                                                                                                                                                    |
| Running (start date passed, still active)  | **Coupon name**, **Segments**, **Description**, **Date to**, **Discount** and its unit, the visual, **Channel URL**, the legal terms, and the activation toggle, plus the code and **Coupon amount** on a Generic Coupon. Locked: **Date From**, **Coupon type**, and on a Unique Coupon **Coupon file** and **Maximum number per consommer**. |
| Ended (end date passed)                    | Nothing. A banner says so.                                                                                                                                                                                                                                                                                                                     |
| Deactivated                                | Nothing except the activation toggle.                                                                                                                                                                                                                                                                                                          |

Deactivating a Coupon is reversible as long as its end date has not passed: reopen it and switch the toggle back to `Active`. This differs from a `Reward` Offer, where deactivation is final (see [Edit an Offer](/program/shift/edit-an-offer)).

To stop a Coupon, deactivate it or let its end date pass. To change a locked field such as **Date From** or **Coupon type**, duplicate the Coupon and deactivate the original.

## Duplicate a Coupon

Duplication is how you roll a Coupon over into a new period, or run parallel Coupons on the same Brand for different Segments. The duplicate icon at the end of a row opens a fresh form pre-filled from the source Coupon, with the same mechanic. Shift resets the fields that must not be shared between two Coupons:

* The name is prefixed with `[Copy] `.
* **Date From**, **Date to**, and the publication date are cleared.
* The Coupon reference is cleared. The copy gets its own once you save it.

Everything else is carried over: the recipient Brand, the Segments, the discount, the visual, and the legal terms. Nothing is written until you click **Save**.

## What's next

<CardGroup cols={2}>
  <Card title="Gifts" icon="gift" href="/program/shift/gifts">
    Credit Gifts to Consumers in bulk, outside the Offer catalog.
  </Card>

  <Card title="Browse Consumers" icon="users" href="/program/shift/browse-consumers">
    Find a Consumer and review the Offers and Rewards tied to their account.
  </Card>
</CardGroup>
