A good campaign message states the offer in its first sentence: how much is off, on which products and between which dates. Any conditions come next, followed by a single link to the page where the offer applies and a way to opt out of campaign messages. The ten texts below follow that order and are grouped by the four moments of a campaign: before it starts, the day it starts, while it runs and as it nears the end.
After reading, you will be able to choose which text to send at each stage of your campaign and fill in the fields in double curly braces with your own details. You will also know which dates, prices and sender details a sale message has to include, which mistakes get a template rejected and how to adapt the examples for special days such as 11.11 or New Year’s.
What every campaign message should include
Before opening a message, the customer usually sees only its first lines, in the notification and in the chat list. If the offer is not there, they have little reason to open the chat. Give the information in this order:
- The store name. If your store’s name is not part of the campaign name, open the message with “{{store name}}:”.
- The offer, in figures: a percentage or an amount. A message that only says “great deals” leaves the customer to find out what they stand to gain once they reach the site.
- The scope: is it all products, one category or carts above a certain total?
- The start and the end. Instead of “for a limited time,” give calendar dates and a time: “9–15 November, until 23:59 on Sunday.”
- Conditions, if any: a code, a minimum order value, products excluded from the campaign, a limited quantity. Spell them out.
- A single shopping link. Point it to the page where the offer applies rather than to the homepage.
- Sender details and a way to opt out of campaign messages in the last lines. We explain why both are needed in the section on the legal requirements.
When you send these texts with Pushouse’s WhatsApp bulk messaging module, you can add an image or a video and schedule the send for the date the campaign starts. Set the time for after the discount goes live on your site, so that the link in the message does not open before the prices are updated. Even when you add an image, keep the offer written out in the text; the customer should be able to tell what they stand to gain without opening the image.
Before the campaign starts
1. Early access
This message lets customers who have bought from you before take advantage of the campaign a day ahead of everyone else. It says what the perk is and when the campaign ends, without promising an extra discount. Grant the perk through a personal link; if your platform cannot generate one, use single-use codes. A public link that gets shared on social media effectively opens early access to everyone.
{{store name}}: Hello {{customer name}}, {{campaign name}} opens to everyone tomorrow morning; with your personal link you can start today. {{discount rate}}% off all products until 23:59 on {{end date}}: {{personal link}}
2. The “starts tomorrow” announcement
Do not expect sales from this message yet. If customers add the products they like to their favorites now, their list will be ready on launch day. If the rate varies by product, give the lowest and the highest rate together. When the highest rate applies to only a few products, “up to 50% off” can leave the customer with the impression of a bigger discount than they will actually get. Türkiye’s Regulation on Commercial Advertising and Unfair Commercial Practices prohibits wording in sale announcements that creates such an impression (Article 14).
{{store name}}: {{campaign name}} starts tomorrow at 10:00 and runs until 23:59 on {{end date}}. Selected products will be {{lowest rate}}% to {{highest rate}}% off. Add the ones you like to your favorites now, so your list is ready when the discount starts: {{campaign link}}
On the day the campaign starts
Each customer gets a single message on launch day, so do not write again to anyone who received message 1 or 2 the day before. We cover who gets a message on which day of a campaign week, and the limit per customer, in our article on how often to send campaign messages. The type of offer decides which text goes out: 3 if the discount needs no code and is open to everyone, 4 if a code is required, 5 if you are offering free shipping instead of a discount, 6 if the campaign covers a single category.
For offers such as “buy 3, pay for 2” or a free gift, you can use text 3 and change the sentence that states the offer. Put the condition in the same sentence as the offer and say which item will be free: “For every 3 items in your cart, the cheapest one is free.” When a free item depends on a condition, the advertising regulation requires that condition to be stated clearly in the main message of the ad (Article 13).
3. General launch announcement
It gives the offer, the scope, the dates and the link. If no code is needed, it says so too.
{{store name}}: {{campaign name}} has started. {{discount rate}}% off all products, {{campaign dates}}; the last day is {{end day}}, until 23:59. The discount is already reflected in the prices, and no code is needed: {{campaign link}}
4. Discount with a code
Put the code on a line of its own, in capital letters, so that the customer does not have to search for it when they reach the cart. If there is a minimum order value, put it in the same sentence as the offer. Avoid characters that are easy to confuse, such as 0 and O or 1 and I; a customer typing the code by hand may try the wrong one. List among the conditions whether the code can be combined with other codes, such as a new-member code.
If your tool supports Meta’s coupon code templates, you can also put the code in a copy button; when the customer taps it, the code is copied to the clipboard. According to Meta’s documentation, the code in the button can be at most 20 characters, and coupon code templates are not yet supported on the WhatsApp web client. Keep the code in the text as well, for customers who read the message on a computer.
{{store name}}: Hello {{customer name}}, {{discount amount}} TL off is waiting for you on orders of {{minimum order value}} TL or more, {{campaign dates}}.
Your code: {{discount code}}
The code is valid until 23:59 on {{end day}}; it cannot be used on {{excluded brand}} products. Start shopping here: {{campaign link}}
5. Free shipping
This message only needs to give the order total above which shipping is free, the dates and whether a code is needed. If a discount is running in the same week, say whether the threshold applies to the total before or after the discount; a customer who does the math with list prices may be surprised by a shipping fee at checkout. The example below is written for a store that applies the threshold to the discounted total.
{{store name}}: This weekend, from 10:00 on Friday until 23:59 on Sunday, shipping is on us for every order that comes to more than {{minimum order value}} TL after discounts. No code needed; the shipping fee comes off automatically in the cart: {{campaign link}}
6. Category-specific announcement
It goes only to customers who have ordered from this category before, and the link opens the category page. Tell the customer in one sentence why they are getting the message.
{{store name}}: Hello {{customer name}}, a {{discount rate}}% discount on {{category name}} products has started; it runs {{campaign dates}}, until 23:59 on {{end day}}. We wanted to let you know because you have bought from this category before. New arrivals are included too: {{category link}}
Which message goes to which customer group is a separate decision. We explain which groups to set apart before a campaign in our article on customer groups for campaign messages; for the general idea behind dividing customers into groups, see our guide to customer segmentation.
A second message while the campaign is running
Send a second message only if you have news to share, such as an extra discount or a product that has come back in stock. Do not send one just to say that the sale is still on.
7. Extra discount based on the cart total
Midway through the campaign, this message announces an extra discount for anyone whose cart goes over a certain total. It gives the threshold and the saving in figures, so the customer does not have to do the math. Leave out customers who have already ordered during this campaign.
Also say which total the threshold applies to. In a hypothetical example, the campaign is 20% off and the extra discount is 150 TL on carts over 2,000 TL. A cart with a list-price total of 2,300 TL drops to 1,840 TL with the 20% discount. If the threshold applies to the discounted total, this customer does not qualify; if the message did not say so, they will look for the 150 TL in the cart and not find it. Because the extra discount depends on the cart total, it is a conditional offer. A paragraph added to Article 14 of the advertising regulation, in force since 1 August 2026, applies the article’s rules, except the one on showing quantities, to conditional sales ads like this one, so state the day the extra discount starts and the day it ends as well.
{{store name}}: We have added a new benefit while {{campaign name}} is on. From the morning of {{start date}} until 23:59 on {{end date}}, if your cart total goes over {{minimum order value}} TL after the campaign discount, an extra {{discount amount}} TL comes off: {{campaign link}}
8. A product that comes back in stock during the campaign
If a sold-out product comes back before the discount ends, that is an announcement in its own right. Give the product name, the size or color and two prices: the price before the discount and the campaign price. For goods other than perishables, the advertising regulation takes the price before the discount to be the lowest price you charged in the ten days before the discount started. If the price only holds while stock lasts, give the quantity: in that case the regulation requires the stock quantity to be stated clearly in the ad (Article 13), and “only a few left” is not a quantity. If there is no such limit, do not mention stock at all.
{{store name}}: Hello {{customer name}}, {{product name}} ({{size}}) is back in stock. In {{campaign name}} it is {{campaign price}} TL instead of {{previous price}} TL; the discount runs {{campaign dates}}, and the last day is {{end day}}, until 23:59: {{product link}}
If the people waiting for the product left their number through “Notify Me When Available,” you do not need to notify them by hand; the WhatsApp back-in-stock alerts module sends that notification itself when the product is back in stock. The text above is the campaign announcement for customers who are not on the waiting list. We cover how to word the notification for people on the waiting list in our back-in-stock message examples.
The last day and the final hours
9. Last day
This message goes out in the morning. It brings no new offer and only reminds the customer when the campaign ends. Stick to the time you have given. If you call it the “last day” and then extend the campaign the next day, the customer may not believe your next “last day” message. The examples of misleading practices in the annex to the advertising regulation include falsely claiming that an offer will end shortly in order to rush the customer. If you might extend the campaign, decide before this message goes out.
{{store name}}: {{campaign name}}, running {{campaign dates}}, ends tonight at 23:59. After midnight, prices go back to normal. If there is a product still on your mind: {{campaign link}}
10. Final hours
This message goes out in the evening, three hours before the end, and only to customers who have not yet ordered during the campaign. It is the shortest text; the time left and the link are enough.
If your tool supports Meta’s limited-time offer templates, a coded offer can show its expiry time and a running countdown inside the message. According to the documentation, these templates cannot have a footer, and on WhatsApp on a computer the customer sees a notice that they have received a message instead of the offer. Put the opt-out line in the body and keep the end time in the text.
{{store name}}: ⏰ Last 3 hours. {{campaign name}} ({{campaign dates}}), with {{discount rate}}% off, ends tonight at 23:59: {{campaign link}}
Do not send both 9 and 10 to the same customer; use your one end-of-campaign message either in the morning or in the evening.
Adapting the examples to special days and to your brand’s voice
These WhatsApp campaign message examples also work for special-day campaigns such as 11.11, late-November sales, New Year’s or Eid. Put the name of the occasion in the {{campaign name}} field and give the dates according to that campaign’s real calendar. If the campaign name does not include your store’s name, still open the message with the store name; a customer who receives “11.11 sale” messages from several stores on the same day should see who is writing in the first few words.
On gift-giving occasions, add delivery information to the last-day message. For a Mother’s Day, Valentine’s Day or New Year’s campaign, change text 9 so that it gives the last order time for delivery before the day. Set that time according to your own shipping times:
{{store name}}: For delivery before {{occasion}}, the last order time is {{last order day}} at {{last order time}}. In {{campaign name}}, gift products are {{discount rate}}% off, {{campaign dates}}: {{campaign link}}
State on the product page and in the cart as well that orders placed after the last order time will not arrive before the occasion; a customer who reads the message late should learn this before paying.
The examples use the formal Turkish “siz.” If you address customers with the informal “sen” on your site and social media accounts, adapt the texts the same way; a store that sounds formal in its messages and casual on its site comes across as inconsistent.
Consent, sender details and the rules for sale announcements
Send campaign messages only to customers who have agreed to receive commercial messages. Article 6 of Türkiye’s Law No. 6563 on the Regulation of Electronic Commerce requires the recipient’s prior consent for messages sent for commercial purposes. The WhatsApp Business Messaging Policy sets two conditions as well: the person must have shared their number or WhatsApp username with you and agreed to receive messages from you. A customer who ordered through a chat has not given that consent either; we explain how to ask for it and record it in our article on selling on WhatsApp. Where you record consent also matters: the Regulation on Commercial Communication and Commercial Electronic Messages treats consent that has not been entered in İYS (İleti Yönetim Sistemi, Türkiye’s national register of commercial message consents) as invalid (Article 7).
It must also be clear who is sending the message. Under the commercial message regulation, a company (tacir) has to put its registered trade name and its MERSİS number, the company’s number in Türkiye’s central trade registry, in the header or content of the message; a sole tradesperson (esnaf) gives their full name and Turkish ID or tax number. A brand or store name can be added on top of these (Article 8). The same article also asks for at least one accessible contact detail, such as a phone number or an email address. The store name at the start of the examples may therefore not be enough on its own; add your trade name, your MERSİS number and a contact detail to the last lines of the message.
If the message contains a promotion such as a discount or a gift, say so clearly. Article 8 of the commercial message regulation also requires the promotion’s validity period and the conditions the customer has to meet to be presented clearly and without room for doubt, and it points to an easy route such as a web address dedicated to those terms or a customer service number. Give the validity period and the most important condition in the message, and collect the details on a page that sets out the campaign terms.
A WhatsApp message announcing a discount may also fall under advertising rules. The Regulation on Commercial Advertising and Unfair Commercial Practices defines a commercial advertisement as a marketing announcement made “in any medium” and lists the internet and the telephone among media. Under Article 14 of the advertising regulation, an ad that mentions a discount must state clearly and understandably the price before the discount, the start and end dates of the sale and, if the discounted quantity is limited, that quantity. That is why the examples give a start date next to the end date, and why example 8, which is about a single product, also gives the previous price.
Every message also needs a way out. Article 8 of Law No. 6563 requires that the recipient be able to send their refusal easily and free of charge by electronic means, and that the message include the information needed to do so. Article 9 of the commercial message regulation requires the option to refuse to be included in every message sent and to be usable through the channel the message arrived on. WhatsApp’s policy also requires you to honor the request of anyone who no longer wants your messages, and recommends giving clear instructions for withdrawing permission. For opting out, add the “Stop promotions” button to the template, then tap it from your own number to check that it really takes you off the list in the tool you use. With all its lines, example 3 looks like this:
{{store name}}: {{campaign name}} has started. {{discount rate}}% off all products, {{campaign dates}}; the last day is {{end day}}, until 23:59. The discount is already reflected in the prices, and no code is needed: {{campaign link}}
Campaign terms: {{terms link}}
{{registered trade name}} · MERSİS: {{MERSİS number}} · Tel: {{customer service phone}}
To opt out of campaign messages, tap “Stop promotions” below.
Ask your legal adviser about two points before your first send: whether the consents you collect on WhatsApp have to be recorded in İYS, and how the previous price should be shown in a message about a percentage discount that covers the whole store or a whole category.
Before you submit the template for approval
Under WhatsApp’s policy, a business sending through the WhatsApp Business Platform may start a conversation only with an approved message template. According to Meta’s template documentation, a template is reviewed automatically when it is created or edited, and review can take up to 24 hours. Fixing and resubmitting a rejected text also takes time, so submit campaign templates a few days before the start. When you are asked for the category, choose marketing. Meta’s template categorization guide puts offers related to sales events and coupons in this category.
Most of the fields in the examples are fixed details. The store name, the campaign name, the rate, the dates and a link that is the same for everyone go into the template as plain text. Only the fields that change from one recipient to the next remain variables: the customer name and, if you generate them for each person, the discount code and the link. According to the same Meta documentation, you write variables in double curly braces, either as a number ({{1}}) or as a name made of lowercase letters and underscores ({{first_name}}), and you enter a sample value for each one when you create the template. If the panel you use expects a different format, convert the variables to it.
Meta’s template review page lists among the common reasons for rejection a template that starts or ends with a variable and one with too many variables for the length of its text. If the link changes from one recipient to the next (like the personal link in example 1), do not make it the last element of the text; put the opt-out line after it. Do not attach a suffix directly to a variable, because in Turkish the form of the suffix depends on the value that is filled in (“to Ayşe” is Ayşe’ye, but “to Ahmet” is Ahmet’e). Check that the greeting does not come out as “Hello ,” for a customer whose name is not on record.
A template’s body text can be at most 1,024 characters, and the footer at most 60. Do not try to fill the body; every example above, including its last lines, stays well below that limit. If you put the opt-out line in the footer, check that it fits.
Once the template is approved, send the message to yourself first. Check on your phone that the link opens the right page, that the discount shows in the cart and that the code works. If a price or an amount comes from a variable, also check that your system writes it in Turkish format, as “1.499,90 TL” rather than “1499.9.”
The offer should look the same on your site
If the customer taps the link and cannot see the discount, or has to go back to the chat to find the code, you may lose the sale right there. The rate, the dates and the code in the message should read the same on the campaign page, on the product cards and in the cart. We cover which element to use on which page in our article on where to announce a sale on your site. For campaigns with a code, Pushouse’s discount tab sits at the edge of the page; when a visitor taps it, the code appears and can be copied with a single tap.
After sending, Pushouse’s bulk messaging module shows how many messages were delivered and how many orders followed. If you are testing two texts in the same campaign, say a launch with a code and one without, send each to a randomly chosen half of the list; only then can you tell whether a difference comes from the text or from the recipients. Use these numbers to decide which text to reuse in your next campaign. If you are new to bulk sending, our article on sending bulk WhatsApp messages covers what you need to get started.



