AI agent
Connect your store to an AI agent
Marketing

SMS marketing for an online store: EU rules, cost and examples

SMS marketing for an online store in Europe: consent and opt-out under ePrivacy and GDPR, sender ID, 160 and 70 characters, 8 sample texts and the cost.

The CloudCart team21 min read
A phone on a light desk showing a short text message with a link, next to a notebook with a character counter and a small parcel box
In this article · 11 sections
  1. What SMS marketing is and when it pays off for an online store
  2. SMS marketing and the law: ePrivacy Article 13 and GDPR
  3. How to collect SMS consent in your store
  4. SMS opt-out: how to offer it in every message
  5. Sender ID: what the customer sees as the sender
  6. How many characters fit in an SMS: 160 in GSM-7, 70 in UCS-2
  7. When to send an SMS: time, frequency and channel order
  8. 8 SMS marketing examples for an online store
  9. What SMS marketing costs: how the price is calculated
  10. SMS marketing mistakes that cost money or a fine
  11. Frequently asked questions

SMS marketing for an online store means sending short text messages to customers who gave prior consent under Article 13 of the EU ePrivacy Directive, or to your own buyers about similar products. One SMS holds 160 characters in the standard GSM alphabet and 70 once the text has a letter outside it, and you pay per part. Every message names the store and gives a way to opt out.

This guide is for owners of online stores that sell in one or several European countries and want to add SMS next to email. The legal texts were checked on 12.11.2026: Directive 2002/58/EC (the ePrivacy Directive), Regulation (EU) 2016/679 (GDPR) and the national laws linked in the country table below. It is written by the team at CloudCart, the ecommerce platform. The admin screens, step by step, are in the guide SMS, Viber, email and Web Push campaigns for an EU online store. This is not legal advice: for a specific case, ask a lawyer in the country you sell to.

What SMS marketing is and when it pays off for an online store

SMS marketing pays off where the message has to be seen within hours: an abandoned cart, a promotion that ends today, early access for regular customers. An SMS (Short Message Service) is a short text message with no images and no buttons that reaches any mobile phone, with no app and no internet connection. You pay for every recipient, so SMS is the last and most expensive step in the chain, after email and the channels that cost nothing per message.

The table compares the four channels an online store uses to write to its customers. The CloudCart data comes from the pricing page and the platform documentation as of 12.11.2026.

ChannelWhat the customer seesLengthHow you pay in CloudCartBest for
EmailA message with images, products and buttonsLong text in blocksIn the planNewsletter, products, every first step
Web PushA browser notificationShort title and textUnlimited on every planQuick reminders to visitors who left no email
ViberA message from a verified sender, with a picture and a button for offersUp to 1,000 charactersSeparately, against the channel limitOffers with a picture, in countries where shoppers use Viber
SMSText only160 characters in the GSM alphabet, 70 with letters outside itSeparately, per SMS partAn urgent reminder to any phone

Most customers come back from the email, so the SMS goes only to the people who did not open it or did not click. Where Viber fits, and in which countries it is worth adding: Viber Business for an online store.

SMS marketing and the law: ePrivacy Article 13 and GDPR

A marketing SMS may be sent only to a person who gave prior consent. That is the rule of Article 13(1) of Directive 2002/58/EC for direct marketing by automated calling systems, fax and electronic mail. The directive defines electronic mail as any text, voice, sound or image message sent over a public communications network and stored until the recipient collects it, and its Recital 40 names SMS messages explicitly. Every EU country has written this rule into its own law, so the same logic applies across the Union, with national differences in the details.

The exception for your own customers (Article 13(2))

A store that obtained the contact details from a customer in the context of a sale may use them to market its own similar products or services without separate consent. The condition is that the customer gets a clear and easy way to object, at no cost, twice: when the details are collected and in every message. This is often called the soft opt-in. It does not cover other companies' products, numbers from a competition or bought lists, and it ends the moment the customer objects.

When an SMS is banned even with consent (Article 13(4))

A marketing message is prohibited if it disguises or conceals the identity of the sender on whose behalf it is sent, or if it has no valid address to which the recipient can send a request to stop. The same paragraph refers to Article 6 of the e-commerce Directive 2000/31/EC: a commercial message must be recognisable as commercial and name the company behind it, and the conditions of discounts and gifts must be clear.

RequirementSourceWhat it means for the store's SMS
Prior consentArt. 13(1) ePrivacy DirectiveA separate checkbox for SMS, never ticked in advance
Withdrawal at any timeArt. 7(3) GDPROpting out is as easy as signing up
Exception for own customersArt. 13(2) ePrivacy DirectiveOnly your own similar products, with a way to object at the order and in every SMS
Objection is finalArt. 21(2) and (3) GDPROnce someone objects to direct marketing, their number is no longer used for it
Clear senderArt. 13(4) ePrivacy DirectiveThe store name in the first words of the text
Address for opting outArt. 13(4) ePrivacy DirectiveAn unsubscribe link or address in every message
Provable consentArt. 7(1) GDPRYou keep when and where it was given

National rules differ: four country examples

The directive is applied through national laws, and the country of the recipient is the one to check. Four examples, each verified in the official text on 12.11.2026:

CountryNational ruleWhat to note
GermanySection 7 UWG (Act against Unfair Competition)Advertising by electronic mail without prior express consent is always treated as an unacceptable nuisance. Section 7(3) allows it for own similar goods only if the address came from a sale, the customer has not objected and was told clearly at collection and at each use that they can object.
FranceArticle L34-5 of the Code des postes et des communications électroniquesConsumers need prior consent for email, SMS and MMS. The regulator CNIL states that the exception for similar products applies only after an actual sale, not after a mere account creation, and that messages to professionals follow an opt-out rule (CNIL).
SpainArticle 21 LSSI (Ley 34/2002)Promotional messages by email or equivalent electronic means are prohibited unless requested or expressly authorised. The exception requires a prior contractual relationship and the store's own similar products.
RomaniaArticle 12 of Law 506/2004Prior express consent is required. The data protection authority ANSPDCP sanctions breaches with a fine of 5,000 to 100,000 lei, and up to 2% of turnover for companies above 5,000,000 lei in turnover (Article 13).

Outside the EU, the United Kingdom keeps the same structure in regulation 22 of the Privacy and Electronic Communications Regulations: prior consent, with an exception for contact details obtained in a sale and used for the sender's own similar products.

GDPR adds two more rules. The controller must be able to demonstrate consent (Article 7(1)), and when a person objects to direct marketing, the data is no longer processed for that purpose (Article 21(2) and (3)). Consent is per channel: a customer who signed up for the email newsletter has not agreed to SMS. The privacy policy and cookies are covered in Cookie banner and GDPR for an online store in the EU.

Important: order and shipment notices are service messages. The moment you add a discount or a new product to them, they become a commercial message and the rules above apply.

How to collect SMS consent in your store

SMS consent is collected with a separate checkbox next to the phone field: at checkout, at registration or in a signup form. In CloudCart, marketing consent ("Accept marketing") is stored separately for each of a subscriber's channels, and an SMS goes only to a phone number that is confirmed, has marketing consent, is not unsubscribed and has not returned an error. When a customer's marketing consent changes to "no", the change applies to all channels; the reverse never happens by itself, every new consent is given explicitly.

  1. Put a phone field in the signup form. The forms in Marketing → Subscribers → Subscribe Forms have a built-in phone field that appears when an SMS or Viber channel is switched on. The number is validated against the store's country. How to build the forms: Email popup for an online store.
  2. Say what the consent is for. "I want to receive offers by SMS. I can opt out at any time." No box ticked in advance.
  3. Give a reason to leave the number. A code for the first order or early access to the sale. State the conditions of the code (percentage, validity) in the form itself.
  4. Do not import old lists as consented. Phone numbers collected for delivery, with no SMS checkbox, stay out of marketing unless the national law of the customer's country lets you use the exception for your own similar products, with an objection option at the order and in every message.
  5. Review your subscribers. In Marketing → Subscribers every row shows the channels, the consent and the history of subscribing and unsubscribing. More on the list: Subscribers and segments.

SMS opt-out: how to offer it in every message

Every marketing SMS must carry a valid address where the recipient can ask you to stop (Article 13(4) of the ePrivacy Directive). The most reliable way is a personal unsubscribe link: in CloudCart this is the variable {$unsubscribe_url}, which works the same way in email, SMS and Viber. The platform does not add it for you, so you place it in the text yourself. An unsubscribed subscriber is excluded from later sends on that channel, with no manual work.

The link costs characters: in a language that needs Unicode it often turns a 2-part message into 3. The other acceptable option is an email address ("Stop: shop@yourdomain.com"), but then you unsubscribe the person by hand in Marketing → Subscribers the same day. "Reply STOP" works only if the sender is a number that can receive replies; a sender shown as a name cannot. Under the exception for your own customers, the way to object stays in every message, not only the first one.

Sender ID: what the customer sees as the sender

The sender ID is the name or number the customer sees as the sender of the SMS. An alphanumeric sender ID is a name of up to 11 characters instead of a number, and the recipient cannot reply to it. Whether operators deliver such a name depends on the country: in some it works without formalities, in others, Romania among them, operators can require the name to be registered in advance through the SMS provider and may block or replace an unregistered one. Ask your provider about each country before you launch there.

The SMS channel in CloudCart sends under the platform's contract: it installs with one click, needs no login details from you, and the sender is managed by CloudCart. With NTH Mobile the sender is "CloudCart". That is why the store name goes into the text itself, in the first words: {$shop_name}: …. The customer sees at once who is writing, and the clear-sender requirement of Article 13(4) is met. Your own sender name for Viber is a separate service ("Your own Viber channel" is marked ✗ on every plan on the pricing page) and is requested at support@cloudcart.com.

How many characters fit in an SMS: 160 in GSM-7, 70 in UCS-2

One SMS holds 160 characters in the standard GSM-7 alphabet or 70 characters in UCS-2 (Unicode). A longer message is split into parts of 153 characters in GSM-7 and 67 in UCS-2, because every part keeps a few characters for stitching the message back together. A single letter outside GSM-7 switches the whole message to the 70-character mode.

PartsGSM-7 (characters)UCS-2 (characters)
1up to 160up to 70
2161 to 30671 to 134
3307 to 459135 to 201
4460 to 612202 to 268

Which mode you get depends on the language. The GSM-7 alphabet defined in the standard 3GPP TS 23.038 covers plain English and a limited set of accented letters:

TextModeExamples
English, German, Italian, Swedish, Danish, NorwegianGSM-7, 160 charactersä, ö, ü, ß, à, è, é, ì, ò, ù, å, æ, ø, ñ are in the alphabet
French, Spanish, Portuguese with all their accentsUCS-2, 70 charactersê and â in French, á, í, ó and ú in Spanish are not in the alphabet
Polish, Czech, Hungarian, Romanian with diacriticsUCS-2, 70 charactersł, ę, ř, č, ő, ű, ă, ș, ț
Greek in lower case, Bulgarian and any CyrillicUCS-2, 70 charactersEvery letter
Emoji, in any languageUCS-2, 70 charactersOne emoji is enough

Two details catch stores out. The euro sign € and the brackets [ ] { } are in the GSM-7 extension table and count as two characters each. And in several countries stores write promotional SMS without diacritics on purpose, to stay at 160 characters; whether that reads well to your customers is a judgement for each market.

The campaign editor in CloudCart shows the character count and the number of SMS parts as you type ("Characters: N/918" and "SMS: N/6") and does not save a text over 918 characters. With variables the count is approximate: a long store name or a long link can push the message into the next part. If you want a single SMS in a Unicode language, cut everything except the store name, the benefit and the link.

When to send an SMS: time, frequency and channel order

Send SMS during the day, when the customer can buy right away, and only when email has not done the job. Article 13 of the ePrivacy Directive sets no sending hours, so the hour is first a matter of respect for the customer: a message at 22:30 brings more opt-outs than orders. National rules or operator practice can add limits, so ask your SMS provider when you enter a new country.

  • Time. Weekdays between 10:00 and 20:00 in the customer's local time. A store that sells from Lisbon to Bucharest covers a two-hour difference, so schedule per country. For a promotion that ends at 23:59, send in the afternoon at the latest.
  • Channel order. Email first, Viber or SMS only for those who did not open it. In a CloudCart automated campaign, the condition after an SMS step is "link clicked or not".
  • Frequency by data. Look at the clicks and orders from every SMS. Move people who do not click three times in a row to less frequent sends or to email only.
  • Exit on order. In the exit step of the campaign, choose "Makes an order": the customer who has ordered leaves the chain and does not get an SMS about a cart that is already paid.

8 SMS marketing examples for an online store

The eight examples cover the occasions where SMS brings orders: from signup to the sale. Every text starts with the store name, states clear conditions and has an opt-out link. The "Characters" column counts the text without the variables. With them, expect one or two GSM-7 parts, depending on the length of the store name and the links; the test send shows the exact number. In CloudCart each occasion is an automated campaign on a segment from Marketing → Segments.

#Occasion and timingTextCharactersSegment in CloudCart
1New subscriber with a phone number, at once{$shop_name}: Thanks for signing up! 10% off your first order with code HELLO10, valid 7 days. Stop: {$unsubscribe_url}89Subscriber with a phone channel, signed up from the form
2Abandoned cart, after the email{$shop_name}: Your items are still in the cart. Finish your order: {$cart_url} Stop: {$unsubscribe_url}62Cart → abandoned
3Abandoned cart, 24 hours after the first SMS{$shop_name}: 10% off your cart with code CART10, valid 48 hours. {$cart_url} Stop: {$unsubscribe_url}61The same, branch "link not clicked"
4Review request, 7 to 10 days after the order{$shop_name}: Happy with your order? Rate the product, it takes a minute: {$shop_url} Stop: {$unsubscribe_url}69Order → last order 7 days ago
5Repeat purchase of a consumable{$shop_name}: Time for a refill? Order the same again in 2 minutes: {$shop_url} Stop: {$unsubscribe_url}63Product + last order 30 days ago
6Inactive customer, 90 days with no order{$shop_name}: We have not seen you for a while. 15% off with code BACK15 until 30 Nov. {$shop_url} Stop: {$unsubscribe_url}82Last order more than 90 days ago
7Early access for regular customers{$shop_name}: Black Friday starts for you today, a day before everyone else: {$shop_url} Stop: {$unsubscribe_url}72The "High Spenders" template or an RFM group
8Last hours of a promotion{$shop_name}: Last 6 hours of 20% off everything, until 23:59 today: {$shop_url} Stop: {$unsubscribe_url}64The promotion's campaign: clicked the email, no order

The codes in examples 1, 3 and 6 are ordinary discount codes that you create in Marketing → Discounts before the campaign starts, with the percentage and validity that the text promises. How discounts work: Promotions and discounts. The whole cart chain with email, Viber and SMS is described in Abandoned carts: 9 ways to recover orders and on the Abandoned carts page.

How to write an SMS that sells

  1. One benefit and one action. "10% off until Sunday" and a link. Two offers in one short text are not read.
  2. Write in the customer's language. A German customer gets the German text, an Italian one the Italian text. Check the character mode of each language version separately.
  3. No capitals and no rows of exclamation marks. They add characters and look like spam.
  4. A test send. Send the test message to your own phone and follow the link all the way to payment. In CloudCart the test message does not count against the channel limit.

What SMS marketing costs: how the price is calculated

The price of an SMS campaign is the number of recipients, multiplied by the number of SMS parts in the message and by the price of one part. The price per part is contractual and depends on the provider, the destination country and the volume, so the calculation starts with the parts: they are in your hands.

  1. Number of parts. Recipients × parts per message. 1,000 recipients and a 200-character text in English (2 parts) are 2,000 SMS parts. The same text with Polish or Romanian diacritics is 3 parts each, 3,000 in total. Shortened to one part, it is 1,000.
  2. Price of the campaign. SMS parts × the contract price of one part.
  3. How many orders cover it. The price of the campaign divided by your profit on one order. If the SMS campaign brings fewer orders than that, the message should be shorter, the segment narrower or the channel a different one.

In CloudCart, on the pricing page as of 12.11.2026, "SMS messages" are marked ✗ on all four plans: they are not part of the monthly price. Sent parts count against the limit of the SMS channel; at 80% of the limit you get a notice in the admin, and when the limit runs out the channel stops and its card shows a button to buy credits. The price of the credits is requested at support@cloudcart.com. Web Push notifications are unlimited on every plan, so for visitors who allowed them the reminder can go out with no price per message.

DecisionEffect on SMS parts for 1,000 recipients
A text within one part (160 characters in GSM-7, 70 in UCS-2)1,000 parts instead of 2,000 or 3,000
SMS only to those who did not open the emailYou pay for a part of the segment only
Exit from the chain on orderBuyers do not receive the next SMS

SMS marketing mistakes that cost money or a fine

  • SMS to people who gave only an email. Consent is per channel. In CloudCart such an SMS is not sent at all, and under Article 13 of the ePrivacy Directive it should not be.
  • A bought or old list. Numbers without consent break the law, and dead numbers return errors and waste parts.
  • A message without the store name. The customer sees a generic sender and does not know who is writing, while the law requires the sender to be clear.
  • No way to opt out. Without a link or an address for opting out, the message is prohibited even with consent (Article 13(4)).
  • An ignored opt-out. The unsubscribed person gets one more SMS. Under Article 21(3) GDPR the number may no longer be used for marketing, and national law sets the fine.
  • One legal template for every country. The exception for existing customers is worded differently in Germany, France and Spain. Check the country of the recipient, not only the country of the store.
  • An unchecked character mode. One ł, ș or emoji in a 150-character text makes it 3 parts instead of 1.

People who come back by themselves are cheaper than any SMS. How to build repeat purchases with a loyalty program and segments: Customer loyalty program for EU online stores. All campaign channels in one place: Email, Viber and SMS marketing in CloudCart.

Frequently asked questions

SMS marketing is sending promotional text messages to the phones of customers who gave consent. For an online store the most common occasions are an abandoned cart, a short promotion, a repeat purchase and early access to a sale. The message is text only: 160 characters in the GSM alphabet or 70 in Unicode for one part.

Yes, if the customer gave prior consent (Article 13(1) of the ePrivacy Directive). Without separate consent you may write only to your own buyers and only about your own similar products, if they can object at the order and in every message (Article 13(2)), and national law decides the details. Every SMS names the store and carries a way to opt out.

One SMS holds 160 characters in the GSM-7 alphabet and 70 in UCS-2. A longer message is split into parts of 153 and 67 characters, and every part is paid. One letter outside GSM-7, such as ł, ș, ê or any Cyrillic letter, turns the whole message into the 70-character mode.

The price is recipients × SMS parts × the price of one part under the contract with the provider, and it varies by destination country. 1,000 recipients and a 2-part message are 2,000 parts. In CloudCart SMS are not part of the plan price: parts count against the channel limit and credits are bought separately; ask support@cloudcart.com for the price.

Through a link or an address for opting out, which every marketing SMS must contain (Article 13(4) of the ePrivacy Directive). In CloudCart the personal link is the variable {$unsubscribe_url}; an unsubscribed subscriber does not receive later sends. If you give an email address instead, you unsubscribe the person by hand in Marketing → Subscribers.

The SMS channel in CloudCart sends under the platform's contract and the sender is managed by CloudCart; with NTH Mobile it is "CloudCart". So start every text with {$shop_name}: and the customer recognises the store. In general, a sender name is limited to 11 characters and in some countries must be registered with the operators first.

Email carries images, products and long text and is part of the plan, so it is the first step. SMS reaches any phone within minutes but is paid per part and holds 160 characters. The cheapest chain is email first and SMS only for the people who did not open or click.

The ePrivacy Directive sets no hours, so respect for the customer decides. Send on weekdays between 10:00 and 20:00 in the customer's local time, when they can buy right away. Remind people of a promotion that ends at midnight in the afternoon at the latest.

Sources

  1. Directive 2002/58/EC (the ePrivacy Directive)eur-lex.europa.eu
  2. Regulation (EU) 2016/679 (GDPR)eur-lex.europa.eu
  3. Section 7 UWGwww.gesetze-im-internet.de
  4. Article L34-5www.legifrance.gouv.fr
  5. CNILwww.cnil.fr
  6. Article 21 LSSIwww.boe.es
  7. Article 12 of Law 506/2004www.dataprotection.ro
  8. regulation 22 of the Privacy and Electronic Communications Regulationswww.legislation.gov.uk
The CloudCart teamChecked against the platform documentation. Questions: support@cloudcart.com

Build your online store

The first 3 months on every plan are €1/month. Questions: support@cloudcart.com

Create a store for €1