Skip to content

SMS Campaigns

Text your customers directly: write a message, pick who gets it, and send it now or schedule it for later. Texts are paid for in SMS credits, and every message carries an opt-out link that is added for you.

Where to find it: Admin → Marketing → SMS (/admin/marketing/sms)

The page has two tabs of its own: Send (your audience, your credit balance and the composer) and History (everything you have sent or scheduled). Anyone who can send email campaigns can send texts, so all three staff roles (Admin, Shop Manager and Marketing) have access. Buying credits is not something you do in the admin area, see Buy more SMS credits.

Check your audience and credit balance

The Send tab opens with four figures:

  • SMS audience: how many customers your next campaign can reach.
  • Credit balance: how many credits you have left to spend.
  • Campaigns sent: how many text campaigns exist on your site. It counts every campaign in your history, so scheduled and cancelled ones are included too.
  • Delivered: how many texts have been confirmed delivered to a handset across all campaigns.

Underneath, a line tells you the name your texts arrive from: "Messages will show as being from YourBrand".

Who counts as your SMS audience

A customer is in the SMS audience only if all four of these are true:

  1. They have opted in to SMS (a separate opt-in from email marketing, see below).
  2. They have a mobile number on file.
  3. Their email address is verified.
  4. They are not self-excluded (see Responsible Play).

Opting in to your emails does not opt someone in to texts, and vice versa. Someone can be on your email list for years and never appear in the SMS audience.

The audience count only checks that a number exists, not that it is a working UK mobile. If a customer has a landline or a mistyped number, they are counted but the message is skipped when the campaign runs, and the credit for them is returned. That is why the delivered figure can be slightly lower than the recipient count.

Where customers opt in to texts

  • Registration: "I'd like to receive SMS updates. You can unsubscribe anytime."
  • Checkout: an SMS tick box alongside Email under marketing preferences.
  • Their account: Account → Preferences, where they can subscribe or unsubscribe at any time.
  • You, on a manual order: tick the SMS box under Marketing preferences when you create an order. Only tick it if the customer actually agreed.
  • You, on their profile: the SMS Marketing consent box when editing a customer in User Management.

All of these opt-in points disappear if SMS marketing is switched off in Settings.

Send a text campaign

  1. On the Send tab, click Create Text Campaign. The Send Text Campaign panel slides in from the right.
  2. Leave Send Mode on Send Now. (Choose Schedule for Later to send it at a set time, see Schedule a campaign for later.)
  3. Optionally enter a Campaign Name, for example "Weekend reminder". It is only used to identify the campaign in your history and never appears in the text itself.
  4. Type your Message. Keep it short and put the important part first: most phones show only the first line or two in the notification.
  5. Watch the two counters under the box. The left one reads something like "148 characters · GSM-7 · 1 part", the right one tells you how many characters are "left in this part". Both already include the opt-out link that gets added to every message, so what you see is what you will be charged for. If a yellow This message will be sent as Unicode warning appears, read Keep your message to one part before sending, because it roughly doubles the cost.
  6. Choose a Target Audience (Optional). Leave it on All SMS subscribers, or pick a saved audience segment to text a smaller group. Segments are the same ones you use for email, built on the Audience Segments tab, and they are worked out fresh at the moment you send. This applies whether or not you use Klaviyo: Klaviyo runs your email, but your texts are still sent from here, so the segment picker works the same on every site.
  7. Check the blue cost box. It reads, for example, "1 part × 2,431 recipients = 2,431 credits", with your Balance underneath. If the box turns red and says "Not enough credits to send this campaign", top up or pick a smaller segment. The send button stays disabled until it fits.
  8. Click Send Test, enter your own mobile number, and check the message on a real phone. See Send a test text to yourself.
  9. Click Send to N recipients.

What happens next. There is no second confirmation step: the campaign starts going out the moment you click. A blue Sending text campaign... banner appears at the top of the Send tab with a progress bar and a running "N of M sent" count. You can leave the page and come back, the banner picks the campaign back up. When it finishes you get a "Text campaign sent to N recipients" message, and the campaign appears in History as Sent.

A campaign that has started cannot be stopped. Only scheduled campaigns can be cancelled. Read the message twice before you click.

Send a test text to yourself

  1. With your message typed, click Send Test in the panel footer. (It stays disabled until the message box has something in it.)
  2. Enter a UK mobile number, for example 07700 900123 or +447700900123. UK mobile numbers only, and the button stays disabled until the number looks right.
  3. Click Send Test. You will see "Test text sent to 07700900123".

The test is the real message, opt-out link and all, so it is the best way to see exactly how it lands on a phone. Two things to know:

  • A test costs credits, one per part, exactly like a real recipient. If the message could not be sent at all, the credits go back.
  • The opt-out link in a test is a throwaway one. Tapping it just shows an "Invalid Link" page, it does not unsubscribe you or anyone else.

Schedule a campaign for later

  1. Click Create Text Campaign and switch Send Mode to Schedule for Later. The panel title changes to Schedule Text Campaign.
  2. Fill in the message, audience and everything else exactly as for an immediate send.
  3. Set a Scheduled Send Time. It must be at least 5 minutes from now, and the button stays disabled until it is.
  4. Click Schedule campaign.

What happens next. You get a confirmation with the send time, the recipient count and the credit cost, and the panel closes onto the History tab, where the campaign sits as Scheduled with its fire time in the Date column.

The credits are set aside as soon as you schedule. Your balance drops immediately, so a scheduled campaign cannot be undercut by a later send. Cancel it and the whole amount comes back.

Just before a scheduled campaign fires, your site recounts the audience, because people opt in and out in the meantime:

  • If the audience has shrunk, the campaign goes out and the surplus credits are returned when it finishes.
  • If the audience has grown, the extra credits are taken then. If you do not have enough, nothing is sent at all and the whole reservation is returned. The campaign shows as Failed with the reason. A partial send would leave you with no way of knowing who missed out, so it is deliberately all or nothing. If you schedule a campaign days ahead, check your balance has headroom.

Cancel a scheduled campaign

  1. Go to the History tab.
  2. Find the row with the Scheduled status and click the cross (Cancel campaign) on the right.
  3. The confirmation restates the campaign name, the message, and the scheduled time, and tells you it releases the reserved credits. Click Yes, cancel campaign, or Keep scheduled to back out.

The campaign stays in your history as Cancelled and the full reservation goes back to your balance. Cancelling is only offered on Scheduled rows: once a campaign is Sending it cannot be stopped.

Review your campaign history

The History tab lists every text campaign, newest first, 20 to a page:

  • Campaign: the name you gave it (or "Text campaign"), with the message underneath.
  • Status: Scheduled, Sending, Sent, Cancelled or Failed.
  • Recipients: how many people the campaign went to. Scheduled rows show the target instead ("All SMS subscribers" or the segment name), because the final count is not fixed until it fires.
  • Delivery: how many were delivered, with a red "/ N failed" if any were not.
  • Credits: what the campaign actually cost. For a scheduled campaign this is the amount currently reserved.
  • Date: when a sent campaign went out, or when a scheduled one will fire.

Sent and delivered are different numbers. "Sent" means the message was accepted for delivery. "Delivered" means the phone network confirmed it reached a handset, which can take a few minutes and never happens for a switched-off or dead number. Expect delivered to trail sent slightly, and to keep creeping up for a while after a campaign finishes.

Buy more SMS credits

Credits are bought from the platform owner directly. There is no self-serve purchase in your admin area, and no admin role can top up a balance.

  1. Contact the platform owner and tell them how many credits you want.
  2. Once the purchase is applied, refresh the SMS page. The Credit balance card shows the new total straight away.

Work out roughly what you need before asking: one credit sends one message part to one person. A single-part message to 2,000 people costs 2,000 credits. The same message with an emoji in it can cost 4,000.

When your balance drops below 500, a yellow Low SMS credit balance banner appears at the top of the Send tab, telling you roughly how many more full-audience texts you can afford. Top up before your next campaign rather than after, because a campaign you cannot pay for simply will not send.

Keep your message to one part

Cost is worked out per part, so the difference between a message that fits in one part and one that spills into two is the whole cost of the campaign again.

  • Plain text fits 160 characters in one part. Once a message needs more than one part, each part holds 153 characters (the phone uses some of the space to stitch the parts back together).
  • One unusual character switches the whole message to Unicode, where a part is only 70 characters (67 per part once split). It does not matter that the rest of the message is plain: a single emoji, or one curly apostrophe pasted from a word processor, applies to everything.
  • The characters that catch people out are emoji, curly quotes and apostrophes ( and “ ”), the backtick, and a lowercase ç. When you use one, the yellow This message will be sent as Unicode warning names exactly which characters are to blame, so you can swap them out.
  • A few characters cost two rather than one even in plain text: ^ { } [ ] ~ | \ and .
  • The opt-out link counts, and it is around 60 characters. That is already built into the live counter, so trust the counter rather than counting your own typing.

Practical upshot: a plain-text message of roughly 100 characters of your own words stays comfortably in one part. If the counter says 2 parts and you cannot see why, look for a smart apostrophe.

Messages are capped at 3 parts and 1,300 characters of your own text. Beyond that your site refuses the send rather than quietly tripling the bill.

What your customers see

The sender name. Texts arrive from a short brand name of up to 11 characters (registered for your site in advance), not from a phone number. It is shown on the Send tab so you always know what customers will see. Changing it means having a new one approved, so it is not something you can edit yourself.

They cannot reply. A brand name cannot receive messages, so replies and "text STOP" go nowhere. That is exactly why every message carries an opt-out link instead.

The opt-out link. Every text ends with an opt-out line, for example "Opt out: https://yoursite.com/sms-stop/...". You cannot remove it and you do not need to add it, it is appended automatically to every message including tests. The composer shows you the exact wording underneath the message box.

When a customer taps the link:

  • They land on a page saying "You've been opted out of text messages". No login needed, which matters because the link may be tapped months later.
  • Their SMS consent is switched off immediately, so they drop out of your audience for the next campaign.
  • Their emails are not affected, including order confirmations and anything else about a purchase they made.
  • Tapping it a second time says "Already opted out" rather than throwing an error, so an old text in someone's message history never sends them to a broken page.
  • They can opt back in at any time from Account → Preferences.

Troubleshooting

"Text your customers", with no composer. Sending texts is an add-on, and your site does not have it switched on yet: it needs messaging details and a sender name registered against your site, which only the platform owner can do. The page still shows how many people have opted in to texts, because that is collected whether or not you can send, so your audience builds in the background. Contact the platform owner to have sending set up and to buy credits.

"SMS marketing is switched off", and Create Text Campaign is greyed out. The button carries the note "Disabled until SMS marketing is switched on". Go to Admin → Settings → General → SMS Marketing and tick Offer SMS marketing opt-in to customers (full details). Note that this one toggle does two jobs: it hides the opt-in boxes from registration, checkout and account preferences, and it blocks sending. Existing opt-in records are never deleted, so switching it back on restores everyone's previous choice.

"Nobody has opted in to texts yet". Your SMS audience is zero. The Create Text Campaign button still opens, but the send is refused with "Nobody matches this audience, so there is nobody to text." Give the opt-in time to build after switching SMS marketing on: it is collected at registration, at checkout, and in customers' account preferences, so your audience grows as people come through those journeys.

A segment's two counts do not match. Expected, and neither is wrong. The Audience Segments tab shows both: Email contacts is how many people are set up to receive marketing emails, and SMS contacts is how many have separately opted in to texts and have a mobile number on file. The same rule can easily reach a hundred people by text and a handful by email, or the other way round, because the two opt-ins are unrelated. The SMS composer always quotes the texting figure, and that is what you are charged for.

"Not enough credits to send this campaign". The cost box turns red and the send button is disabled. Either top up (Buy more SMS credits) or target a smaller segment. Remember scheduled campaigns are already holding some of your balance.

The cost suddenly doubled. Look for the yellow Unicode warning above the audience picker. One emoji or curly apostrophe halves how much text fits in a part. See Keep your message to one part.

"That message splits into too many parts" or "That message is too long to send as a text". You are over the 3-part cap or the character limit. Shorten the message, or remove the special characters forcing Unicode, and try again.

Send Test is greyed out. Type something in the Message box first. Inside the test window, the Send Test button also stays disabled until the number is a valid UK mobile (07700 900123 or +447700900123).

The scheduled campaign I set up shows as Failed. The most likely cause is that your audience grew between scheduling and sending and there were not enough credits to cover everyone. Nothing was sent and all the reserved credits were returned. Top up and schedule it again.

"This campaign is taking longer than expected. Refresh the page to check where it got to." The live progress banner stopped updating, not the campaign. The campaign carries on in the background. Refresh the page and the banner reattaches to it, or check the History tab.

Delivered is lower than Recipients. Some of it is normal: switched-off phones, dead numbers, and numbers on file that are not really UK mobiles (those are skipped and their credits returned). Delivery confirmations also arrive over several minutes, so check back before drawing conclusions. Credits are not returned for a message that was accepted by the network and then failed to arrive.

A customer says they still get texts after opting out. Check their profile in User Management: the SMS Marketing row should show as inactive. If it does, they cannot be in a future campaign, but a campaign that was already sending when they opted out will have finished. If it still shows active, they may have tapped the link in a test message, which does not opt anyone out. Untick the consent box on their profile yourself to be certain.

I want a list of my SMS subscribers. Use the SMS Marketing Export preset on the Users export panel, which selects the name and phone fields and filters to people with SMS consent and a valid phone number.