Announcing a Shopify Sale and Its Discount Code Clearly
Write a sale announcement your checkout agrees with: code or automatic discount, the five parts of the message, the link, and when to take it down.

The sale is only as clear as its code
A sale announcement has one job: get a shopper to the right products with the right price in their head, and have checkout agree with them. Most of the messages that go wrong do not go wrong on the discount. They go wrong on the words around it: a code typed slightly differently, a minimum nobody mentioned, an end date that was in the admin but not in the message.
The result is the email every store knows: “the code didn’t work”. We wrote a whole post on what to reply when a customer says the discount code didn’t work. This one is the other half: how to announce a sale so that email is rarer, using the bar at the top of your store as the main example. For general advice on bar messages, see announcement bar messages that get read.
Decide first: a code or an automatic discount
Shopify gives you two kinds of discount, and the choice changes what your announcement has to say.
- An automatic discount is applied in the cart and at checkout when the order meets its conditions. The shopper types nothing.
- A discount code has to be entered at checkout, exactly as you created it.
If the sale is for everyone who visits, an automatic discount is usually the simpler announcement, because there is nothing to type and nothing to mistype. The message becomes “20% off all knitwear until Sunday, applied at checkout”.
A code makes sense when you want the offer to belong to a group: your email list, a partner’s followers, people who came from one post. Then the code is part of the message, and everything below matters more.
Make the code easy to type
A code is read on one screen and typed on another, often on a phone, often from memory. A few habits remove most mistakes:
- Short and pronounceable. AUTUMN20 survives being read aloud. AUT-2026-KNT-20 does not.
- No characters that look alike. Avoid mixing O and 0, I and 1, or S and 5 in one code.
- Write it in the message exactly as you created it, in the same letters and order. If the bar says SPRING15 and the admin says SPRING-15, someone will type the wrong one.
One line, five parts
A good sale message answers five questions in one line, in roughly this order:
- What is on sale: everything, a collection, a product type.
- How much: the percentage or the amount.
- How: the code, or “applied at checkout”.
- Until when: a day and, near the end, a time.
- The catch, if there is one: a minimum spend or an exclusion.
Some examples that fit on a phone:
- “Knitwear 20% off with code AUTUMN20 until Sunday”
- “15% off orders over 2,000 Tk with code EID15, ends Friday”
- “All shoes 25% off, applied at checkout, until 30 November”
If the catch does not fit, that is information. Either the rule is too complicated for a short promotion, or the message needs to link to a page where the full terms are written in one place.
Link the message to the sale itself
A sale message that links to your homepage makes the shopper look for the sale. Link to the collection that is on sale, or to a short page with the terms if there are several.
For a code, Shopify also lets you share the discount as a link, from the discount’s page in your admin. A shopper who opens that link has the code applied for them, so they do not have to type it. It is worth using wherever you can put a link, such as an email or a post, and the bar message can still show the code for people who arrive another way.
The four stages of a sale message
A sale is not one message. It is a short sequence, and each stage has a different job.
- Launch day. What, how much, how, until when. The full line from above.
- During. The same line. Resist adding new words every day; a stable message is easier to trust.
- Last day. Now the end time is the news: “Last day: 20% off knitwear with AUTUMN20, until 11:59 pm tonight”. This is real urgency, because it is true.
- After. Take it down. A sale that ended yesterday and is still in the bar promises a price that checkout will refuse, and that is exactly the message that turns into an email.
The discount in Shopify can have an end date, and it is worth setting one. But the end date only stops the discount. Whatever you wrote in the bar, in a pop-up or in your theme stays there until you change it. Put the change in your calendar on the day you start the sale, together with what replaces the message.
Test it the way a customer would
Before the sale goes live, and again on the first morning, spend five minutes being a customer:
- Open the store on your phone and read the bar. Does the whole message fit, or is it cut off?
- Tap it. Do you land on the products that are actually on sale?
- Add something that qualifies, go to checkout and enter the code exactly as the bar shows it. Does the total match what the bar promised?
- Try something that is excluded, or an order under the minimum. Is the reason the code fails written somewhere the shopper could have seen it?
Step four is the one most stores skip, and it is the one that produces most of the “the code didn’t work” messages.
Where we come in, briefly. Announcement Bar is one of three blocks in Store Essentials, the free app we build at ShopAppsLab. It puts up to five rotating messages at the top of every page, in your colours — switched on once from the theme editor, with no code. Each message can link somewhere, such as the sale collection. There are no paid plans, and the app asks for no access to your store’s data. Everything above works without it — that is the honest version.
If you do one thing this week
Take the next sale you have planned and write its message as one line with the five parts: what, how much, how, until when, and the catch. Then put two reminders in your calendar: one for the last-day message and one for the morning after, to take it down.