About Personalization
Personalization lets you customize messages with user-specific data, ensuring timely and relevant content for each audience member.
How personalization works
Airship’s personalization features are implemented using the Handlebars templating language. Handlebars expressions consist of some content representing the value(s) you want to personalize, surrounded by double curly braces, e.g., {{firstname}}
.
In the previous example, the firstname
variable is a simple substitution, most likely using the firstname
Airship attribute for the user. For more complex expressions that use logic operations such as AND, OR, NOT, greater than/less than, loops, math, and many more advanced handlebars syntaxes, see our Airship Handlebars Reference.
To personalize content in Airship, use HandlebarsHandlebars is Airship’s templating language for personalization. Handlebars expressions use double curly braces wrapped around a content template, ranging from a simple variable, e.g., {{first_name}}
to complex evaluations of personalization data. syntax to create Merge FieldsA variable in your message or template that you want to populate with a personalized value for each member of the audience. Merge fields use Handlebars syntax — {{merge_field}}
. that are populated with data at send time. Common uses of personalization:
- Flight info — “Your departure gate for flight
{{flight_number}}
has changed to{{gate_code}}
.” - Retail purchase updates — "
{{first_name}}
, we received your order{{order_number}}
and will send tracking information when it has shipped." - Membership rewards program updates — “You reached
{{program_level}}
status and have been awarded{{points}}
bonus points!”
Preview personalization in the dashboard, using our Preview Data feature.

Data sources
The data you use to personalize a message may be personal in nature (first name, birth date, city) or based on user behavior (purchase history, pageviews, app opens).
Personalization data in Airship may come from any of these sources:
- AttributesMetadata that you can use for audience segmentation. Attributes differ from tags in that when evaluating users with attributes, Airship uses operators, e.g., equals, less than/greater than, contains, before/after, to determine whether or not to target a user. Supported attribute types are TEXT, NUMBER, and DATE.
- Custom EventEvents that indicate that a user performed a predefined action, such as adding an item to a shopping cart, viewing a screen, or clicking an Unsubscribe button. Custom events can trigger automation, journeys, scenes, and surveys. You can code them into your app or website, or send them to Airship from an external source using the custom event API. Custom events contain
properties
that you can use to personalize messages. properties - Inline ListAn ad-hoc, CSV-formatted list of email, SMS, or open channel addresses that you want to register and/or send a message to. Unlike static lists or segments, you upload this list when creating your message; Airship registers new addresses in the list as channels when you send your message. values (In the API, this is defined in a
/create-and-send
payload) — for SMS, email, and open channels only - External Data FeedsA connection to an external API. When you send a message, Airship uses a response from that API to personalize messages.
Evaluation order
You can use multiple data sources to personalize a single piece of content, which means it is possible for you to have two merge fields with the same name in the same expression, e.g., an attribute {{points}}
and an inline list value for {{points}}
.
If two fields share the same name, Airship attempts to use the value that is most relevant to your audience. This order isn’t guaranteed, but, in general, Airship attempts to use the following order:
- Custom event properties
- Inline list values
- Attributes
- External data feeds
You are advised to make sure your fields have unique names to prevent unintended personalization results.
What you can personalize
When creating a message, you can personalize:
- Viewable message elements:
- All message types — Message text/body
- Message Center — Title and Preview lines
- In-App Automation — Header, body, and footer, and button labels
- Email — Title and Subject
- SMS — Summary
- Open channels — Title
- ActionsA configurable behavior that occurs when a user interacts with your message, e.g., opening a web page. — Take advantage of information specific to your audience to personalize your audience’s experience when they interact with your message.
- Media URLs
You can also personalize reusable content:
- TemplatesReusable message content that saves you the trouble of having to rewrite a message. Templates support merge fields and other logic, letting you personalize the resulting messages.
- SnippetsA reusable piece of content that you can define in Airship for later use in your messages and templates. Snippets support text or HTML content and can be used for commonly used elements such as a copyright, header image, or custom CSS.
Start personalizing messages
First learn personalization formatting:
- Learn handlebars syntax
- Learn how to personalize using each data source:
- Learn how to personalize message actions and media URLs
Then you can add personalization to your messages, templates, and snippets.
Categories