Creating and sharing coupons
Updated August 24, 2026
A coupon in Pluspoint is a reusable definition: what the offer is, who honours it, how long it stays valid and whether staff must confirm it with a PIN. Once it exists, you hand it out from an Inbox conversation, a one-time campaign or an automation. Each customer receives their own link. Use coupons to win back an unhappy customer, thank a promoter, or push traffic into a quiet week.
Before you start
- Creating, editing, pausing and deleting a coupon needs full Coupons permission. It has to come from a team whose scope covers the location or brand that will own the coupon. Coupons — View is enough to open a coupon read-only and download its issued-coupon list.
- Your plan must include coupons. See Billing and plans.
- The coupon’s logo, colours and fonts come from the owning brand’s appearance settings — there is no styling control in the coupon form. See Brands.
- You also need a way to reach the customer: a connected channel for the Inbox, or contacts for a one-time campaign or an automation.
Where to find it
Coupons in the left sidebar, or go to https://app.pluspoint.io/coupons.
Create a coupon
Select Create new coupon.
1. Title the coupon and choose who honours it
- Enter a Title (up to 512 characters).
- Choose Brand or Location.
- Brand — every location in that brand accepts the coupon, and the customer picks where they are redeeming it.
- Location — only that one location accepts the coupon.
- Turn Activate coupon on.
Warning — Activate coupon starts off. A coupon saved with it off is paused: it will not appear in the Inbox coupon menu, in a campaign or in an automation, and nothing can be issued from it. You can switch it on later with the Enabled toggle in the table.
A coupon belongs to a brand or to a single location, never both.
2. Choose the offer type
Under Offer type, pick one:
| Option | What you fill in | What the customer sees |
|---|---|---|
| Percentage Off (default) | A whole number, with a % suffix | OFFER: 20% DISCOUNT |
| Amount Off | A whole number in the selected currency | OFFER: €10 DISCOUNT |
| Free item | Free text describing the item, up to 512 characters | OFFER: FILTER COFFEE FREE |
Then set the two fields that always appear in this section:
| Field | Required | Notes |
|---|---|---|
| Currency | Yes | Sets the symbol in front of an Amount Off value and in front of Minimum order |
| Minimum order | No | The smallest order the coupon applies to. Shown on the customer’s page only when set |
Nothing stops you from entering a percentage above 100, so check the value before saving.
3. Set when the coupon can be used
Offer schedule has three independent toggles, all off by default.
| Toggle | Field | What it does |
|---|---|---|
| Offer end date | A date picker, earliest date today | An absolute cut-off. The coupon works until the end of the day you pick |
| Redemption period | Redemption period (days) | A window counted from the day each coupon is issued — so every customer gets the same number of days, whenever they receive it |
| Wait period | Wait period (hours) | A delay after issue before the coupon can be redeemed. Until it elapses the customer sees Not available yet and a countdown |
How the three combine on each issued coupon:
| Toggles set | When the customer can redeem |
|---|---|
| None | Immediately, and the coupon never expires |
| Offer end date only | Immediately, until the end of that date |
| Redemption period only | Immediately, for that many days from the issue date |
| Offer end date and Redemption period | Whichever of the two comes first ends the coupon |
| Wait period plus any of the above | From issue time plus the wait, until the earliest applicable end |
4. Set the extras
Settings has three toggles, all off by default.
| Toggle | What it adds | Rules |
|---|---|---|
| Default message | A Message text box | Required once the toggle is on, up to 512 characters. Pluspoint drops this text into the message box when an agent picks the coupon in the Inbox. It supports [name], [last_name] and [location], which are replaced with the contact’s first name, last name and the location or brand name |
| Add cover photo | Upload | JPG or PNG, between 10 KB and 500 KB, cropped to a 1:1 square; the saved image is 250 px wide |
| Activation PIN code | Four single-digit boxes | Exactly four digits, required once the toggle is on. Staff must enter it on the customer’s phone before the redemption is recorded |
Note — The Activation PIN code is one PIN for the whole coupon: the same four digits work at every participating location and on every coupon issued from it. Share it with your staff, not with customers. The PIN is stored as a number, so choose four digits that do not start with
0.
5. Save
Select Create coupon.
Send a coupon to a customer
Coupons are issued one per recipient, from three places. All three list only coupons whose Enabled toggle is on. Each issue mints a unique code and a link of the form https://plsp.io/o/{code}. The link travels over whichever channel you are using — SMS, WhatsApp, email or live chat.
From an Inbox conversation
- Go to Messaging → Inbox and open the conversation, or start one from the New conversation modal.
- Select the ticket icon in the message toolbar to open the Coupons menu.
- Pick a coupon. Pluspoint drops its Default message into the message box, with
[name],[last_name]and[location]already substituted. - Edit the text if you want, then send.
The menu only offers coupons that match the conversation. A location coupon must belong to the conversation’s location. A brand coupon must belong to that location’s brand — or, in a brand conversation with no location, to the channel’s brand.
From a one-time campaign
- Go to Campaigns → One-time and create a campaign.
- Set the content type to Coupon and pick the coupon from the select.
- Write the message, keeping the coupon link token in the body, and pick your audience.
Pluspoint issues one coupon per recipient when the campaign sends. See One-time campaigns.
From an automation
Go to Campaigns → Automated, open or create an automation, add a Message step and attach a coupon to it. Every contact who reaches that step gets their own coupon. See Automations.
What the customer sees
The link opens a mobile page styled with the owning brand’s logo, colours and fonts. It shows the offer, the participating locations and a Redeem button.
How redemption works
- The customer, or a staff member on the customer’s phone, taps Redeem.
- For a brand coupon, Where are you redeeming? appears with the participating locations. Pick one and select Continue. Location coupons skip this step.
- If the coupon has a PIN, type the four digits in Enter PIN and select Confirm & Redeem.
- Confirm the final prompt.
- The page flips to Coupon redeemed with the date and time.
Warning — Redemption is one-shot and irreversible. There is no way to un-redeem a coupon from the app or the API; issue a new one instead.
A successful redemption also adds to the coupon’s Redeemed count and records which location honoured a brand coupon. When the coupon went to a known contact, it also adds that location to the contact and writes a Redeemed {title} entry to their Activity timeline. See Managing contacts.
Warning — The public coupon page depends on a live subscription. If the account’s subscription lapses, customers holding a link see a “subscription expired” page instead of the offer. They cannot view or redeem their coupons.
Edit a coupon
Select the pencil Edit icon on the row, change what you need and select Save changes.
Some changes reach coupons already in customers’ hands. Others are stamped onto each individual coupon at issue and never change afterwards.
| What you change | Effect on coupons already issued |
|---|---|
| Title, offer type and value, Free item, Minimum order, Currency, cover photo, Activation PIN code | Applies immediately, including to coupons customers are already holding |
| Offer end date, Redemption period, Wait period | Applies only to coupons issued from now on; outstanding coupons keep the dates they were issued with |
| Enabled turned off | No new coupons are issued; outstanding coupons stay redeemable until their own expiry |
| Deleting the coupon | Every issued, unredeemed coupon is invalidated immediately |
Changing the PIN invalidates the old PIN for coupons already out there — brief your staff before you change it.
Pause and resume a coupon
Switch the Enabled toggle off on the row to pause it, and on again to resume. Pausing stops new coupons being issued. It also removes the coupon from the Inbox menu and from campaign and automation pickers. It does not cancel coupons customers already hold — those stay redeemable until they expire.
Delete a coupon
Select the bin Delete icon on the row and confirm.
Warning — Deleting a coupon immediately invalidates every coupon issued from it that has not yet been redeemed. Customers holding a link will see Coupon redeemed when they open it. If you only want to stop handing the coupon out, switch Enabled off instead.
Pluspoint refuses the deletion while the coupon is still referenced by a campaign that has not finished, or by an automation step. Finish or remove those campaigns, detach the coupon from any automation step, then delete it.
Track issues and redemptions
The Issued and Redeemed columns are lifetime totals for each coupon. For the detail behind them, use the per-coupon export.
Select the Download icon on the coupon’s row. When the export is ready, download it from the Export ready toast — an email with the download link also arrives for whoever ran the export.
Only one coupons export runs at a time per user, so wait for the first to finish before starting another.
The CSV has one row per issued coupon, newest issue first:
| Column | Notes |
|---|---|
Coupon ID | The identifier of this individual issued coupon. It is not the code that appears in the customer’s link |
First Name, Last Name, Phone Number, Email | The contact the coupon was issued to. Blank when it was issued without a contact |
Coupon Name | The coupon title |
Location Name | The location on the coupon — the owning location for a location coupon, or the location the customer chose when they redeemed a brand coupon. Blank for a brand coupon that has not been redeemed |
Issued At | When the coupon was minted |
Redeemed At | Blank until it is redeemed |
Valid From, Valid Until | The window stamped on this coupon at issue. Valid Until is blank when the coupon never expires |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No Coupons item in the sidebar | None of your teams grant coupons access | Ask an account owner to add the Coupons permission to one of your teams |
| The page shows an upgrade screen instead of the table | The plan is Freemium, or its product does not include coupons | Move to a plan that includes coupons. See Billing and plans |
| Create new coupon is missing | You hold Coupons — View only | Ask for Coupons — Create, Edit, Delete on a team covering that location or brand |
| The Enabled toggle is greyed out | You have no write rights over that coupon’s location or brand, or a change is still saving | Check your team’s scope, or wait a moment and retry |
| Saving fails with “Campaigns are not included in your current plan” | The plan does not include coupons, so no coupon can be written or issued. The message names campaigns, but it applies to coupons too | Move to a plan that includes coupons |
| The coupon is not in the Inbox coupon menu | It is disabled, or its location or brand does not match the conversation | Switch Enabled on, or use a coupon that belongs to the conversation’s location or its brand |
| An automation will not save: “A step uses an invalid coupon template.” | A message step points at a coupon that is disabled or deleted | Re-enable the coupon or attach a different one to the step |
| Deleting is refused with “Cannot proceed: {amount} active campaign(s) in progress” | Campaigns that have not finished, or automation steps, still reference the coupon | Let those campaigns finish or remove them, and detach the coupon from the automation |
| The customer sees Coupon redeemed but never used it | The coupon was deleted in Pluspoint, which invalidates outstanding coupons | Issue a replacement from a coupon that is still enabled |
| The customer sees Not available yet | The Wait period has not elapsed for their coupon | Wait for the countdown, or lower the wait period for coupons issued from now on |
| The customer sees Coupon expired | The Offer end date passed, or their Redemption period ran out | Issue a new coupon, or extend the schedule for future issues |
| Coupon not found | The link was truncated or mistyped | Resend the coupon from the conversation, or issue a new one |
| Nothing is ever issued from a coupon | It was saved with Activate coupon off, so it is paused | Switch the Enabled toggle on in the table |