Personalize your SMS with contact attributes and automation data to send tailored messages to your subscribers and customers. Include unique details for each contact, such as their first name or order total, and send a single SMS to multiple recipients while making the message feel personal.
How does SMS personalization work?
SMS personalization works by adding variables to your SMS content. When the SMS is sent, these variables are automatically replaced with information relevant to each recipient.
SMS sent from Brevo | SMS received by John who made a $49.99 purchase |
You can include different types of variables in your SMS messages:
-
👤 Contact attribute variables
Personalize messages with contact details, such as first and last names. -
⚡ Automation data variables
Personalize messages with data from the event that triggered an automation, such as an order total. -
🛢️ Data feed variables
Personalize messages with API or external data, such as lists of products or items.
Good to know
- If you are using a Brevo plugin to send SMS messages directly from your website (rather than through Brevo's interface), the process may differ from the one described here. To learn more, check your plugin-specific documentation.
- When using personalization in SMS messages, since variables are replaced with actual values at the time of sending, the final character count may vary from the one displayed in the SMS editor. For example, "Hi, FIRSTNAME." might be estimated as 33 characters, but it becomes 10 characters with "Hi, Paul." and 15 characters with "Hi, Alexander.".
- You can insert personalization variables:
- Using the { } Add Variable menu, or
- [Advanced] Manually, using double curly brackets.
👤 Personalize an SMS message with contact attributes
Use the contact attributes stored in your Brevo account to personalize your SMS messages. You can include details like your recipients' first and last names, birthdays, and more—any information saved in their contact attributes.
In what type of SMS messages can I use contact attribute variables?
Contact attribute variables can be used in:
- SMS campaigns sent from the Campaigns page
- Promotional SMS and transactional SMS sent from an automation created in the new editor.
About contact attribute variables formatting
Contact attribute variables are formatted using double curly brackets like this:
{{contact.ATTRIBUTE_NAME}}
The ATTRIBUTE_NAME part needs to be replaced with the exact name of your contact attribute, matching the spelling and case as it appears on the Contact Attributes page.
For example, if the contact attribute for the first name of your contacts is FIRSTNAME, the {{contact.FIRSTNAME}} placeholder is inserted into your SMS content.
Insert a contact attribute variable in an SMS message
In this use case, we want to display our recipient's first name. To insert contact attributes in your SMS messages:
- Create an SMS campaign or an automation that contains the Send an SMS step.
- In the Message or Content field, enter your SMS content and place your cursor where you want to insert your contact attribute.
- From there, choose how you want to insert your contact attribute variable:
- Click the two curly brackets icon { } and select Contact variables from the list.
- Search through the list of contact attributes and click on the one you want to include in your SMS campaign. In our example, we will choose FIRSTNAME.
When the contact attribute is correctly inserted, an orange placeholder with its name will appear.
- Copy the following placeholder and insert it into your SMS content:
{{contact.ATTRIBUTE_NAME}}
.
We recommend adding the last two curly brackets only after replacing the values. -
Replace ATTRIBUTE_NAME with the exact name of your contact attribute, matching the spelling and case as it appears on the Contact Attributes page. In our example, it will be
{{contact.FIRSTNAME}}
. When the contact attribute is correctly inserted, an orange placeholder with its name will appear.
- (Optional) Apply filters to use a default value if the contact attribute is empty, or apply uppercase to your text, for example. To learn more, check our dedicated article Modify the formatting of your placeholders with filters.
- Finish the content of your SMS campaign and click Save.
You have personalized your SMS with a contact attribute. When the SMS is sent, the variable will automatically be replaced with information relevant to each recipient.
SMS sent from Brevo | SMS received by a recipient named John |
⚡ Personalize an SMS message with automation data
Only transactional SMS messages sent through an automation created in the new editor can be personalized with automation data. Ensure that the Brevo tracker is installed on your website to receive the events that trigger the automation.
Use automation data to personalize your transactional SMS messages. This data is gathered from the event that triggered the automation. For example, if your automation is triggered by an Order completed event (when a contact completes a purchase), you can include details like the recipient's order total in the SMS.
Here's an example of how it'd work for an automation that sends a transactional SMS when a contact completes a purchase:
- A contact completes a purchase on your website.
- The Order created event and its associated data, such as the order total, are sent to Brevo.
- The automation is triggered by the event and the contact enters it.
- The contact progresses through the steps of your automation. When they reach the Send an SMS step, the variables in the SMS are replaced with data from the Order created event, and the SMS is sent to the contact.
-
The contact receives the personalized SMS.
In what type of SMS messages can I use automation data variables?
Automation data variables can only be used in transactional SMS messages sent through an automation created in the new editor.
About automation data variables formatting
Automation data variables are formatted using double curly brackets like this:
{{params.parameterNAME}}
There are two types of automation data variables you can use to personalize your transactional SMS messages:
-
Default automation data variables
These variables are available by default once the Brevo tracker is installed on your website and allow you to include basic cart information from eCommerce events in your SMS messages. -
[Advanced] Custom automation data variables
These variables can be used with custom events and allow you to include more advanced data from your own custom events in your SMS messages.
Use the tabs below to view more information about the default and custom automation data variables ⬇️.
Once the Brevo tracker is installed on your website, you can personalize transactional SMS messages using data from our default eCommerce events: Cart updated, Cart deleted, and Order created. When one of these events triggers an automation, the relevant data will be sent to Brevo, and the variables in your SMS will be replaced with the personalized data from that event.
You'll find the list of default automation data variables you can use to include basic cart information in your SMS messages in the table below ⬇️.
Cart data | Corresponding variable |
---|---|
URL to view cart | {{params.url}} |
Subtotal | {{params.subtotal}} |
Subtotal, including tax, including discounts, excluding shipping | {{params.subtotal_taxinc}} |
Discount | {{params.discount}} |
Discount, including tax | {{params.discount_taxinc}} |
Shipping | {{params.shipping}} |
Shipping, including tax | {{params.shipping_taxinc}} |
Total before tax | {{params.total_before_tax}} |
Tax | {{params.tax}} |
Total | {{params.total}} |
Currency | {{params.currency}} |
Date | {{params.date}} |
Affiliation | {{params.affiliation}} |
If you're using custom events, you can also personalize your transactional SMS messages with data from those events. In this case, replace parameterNAME in the variable {{params.parameterNAME}} with the exact name of your event parameter, matching the spelling and case as passed via the API or as it appears in your event logs.
Below is an explanation of how to retrieve your parameterNAME from the API or from your event logs ⬇️.
Only the first hierarchy level under data can be processed for transactional SMS messages.
At the first level of the hierarchy, we have data. For all the elements within data, the variable format will be: {{params.parameterNAME}} Where:
For example, to include the order ID in your SMS, you would use the variable: {{params.id}} |
In your event logs, event and parameter names will be displayed like this:
Insert an automation data variable in an SMS message
In this use case, we want to send an order confirmation SMS containing the total amount of our recipient's order:
- Using the new editor, create an automation that contains the Send an SMS step.
- In the Content field, enter your SMS content and place your cursor where you want to insert your automation data variable.
- Click the two curly brackets icon { } and select Automation data from the list.
- From there, choose how you want to insert your automation data variable:
- Click the two curly brackets icon { } and select Automation data from the list.
- Select the type of event and event you want to use to personalize your SMS message. In this example, we will select Custom events > order_created.
- Select the object containing the data you want to display. In our example, we want to display the total amount of our recipient's order and its currency. We will first select currency and then repeat the steps above to select the total. When the automation data is correctly inserted, an orange placeholder with its name will appear.
- Copy the following placeholder and insert it into your SMS content:
{{params.parameterNAME}}
.
We recommend adding the last two curly brackets only after replacing the values. - Replace parameterNAME with the exact name of your event parameter, matching the spelling and case as passed via the API or as it appears in your event logs. In our example,
{{params.currency}}
and{{params.total}}
.
When the automation data is correctly inserted, an orange placeholder with its name will appear.
💡 Good to knowTo view the list of available default automation data variables, check the Default automation data variables tab above. - (Optional) Apply filters to use a default value if the contact attribute is empty, or apply uppercase to your text, for example. To learn more, check our dedicated article Modify the formatting of your placeholders with filters.
- Finish the content of your SMS campaign and click Save.
You have personalized your SMS message with automation data. When the SMS is sent, the variable will automatically be replaced with information relevant to each recipient.
SMS sent from Brevo | SMS received by John who made a $49.99 purchase |
⏩ What's next?
- Send an SMS campaign
- Is there a limit on the number of characters used in an SMS message?
- Include an unsubscribe option in your SMS messages
🤔 Have a question?
If you have a question, feel free to contact our support team by creating a ticket from your account. If you don't have an account yet, you can contact us here.
If you’re looking for help with a project using Brevo, we can match you with the right certified Brevo expert partner.