To find out whether a promo code brings customers into your shop, give it a single source (one code per channel and per campaign), a limited duration, and count every use at the till. Then compare the period with a similar normal period. The number of codes used gives you a proven minimum, not the total effect: some customers come because of the message without giving the code, and others use it even though they would have come anyway.

Why does one code for every channel prove nothing?

If the same code runs on Instagram, by text and on the window poster, you will know how many times it was used, but not where the customers came from. You then cannot tell which channel deserves your time and budget next time.

How do you create a measurable promo code?

  1. One code per channel and per campaign, short and easy to say at the till: for example SMS10, INSTA10 and WINDOW10 for the same 10% offer.
  2. A start date and an end date written on the offer. A short window gives people a reason to come now and makes comparison easier.
  3. The same offer on every channel: otherwise you are comparing offers, not channels.
  4. One simple rule at the till: the code is entered or written down for every sale, no exceptions.
  5. If your till allows it, one use per customer, so you count customers rather than visits.

How do you count uses at the till?

The most reliable option is a dedicated discount in your till software, one per code: the end-of-day report does the counting. Failing that, a sheet next to the till with one column per code is enough. For every sale, write down:

  • The code used.
  • The receipt total before and after the discount.
  • New customer or regular: one question is enough, “Is this your first visit?”.
  • Customers who mention the offer without giving the code, in a separate “saw the offer, no code” column.

What should you compare the results with?

A number on its own says nothing. Compare the code period with a similar reference period: the same week last year, or the average of the previous weeks, leaving out public holidays, school holidays or an unusual event on your street. Then look at:

  • The number of codes used per channel: the minimum number of visits linked to each channel.
  • The share of new customers among those visits: this is what measures acquisition.
  • The change in the number of receipts compared with the reference period.
  • The average basket with and without a code.
  • Whether customers who came with a code return in the following weeks, if your customer list or loyalty card lets you find them.

How much does the discount cost you?

A discount is paid out of your margin, not your revenue. The basic calculation: discount cost per receipt = average basket × discount rate. Compare it with the gross margin you make on that basket.

Example, with made-up figures to replace with your own: an average basket of €40 and a 50% gross margin, so €20 of margin per receipt. With a 20% code, the discount costs €8 per receipt, leaving €12 of margin. To earn as much as before from these customers, you need about 67% more receipts (20 ÷ 12 ≈ 1.67). With a 10% code, the discount costs €4, €16 remains, and 25% more receipts are enough (20 ÷ 16 = 1.25).

That is why a code sent to regulars who would have come anyway can cost more than it brings in: you give them the discount without gaining a visit.

What does the number of codes used actually prove?

It proves a floor: at least that many visits are linked to your campaign. It does not measure everything. Some customers see the offer and come without giving the code, others forget it at the till, others come back later without any offer. Conversely, some customers who use the code would have come anyway.

So read two numbers together: code uses, which are a proven minimum channel by channel, and the gap with the reference period, which shows the overall trend without saying which channel explains it. Neither is enough on its own.

What rules apply when you advertise the discount in France?

According to the French Ministry of the Economy, a price reduction must show the reduced price and the reference price, meaning the price charged for at least 30 days before the reduction, or at minimum the discount percentage. You must be able to justify that reference price (till receipts, purchase orders). A uniform discount on a category of items can be applied directly at the till. Breaching price information rules can lead to a fine of €3,000 for a sole trader and €15,000 for a company.

If you send the code by text or email to consumers, consent rules also apply: prior consent, or an existing customer offered similar products with the option to refuse (see our article on SMS marketing rules in France).

With Ooklo, AI drafts your campaign message for each channel (post, email, text, and soon Google Business Profile), you add the code for each channel, and you approve everything before it goes out. Counting at the till stays with you: it is what tells you what the code brought in.

How long should an in-store promo code run?+
Short enough to give people a reason to come now, with a stated start and end date. There is no ideal length that suits every shop: test, then compare with your reference period.
What discount percentage should you choose?+
The one your margin can carry. Before deciding, calculate the discount cost (average basket × rate) and how many extra receipts you need to keep the same margin.
Can you measure a campaign without a promo code?+
Yes, but only overall, by comparing the number of receipts with a reference period. Without a code or a question at the till, you will not know which channel brought customers in.
What if customers forget the code?+
Ask at the till how they heard about the offer and note the answer separately. These cases add to the proven minimum, with less reliability.
Do you need to show a crossed-out price?+
The French Ministry of the Economy requires the reduced price and the reference price charged for at least 30 days before the reduction, or at minimum the discount percentage. A uniform discount on a category of items can be applied at the till.
Can you keep the same code all year?+
A permanent code becomes a permanent lower price: customers expect it, and you can no longer measure the effect of a campaign. Keep dated codes and change them for every campaign.

Sources

  • economie.gouv.fr, Professionnels, quelles sont vos obligations en matière d'affichage des prix ? (written 20/01/2026), https://www.economie.gouv.fr/entreprises/gerer-son-entreprise-au-quotidien/gerer-un-commerce/professionnels-quelles-sont-vos-obligations-en-matiere-daffichage-des-prix (accessed 5 October 2026)
  • CNIL, La prospection commerciale par courrier électronique, SMS-MMS et automate d'appel, https://www.cnil.fr/fr/la-prospection-commerciale-par-courrier-electronique (accessed 5 October 2026)