Where do clients enter a promo code?
There is nowhere for a family to type a promo code. Opus1 checkout has no coupon field. A promotion attaches to a self-booking link instead, so you share a URL that already carries it and the discount applies by itself. The regular booking link stays full price. For a family who phones in, staff pick the promotion at checkout.
Last updated: September 10, 2026
Applies to: Owner / Manager (create promotions); Staff (share links, apply at checkout) PLUS Feature: No
Plan: All
Table of Contents
- How promotions actually work
- Why a link instead of a code
- Choose how the family gets the discount
- If you are running Google Ads
- What a promotion is, and is not
- How to get the URL
- Troubleshooting
- FAQ
- Related Articles
How promotions actually work
Retail checkout trained everyone to look for a box labelled Promo code, Coupon, or Discount code. You type FALL10 at the end and the total drops.
Opus1 does not work that way.
| In a typical online store | In Opus1 |
|---|---|
| The family types a code at checkout | There is no code field |
| The same product page is discounted for anyone who knows the phrase | The same booking page is full price unless the URL carries the promotion |
| The code is the claim | The link is the claim |
| You print "use code FALL10" on a flyer | You print, or paste, a URL that already has ?promoId= |
The promotion itself lives under Settings → Promotions. The promo adds itself to an existing self-booking link.
The promo ID is an opaque identifier Opus1 generated. It is not a human-readable phrase, and families never see or remember it. They click, and the booking flow reads the promo ID from the address bar and prices the first invoice accordingly.
The same URL without that parameter is a different offer: same teachers, same times, full price. That is deliberate rather than a missing feature.
So if a parent asks where to enter the code, the answer is that they do not. They need the promotional link, or a staff member applies the promotion at the desk.
Three things this model does not do:
- No coupon field anywhere on family checkout. Not in self-booking, not on a landing page, not at payment. Looking harder will not turn one up.
- No discount on your public catalog. Changing a promotion never rewrites the listed price on the regular link.
- No discount on later tuition. A promotion applies to the first enrolment invoice. Month two is full price unless you use a recurring discount on the subscription.
Why a link instead of a code
A coupon code suits a family who already knows to hunt for a box. A promotional link suits a studio trying to sell a specific offer to a specific audience without changing what everyone else pays.
Your regular booking link stays honest. The trial URL on your homepage can stay at $40 while the back-to-school newsletter carries $40 minus $10. You never edit the service, take the listing down, or have to remember to put the price back. When the promotion's end date passes, the campaign URL simply stops discounting.
The click is the claim. A parent deciding at 9pm does not have to find a code in an email, hold it in another tab, and type it without a typo. They open the link and the price they were promised is the price on the page.
You choose who gets the deal. A code printed on a flyer is public the moment it leaves the building. A link can go to one mailing list, one teacher's families, or one ad campaign. Forwarding still shares it — URLs are copyable — but you are not also printing a phrase that works on every full-price page.
Caps are enforced, not an honour system. "First 10 enrolments" is a usage limit on the promotion. Opus1 stops honouring the link, and hides it from staff checkout, once the global or per-client cap is reached.
Ads can point straight at the discounted offer. The destination URL of the ad is the promotion, so you are not asking Google or Meta to invent a coupon field Opus1 does not have.
The tradeoff to know up front: this is a conversion tool, not a standing scholarship. First invoice only. If what you wanted was "Maya pays 10% less every month," that is a recurring discount on her subscription.
Choose how the family gets the discount
You are not stuck with one path. These run from most public to most controlled, and the last three are not promotions at all.
| What you are trying to do | Use this | Why this one |
|---|---|---|
| A public sale: ads, website button, QR code, newsletter | Promotional self-booking URL via Copy with promo | One link, discount already on it. The regular URL stays full price |
| One public page offering private lessons and group classes, discounting the matching card | Landing page URL with promo ID appended | The landing page forwards the parameter when they pick a card. The discount still applies only if that card's widget matches the promotion type |
| A family phones in, or you enroll them at the desk | Staff selects the promotion at checkout | Same promotion, no URL needed. Opus1 lists only promotions that are active and applicable to that service, location, teacher, or class |
| Send a written discounted quote and let them accept | Attach the promotion to a proposal | They see the discounted total before saying yes. See Sending Proposals |
| An enrolled student should pay less every month | Recurring discount on the subscription | Promotions do not continue onto later invoices. See How do I add a recurring discount to a subscription? |
| A sibling or household rate | Sibling discount settings on the service | A standing policy rather than a campaign. See How do I enable sibling discounts? |
| Stored value someone redeems over time | A gift card | Also claimed by URL, using gift card ID, not typed at checkout. See How do I issue gift cards to clients? |
| Everyone should always pay less | Change the payment plan price | That is your listed price, not a campaign. No promo ID involved |
Most studios running a registration push use promotional URLs for marketing and staff checkout for phone-ins, on the same promotion.
Three pairing notes so the doors do not fight each other:
- Appointment promotions attach to appointment links; session promotions to session links. A trial sale and a group-class sale are two promotions even if one flyer mentions both, and there is no event or recital promotion type. See Which widget type should my self-booking link use?.
- The underlying self-booking link must be open to visitors if prospects are the audience. A promotional URL is that link plus the promo ID, so if the link is Clients only the visitor hits a login page and never reaches the discount. See My self-booking link sends clients to a login page.
- Do not rebuild the self-booking link to "put a discount on it." Build the link once at full price, then copy it with the promotion. The promotion is a layer, not a second widget type.
If you are running Google Ads
This is the mix-up that surfaces when a studio is on the phone with a Google rep.
Google Ads can display a promotion asset — a code shown on the ad — and can ask for a coupon field so conversions tie back to that code. Opus1 has neither. Telling families "use code FALL10" in the ad, or hunting for a box at Opus1 checkout to paste it into, does not connect to anything in the product.
Put the promotional URL in the ad's final URL. Copy it with Copy with promo, then use that full address as the destination:
The click is the claim. The family lands on a booking flow that already knows about the promotion, so they type nothing extra and Google needs no coupon field to count the booking.
UTM tags sit happily next to promo ID. They do not replace it and do not conflict.
Opus1 reads promo ID, and Google Tag Manager still reads the UTM parameters from the same address. If the ad points at a landing page, Opus1 forwards the whole query string when the family picks a card, so promo ID and the UTMs travel together.
Do not put a Google promo code on the ad creative unless you are prepared for families to hunt for a box that does not exist. If the Google interface insists on a code field, that field is Google's, not Opus1's — leave it blank, or treat it as ad copy only, and still send people to the promo URL.
Conversion tracking does not need a coupon. Opus1 can fire Google Tag Manager events when someone completes a self-booking, discounted or not, and that is how you measure whether the ad produced a trial. Setup is in How do I track opus1.io self-bookings with Google Tag Manager?. Note this is a different feature from Opus1's own trial-to-enrollment conversion tracking on the service.
The regular booking link reports conversions too, if that is where the ad points — they will just be full-price bookings. If the campaign promised $10 off, the destination has to be the promotional URL.
What a promotion is, and is not
A promotion in Opus1 is a time-limited, first-invoice discount on appointment services or session services. You set a date window, which services, locations, staff, and sessions it applies to, optional usage caps, and two independent amounts: one off the plan, one off the signup fee, each flat or percent.
Plan and signup are separate on purpose. Ten percent off the plan does not touch the signup fee — set the one you are not discounting to 0.
What people often mean instead:
| People often mean | What to use |
|---|---|
| A phrase families type at checkout | Nothing. That field does not exist. Use a promotional URL or staff checkout |
| 10% off every month for this student | A recurring discount on the subscription |
| A stored-value card someone redeems | A gift card, also claimed by URL rather than a coupon box |
| A cheaper listed price for everyone | Edit the payment plan |
| A sibling or household rate | Sibling discount settings on the service |
| A recital or camp promo code | There is no event promotion type. Discount recitals another way — plan price, a staff discount, or a session promotion if it is genuinely a class |
| Google Ads promotion assets | Ad copy only. Wire the final URL to promo ID |
How to get the URL
You need two things that already exist: a self-booking link of the right widget type, and a promotion of that same type.
- Confirm the link under Settings → Business → Self-Booking Links, with visitor access on if this is for prospects. See How to create and share a self-booking link.
- Create the promotion under Settings → Promotions → Create promotion.
- On the promotion card, click promo links, then Copy with promo.
- Paste that URL into the newsletter, ad, text, or button, and test it in a private window so you see what a prospect sees.
Do not hand-type the promo iD and do not append it to a URL of the wrong widget type. The copy button is the source of truth.
Field-by-field steps — the two discount amounts, usage limits, what families and staff see at checkout, and the link-status icons in the promo links modal — are in How do I create and share promotional links?.
Troubleshooting
Families ask where to enter the promo code. There is no field. Send the Copy with promo URL and ask them to book from that link. If they already started on the regular URL, they need to open the promotional one — or you apply the promotion as staff if you are enrolling them.
They used our website Book button and did not get the discount. That button is almost certainly the regular link, and the promotion does not leak onto it. Point the campaign at the promotional URL, or change that button for the duration of the sale — accepting that everyone hitting it is then on the promo.
The Google rep asked for our coupon code. Opus1 does not issue one. Give them the promotional URL as the ad's final URL. Conversion tracking runs through Google Tag Manager on the booking events rather than through a code field.
I advertised FALL10 on the flyer. That phrase does nothing in Opus1. Reprint with the promotional URL, or a QR code of it, or have staff apply the promotion when those families call.
The promotional link shows full price, or Copy with promo is missing, or the link goes to a login page. These are covered in How do I create and share promotional links?, which has the full troubleshooting list for dates, filters, caps, and visitor access.
FAQ
Can families enter a coupon code at self-booking? No. Opus1 uses promotional links, and staff can also select the promotion at checkout on the family's behalf.
Is promo ID a code I should tell families to type? No. It is an identifier inside the URL. They click the link and never type the id.
If someone forwards the promotional link, does the next family get the discount too? Yes, until the promotion expires or a usage cap is reached. A link is shareable, the same way a code would have been, and caps are how you bound that.
Will Google Ads conversion tracking work without a coupon field? Yes. Point the ad at the promotional URL and track self-booking with Google Tag Manager. Opus1 does not need a code for the conversion to fire.
Is a gift card a promo code? No. Gift cards are stored value in Opus1, also claimed through a link using the gift card ID, rather than typed at checkout as a coupon.
Related Articles
Doing it
- How do I create and share promotional links? — the full how-to, including both discount amounts, usage caps, and what families and staff see
- How to create and share a self-booking link — the link a promotion attaches to
- Which widget type should my self-booking link use? — why appointment and session promotions are not interchangeable
- My self-booking link sends clients to a login page — a restricted link stops a promotional URL working
- Using Landing Pages in Opus1.io
- Sending Proposals
Discounts that are not promotions
- How do I add a recurring discount to a subscription?
- How do I enable sibling discounts?
- How do I issue gift cards to clients?
Measuring the campaign