SMS campaigns
This guide shows you how to set up and send personalized SMS messages to your customers. You'll learn about phone number requirements, message limits, consent rules, and how to add links to your texts.
Bloomreach Engagement lets you create personalized SMS campaigns that speak directly to each customer.
Watch this introductory video on the SMS campaigns.
What you need before you start
Get your phone numbers ready
To send SMS messages, you need phone
as a customer attribute. Phone numbers must use one of these MSISDN formats:
- +441234556789 (with + and country code)
- 441234556789 (with country code, no +)
If your phone numbers use a different format (like 00441234556789), you can fix them using Jinja templates.
Set up phone as a soft ID
We recommend transforming the phone
attribute to a phone soft_id
. This prevents creating duplicate profiles for the same customer.
Set up phone
attribute as a soft_id
in 2 ways:
- Through import: Export your current phone numbers, clean up invalid ones (remove special characters, text, or "0000"), format them correctly, then re-import with
phone_id
as asoft_id
. - Through scenario: Create a scenario that converts all historical
phone
customer attributes tosoft_id
. Contact a Technical Consultant if you need help.
Remember to set the soft_id
whenever you collect new phone numbers.
US numbers
Contact your Customer Success Manager before sending SMS to US numbers.
Choose your SMS provider
We provide multiple SMS provider integrations:
You can use one or multiple providers within one project. Contact your CSM to find the best provider for you or if you need a different provider.
Build your SMS campaigns
Create SMS campaigns in 2 ways:
Send messages only to people who:
- Have active consent.
- Haven't unsubscribed.
Set up sender profiles
Sender profiles help you manage your sender numbers and integrations for SMS campaigns. You need sender profiles to create SMS campaigns. You can add them in project settings or in the campaign itself. Once you set up your sender profiles, you can select the right one for your campaign without typing in the details every time.
Each sender profile needs:
- Display name: Your custom name for this sender profile.
- Sender: Long code, short code, or alpha sender (3-15 numbers, up to 11 characters for text). Your customers will see this as the sender of the message. You can use Jinja in this field.
- SMS integration: Your SMS provider for your sender profile. You can manage providers in the Integrations section of the app.

Key details:
- Create sender profiles in Project settings or directly in campaigns.
- Store up to 100 sender profiles per project.
- Need the Campaign Editor role to access the Project settings for SMS campaigns.
- Each SMS campaign and translation in your campaign can use a different sender profile. This works the same way as for other channels.
Create sender profiles
You can fully manage sender profiles in Project settings (create, edit, remove). In campaigns, you can only add new sender profiles.
Sender profiles in Project settings
Create sender profiles in Project settings to make them available across all campaigns:
-
Go to Project settings > Campaigns > Channels > SMS / MMS / RCS.
-
Under Sender profiles, click + Add sender profile.
-
Fill in, edit, or remove the sender profile details above.
Sender profiles in campaigns
To add a sender profile while working on a campaign, open your SMS campaign or scenario node:
- Open the node.
- Find the Sender field.
- Click the + button within the Sender field.
- Fill in the sender profile details above.
Once you create the sender profiles, they're available when making SMS campaigns.
Set a default SMS sender profile
Choose your default SMS sender to be preselected in any new SMS campaign or SMS node you create:
- Go to Settings > Project settings > Channels > SMS / RCS.
- Select your default sender profile.
Note
Changing the default sender setting won't impact campaigns you've already launched, but it might affect SMS sent via the Transactional SMS API.
Understand local senders
Local senders are sender profiles that only exist in one specific campaign. They're different from centrally managed sender profiles and show up in your sender dropdown with a "local" label.
When local senders happen
- Removed profiles: When a predefined sender profile used in an existing campaign gets removed from Project settings.
- Legacy campaigns: Older campaigns created before the new sender profiles were available.
How local senders work
Here's how local senders work:
- Local senders keep working in existing campaigns to maintain backward compatibility.
- When you create new campaigns, you can't create local senders. You must use predefined sender profiles.
- If you see a local sender you want to use across multiple campaigns, add it to your predefined sender profiles in project settings.
- Local senders help maintain audit trails and make sure existing campaigns keep working even if global settings change.
Important
For new campaigns, always use predefined sender profiles instead of local ones. This makes it easier to manage your project consistently.
Create your message content
Brand name
Let customers know who's messaging them right away. Including your brand name in all SMS messages helps build trust, increase brand recognition, and stay compliant.
To start each message with your brand or company name, set the brand name in Project settings > Channels > SMS / MMS / RCS.

Once you set it up, each new SMS action node starts with your brand name.

US requirement
CTIA and carrier rules require including your brand name in each SMS marketing message sent in the US.
Write your message
Add your message content in the body field. You can use special characters, emojis, and personalization.
Add multiple language versions
Set different language versions of one SMS campaign while you design and edit the SMS action node.

Understand SMS message limits
Basic SMS limits:
- 160 characters for standard text
- 70 characters if you use special characters or emojis
Bloomreach Engagement can send multiple messages, so your text gets sent in more than one SMS if needed.
The message editor highlights parts that affect final length and maximum characters. If your message is too long, it explains why it won't send in the upper right corner.
For multiple messages:
- Set the maximum message parts (2 to 8 parts).
- If a message doesn't send due to limits, we track a
campaign
event with statusenqueue_failed
for the individual customers. - Consider resending the campaign to the rest of the target segment if budget allows. You can also use different templates or less personalization without Unicode characters for these customers.

Pricing
Your provider charges for each SMS separately, but customers see the message as one piece
How emojis affect message size
Emojis create emotional and visual interest in texts, making them more engaging. They also break up long messages and make them easier to read.
Add emojis
- Open the emoji picker in the bottom-right corner of the message field.
- Find your emoji by scrolling, selecting a category, or typing the emoji name.
- Select the emoji, and it will appear in the message field.
- See how it looks in the live preview on the right side. Emojis display differently on different devices and platforms. Learn more at Emojipedia.
How emojis impact character count
Standard SMS uses 160 characters with basic text (GSM-7). Emojis fall outside this basic set, which changes the single SMS limit to 70 characters.
If you use more than one segment, it will decrease the length of each of your segments. For messages with emojis, it will be decreased by 3 characters. See the details in the table below:
Message type | Characters per SMS segment |
---|---|
One-part SMS | Up to 70 characters |
Multi-part SMS | Up to 67 characters |
Special characters and personalization
Different characters are counted in different ways. Be careful when writing messages because they affect how many messages you need to send.
- Jinja personalization: Message size varies based on customer's name (Tim vs. Jacob has a 2-character difference).
- Unicode characters: Force the message to be Unicode, making the whole message take twice as much space.
- Extended characters: Count as two characters.

Personalized messages
Personalization with extra characters can exceed character limits and send more messages than intended. Personalization gets added after the message is finalized, so extra characters from personalization don't count in the character count you see when sending.
If personalization includes special characters, the character limit drops to 70, but the visible character limit won't show this reduction beforehand.
TCPA laws
To use SMS marketing in the US, you must follow the Telephone Consumer Protection Act (TCPA). This federal law regulates telemarketing calls, auto-dialed calls, prerecorded calls, text messages, and unsolicited faxes.
Under the TCPA, businesses in the US must meet the following SMS compliance requirements:
- Get written, explicit opt-in from subscribers for SMS marketing, separate from email marketing.
- Clearly inform potential subscribers about message types they'll receive and provide a clear opt-out method.
- Respect opt-out requests.
- Avoid sending texts during "quiet hours" set by federal and state regulations. Use Silent hours to comply.
Learn more about TCPA laws and SMS best practices.
Campaign events
SMS campaigns generate campaign
events with action_type = sms
for all customers in the campaign audience. They cover actions from the SMS being sent from Bloomreach Engagement to customers receiving the SMS. The full structure of the campaign events can be found in the System events article.
You can map events to different event names in Project settings > Campaigns > Mapping > Campaign events.
Permissioned access to campaign event settings
Campaign settings now have permission access. Any change to mapping can be executed only after a discussion with Account Managers.
Add links to SMS messages
Transfer identity
If you want Bloomreach Engagement to identify customers when you send personalized links via SMS, use the Transfer identity to URL links setting. However, automatic transfer identity only works if the Link shortener is enabled.

The default setting ‘enable - only first click’ means only the first click on your URL link identifies the customer on your website. If your customer shares this link with friends, the original customer's properties won't be affected. For each scenario run, we create a unique token per individual email.
Use the default setting for:
- Security purposes
- Preventing customer data corruption
Other options:
- Disable all identity transfers: Clicking the link won't identify customers on your website.
- Enable all clicks: Every time someone opens this link on a different device, customers get merged.
Manual identity parameter: If you don't use a link shortener, manually add the identity parameter via Jinja. For example, to build a URL with transfer identity that links to https://bloomreach.com/>
, add this Jinja to your link:
https://bloomreach.com/{{'?iitt=' ~ iitt}}
Campaign link shortener
Hyperlinks drive traffic to landing pages from different channels. However, SMS character limits mean personalized links are often too long and unappealing in SMS messages.
Link shortener automatically replaces all hyperlinks in SMS campaign text with shortened versions. Every click on the shortened link gets tracked as a campaign
event with status clicked
. Learn more about the Campaign Link Shortener feature.
Related articles
Updated 7 days ago