Dynamic Content
Add a personal touch to your messages with user-centric Dynamic Content
Dive deeper into content personalization with Liquid Templates!
Our motto is "Your Apps Can Talk", and now the conversation is taken to a whole new level. Not only you know that John D. is playing your game, or shopping on your website, but you can properly greet him, while inviting him to drop by or revisit the app. Naturally, when you meet someone who is eager to talk to you after it’s been a while, you want them to call you by the name, not just offer an awkward handshake. When you walk into a local store that you visit daily, or hang out in a pub (today is Friday, after all), it is always welcoming to be greeted in a personal manner. Yes, that’s exactly how some of those bartenders get such great tips!
The primary goal of bulk push notification campaigns is to bring your mobile app users back to your application by communicating with them the right way. We believe that the right way is to be as friendly and personal as possible, that’s why we developed the Dynamic Content feature.

What's that?

This functionality allows you to personalize your push messages by modifying the message content with corresponding Tag values that you collect from your users. You can address your user by name, and use any of his or her preferences in the message to make it relevant for every single user, how cool is that?

Use case

Picture this: the application provides coupons for best restaurants in town every Friday.
In order to draw user's attention and bring them back to the app, you may send a basic push message that says "There are some coupons for you in the app, open it now!". However, such a message doesn't convey any specific information for a user, thus it's unlikely this push will be opened by everyone who receives it. In order to significantly increase the push open rate, notifications should be sent to the right audience with the right message. So, in order to send most relevant messages to users, the app collects the following information from users by calling setTags :
    Name (sends Alias tag value to Pushwoosh)
    Favorite Restaurant (sends Restaurant tag value)

How to personalize the push

With this info about users you can personalize push messages by using Dynamic Content. To add the Dynamic Content to your message text, press the Personalization button on the top right of the input field.
You can personalize not only the text of the message but other push content as well. Particularly, personalizing of titles, subtitles, headers, icons, and root params are available from the platform-specific push settings. Also, button URLs for Chrome pushes can be personalized. The flow is the very same as for push content, so follow the steps below to add a personal touch to every notification's element.

1. Choose a Tag

First, we choose a Tag which value should be used in the message. In our case it's the Name tag, since users' names are stored as values for this Tag:

2. Choose a format modifier

Then, we should pick a Format Modifier for the chosen tag value. Since it's the name, we capitalize the first character of the name, so "alexander" becomes "Alexander":

3. Specify a default value

We can also specify the Default Tag Value, which is used as a tag value in case a user didn’t specify it for some reason. Let's address those who didn't tell us their names as "friend". Then we click Insert and that's it, the Dynamic Content is in the message:

4. Deal with non-tagged users

Control Panel

Let's complete the message with the restaurant name. But what if some of the users didn't specify their favorite restaurant yet? We covered this case as well – enable the Ignore non-tagged checkbox, and those devices that have no value for the chosen tag will not receive this push.


When sending messages via API, please make sure to use an appropriate syntax of Dynamic Content placeholders.
4.1. To reach out to non-tagged users with a message containing some default Tag value, use the following Dynamic Content syntax: {Tag_name|format_modifier|default_value}.
For example, the message "Hello {Alias|CapitalizeFirst|friend}!" will be sent to users with no alias specified and will look as "Hello friend!".
Please notice that the 4.2 and 4.3 options differ by a single "|" character but behave in all the contrary way to each other.
4.2. To ignore non-tagged users, add a Dynamic Content formatted as follows: {Tag_name|format_modifier}. When there is no closing "|" character, Ignore non-tagged considered to be checked.
For example, a message "Get a -20% coupon in {Restaurant|CapitalizeFirst} now!" will be sent only to those users who have any Tag value set on their devices or specified in "dynamic_content_placeholders" parameter of an API request. Non-tagged users won't receive any message.
4.3. To send a message to non-tagged users, format Dynamic Content as follows: {Tag_name|format_modifier|}. When there is a closing "|" character, Ignore non-tagged considered to be unchecked.
For example, a message "Get a -20% coupon in {Restaurant|CapitalizeFirst|} now!" will be sent to all the audience targeted including users with no Tag values specified. As a user has no Tag value and no default value is specified, non-tagged users will receive a message as is — "Get a -20% coupon in {Restaurant|CapitalizeFirst|} now!".


As a result, imaginary Klaus and Annie will receive push messages from the same campaign, but personalized with their names and preferences:
Last modified 10d ago