openchair
FeaturesPricingAbout
FeaturesPricingHair SalonsAI in Salons ReportBlogBook a Demo
Sign In
Sign InStart Free Trial
Help Centre

Customers & Automation

  • Activity Feed
  • Aftercare Sequences
  • AI Booking Actions
  • AI Booking Enquiry Auto-Responder
  • AI Client Insights and Suggested Actions

Customers & Automation

Campaign Discount Codes

Last updated 8 July 2026

Campaign Discount Codes

TL;DR

  • Campaign discount codes attach an existing active discount code, or create one inline, from the campaign builder Promotion section.
  • Campaign booking links include campaignId and discountCode so online booking can carry the offer through.
  • The Insert action adds campaign-safe discount code copy to SMS or email content.
  • Sent campaign details show Promotion impact when a discount code is attached.

Campaign discount codes connect Campaigns with Discount Codes. A PRO campaign can carry a selected code into email or SMS copy, booking links, campaign drafts, test sends, scheduled sends, resumed sends, and the sent campaign detail page. This lets the team promote a specific offer and later measure redemptions tied to that campaign.

Add a discount code to a campaign

Add a discount code from the campaign builder Promotion section on web. The native mobile campaign surfaces do not expose this campaign discount-code workflow.

  1. Open Campaigns.
  2. Select Create Campaign or open a draft campaign.
  3. Complete the campaign setup until you reach Promotion.
  4. Open Discount code.
  5. Choose an active code from the list, or leave No discount code selected.
  6. Continue through Audience, Content, Schedule, and Review.
  7. Select Send campaign or Schedule campaign.

When a code is selected, the campaign workflow summary changes from No offer to Offer attached.

Create a code inside the campaign builder

Create a campaign code inline when the offer does not exist yet. The inline form creates a reusable OpenChair discount code and attaches it to the current campaign.

Field or control Options or behaviour
Create discount code Opens the inline create sheet.
Code Normalised to uppercase with spaces removed. Placeholder: FRIENDS15.
Name Internal label. Placeholder: Friends and family.
Type Percent or Fixed amount.
Percent / Amount Discount value. Defaults to 15 for percent.
Redemption Online booking, Checkout, or both.
Starts / Ends Optional start and end date-time.
Min spend Optional minimum spend.
Usage cap Optional whole-number total cap.
Per client Optional whole-number per-client cap. Defaults to 1.
Eligible services All services or Selected services.
Client eligibility Everyone or Client audience.
Create and attach Creates the code, attaches it to the campaign, and closes the sheet.

Validation blocks missing or invalid setup. For example, the form asks for a code, name, and value; at least one redemption channel; at least one selected service when Selected services is chosen; and a client audience when Client audience is chosen.

Insert the code into campaign copy

Use Insert after selecting a discount code to add offer copy to the campaign content. A success toast says Discount code inserted into campaign copy.

Channel Insert behaviour
SMS Adds Use code {{discountCode}} when you book: {{bookingUrl}} to the SMS body. If the SMS body is empty, it starts with Hi {{customerName}},.
Email design Adds a promotion callout block with Use code {{discountCode}} when you book. and Book now.
Legacy email HTML Adds a paragraph containing {{discountCode}} and a Book now link using {{bookingUrl}}.

OpenChair replaces campaign tokens at send time:

Token Send-time value
{{customerName}} Recipient customer name, or a safe fallback.
{{venueName}} Venue name.
{{bookingUrl}} Venue booking URL with campaign tracking.
{{discountCode}} Attached discount code, or blank when no code is attached.

Booking links and redemption tracking

Campaign booking links include campaign and discount-code tracking. The generated URL includes utm_source=marketing, utm_campaign, campaignId, and discountCode when a code is attached.

When a customer books from that link and redeems the code, OpenChair writes the redemption against the campaign. The redemption ledger is then used by the campaign detail page and the Discounts report.

Note

The discount code still has to pass normal redemption rules. Date windows, spend minimums, service scope, audience eligibility, usage caps, and per-client caps still apply.

Review and send checks

The Review and send or Review and schedule dialog shows the attached code before the campaign goes out. It displays the code, discount value, eligibility, expiry, and expected recipient count.

The review step can block sending when the attached code is no longer valid or an HQ policy blocks the setup. Examples include Choose an active discount code for this campaign., HQ policy requires discount-linked campaigns to use a saved audience., and HQ policy blocks campaigns linked to discounts that are not currently active.

Promotion impact reporting

Sent campaign detail pages show Promotion impact when a discount code is attached. The code badge shows the code and discount value.

Metric What it means
Code Redemptions Completed redemptions attributed to the campaign.
Revenue Before Discount Eligible subtotal before discount.
Discount Given Total discount amount applied.
Revenue After Discount Revenue after subtracting the discount.
Eligibility Client audience name when the code uses a marketing audience.

The same page also shows Booking impact separately. Booking impact counts bookings created from campaign booking links, while promotion impact counts completed discount-code redemptions.

Who can use this

Role Access
Owner Can create campaigns on PRO, attach active discount codes, create and attach campaign codes, send campaigns, and review promotion impact.
Manager Can use campaign and discount-code workflows where their venue permissions allow campaign and discount management.
Team Does not manage campaign discount-code setup by default.

Common mistakes

The most common mistake is adding a code but not inserting it into the message content. The booking link still carries the code, but the customer may not notice the offer unless the copy mentions it.

Another common mistake is attaching a code that is active now but expires before a scheduled send. Review the Ends value before scheduling.

Do not use a broad Everyone discount if the campaign audience is meant to be private. Use Client audience where the offer should be restricted.

Troubleshooting

Issue Solution
No discount code appears in the list Confirm the code is Active and belongs to the same venue. Archived or draft codes are not listed.
Discount code not created Check the inline form for missing code, name, value, redemption channel, selected services, or client audience.
Client-audience discount targeting is available on Pro. Upgrade to PRO or use Everyone for client eligibility.
Choose an active discount code for this campaign. Select a current active code, or remove the invalid code from the campaign.
Promotion impact is empty after sending Promotion impact appears only after completed campaign-attributed redemptions exist. Sent messages alone do not create redemptions.

FAQ

What are campaign discount codes?

Campaign discount codes are active OpenChair discount codes attached to a campaign. They let campaign copy, booking links, test sends, scheduled sends, resumed sends, and reporting all use the same offer.

Can I create a discount code while building a campaign?

Yes. In the campaign builder Promotion section, select Create discount code, complete the discount settings, then select Create and attach. OpenChair creates the reusable code and attaches it to the campaign.

What happens when I insert a campaign discount code into copy?

OpenChair inserts {{discountCode}} and {{bookingUrl}} into SMS copy, or adds a promotion callout block to email content where supported. The tokens are replaced for each recipient when the campaign sends.

Where can I see campaign discount results?

Open the sent campaign detail page and review Promotion impact. It shows Code Redemptions, Revenue Before Discount, Discount Given, and Revenue After Discount for completed campaign-attributed redemptions.

Related Articles

  • Creating Email Campaigns
  • Creating SMS Campaigns
  • Discount Codes
  • Booking an Appointment Online
openchair

The operating system for high-end service venues. Built in Australia for the world.

Product

  • Features
  • Pricing
  • AI Features
  • Mobile App
  • Online Booking
  • OpenChair Assistant
  • Sign In

Solutions

  • Hair Salons
  • Barbers
  • Beauty
  • Wellness & Spa
  • Nail Salons
  • Tattoo Studios

Compare

  • All comparisons
  • vs Fresha
  • vs Timely
  • vs Kitomba
  • vs Square
  • vs Booksy
  • vs Mindbody
  • vs Zenoti
  • vs Boulevard
  • vs Phorest
  • vs Mangomint
  • vs GlossGenius
  • vs Vagaro
  • vs Shortcuts
  • vs Acuity

Resources

  • Blog
  • AI in Salons Report
  • Reports
  • Help Centre
  • Guides
  • Glossary

Company

  • About
  • Contact
  • Book a Demo
  • Founding Members

Legal

  • Privacy
  • Terms
  • Cookie Policy
  • Sub-processors
  • Accessibility
  • Privacy Request

© 2026 Open Chair Pty Ltd. ABN 11 699 884 074. All rights reserved.

Made on the Goldie.