{"__v":6,"_id":"55a635b6249a40190051d9a2","category":{"__v":26,"_id":"55a4ff5b2e70c0250038050f","pages":["55a4ff7d750a9a23005332af","55a4ff8b750a9a23005332b1","55a4ff9b750a9a23005332b3","55a60bfcaaf9cf1900114efb","55a6184880c8a30d00b32526","55a61ba780c8a30d00b32532","55a61c97aaf9cf1900114f40","55a61ea9aaf9cf1900114f48","55a6206580c8a30d00b32544","55a64277aaf9cf1900114fc2","55a694d1aaf9cf1900115102","55a6a23eaaf9cf19001151e2","55a6a9b389c9da1900e2a41d","55a6aba45f88a70d0065b255","55a90687c8bd450d000dd157","55af84f3aa902f1700300daa","55afa3e3902fd51700f5f858","55b0cc5cb3171b3700b153fa","56015bdc3aa0520d00da0ced","5603fe3490ee490d004404c2","5633dd18d28a340d004004f5","56448c697a8cb50d00a3ea3f","56d7a2ec5208281500a2506c","56d859b8b159f10b00304577","56d9822add90610b002708a1","56ef44c6e8d6fa17006f244f"],"project":"5540ce1b31827a0d007ab1cc","version":"5540ce1c31827a0d007ab1cf","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-07-14T12:23:55.603Z","from_sync":false,"order":2,"slug":"features","title":"Features"},"parentDoc":null,"project":"5540ce1b31827a0d007ab1cc","user":"55a5003a750a9a23005332b6","version":{"__v":31,"_id":"5540ce1c31827a0d007ab1cf","project":"5540ce1b31827a0d007ab1cc","createdAt":"2015-04-29T12:27:08.390Z","releaseDate":"2015-04-29T12:27:08.390Z","categories":["5540ce1c31827a0d007ab1d0","5540d91bbb9e762d00f594ad","5540e5f131827a0d007ab212","5540e5febb9e762d00f594d3","5540e61331827a0d007ab213","5540e6195cf9682100d61afa","5540e62631827a0d007ab214","5540e63031827a0d007ab215","5540e63531827a0d007ab216","5540e63e5cf9682100d61afc","5540e6445cf9682100d61afd","5540e64a5cf9682100d61afe","55a4ff5b2e70c0250038050f","55acb28318eefd0d0071d504","55ae1abe8576b92300291c80","55ae453ef302af23000ac109","55af586d555b900d0036d296","55af91dac8a85321007a53c3","55b9fee204775a2f00628071","55b9ff0e04775a2f00628072","55b9ff4604775a2f00628073","55b9ff5fd72d1e1900276a38","55b9ff7f04775a2f00628074","55b9ff90eb08801900f833e5","55b9ffa5d72d1e1900276a39","55b9ffca04775a2f00628075","55b9fffdd72d1e1900276a3a","56bc2f033ee9e70d008b46af","56c2f6efbbf9ec2d00e0fe4f","57595bbb18760817001e8bbe","57d8d9793916800e003dde53"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-07-15T10:28:06.049Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":5,"body":"Our motto is “Your Apps Can Talk“, and now the conversation is taken to the 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!\n\nThe 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.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"What’s that?\"\n}\n[/block]\nThis 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? \n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Use case\"\n}\n[/block]\nPicture this: the application provides coupons for best restaurants in town every Friday.\n\nIn 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` *request*:\n\n  * Name (sends *Alias* tag value to Pushwoosh)\n  * Favorite Restaurant (sends *Restaurant* tag value) \n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"How to personalize the push\"\n}\n[/block]\nWith this info about users you can personalize push messages by using Dynamic Content. All controls are placed on the right side from the main push message input form.\n[block:image]\n{\n  \"images\": [\n    {\n      \"caption\": \"Figure 1. Dynamic Content settings.\",\n      \"image\": [\n        \"https://files.readme.io/aab59fb-Fig1.jpg\",\n        \"Fig1.jpg\",\n        774,\n        350,\n        \"#eceeee\"\n      ]\n    }\n  ]\n}\n[/block]\nFirst, we choose a Tag which value should be used in the message. In our case it’s the Alias tag, since users’ names are stored as values for this Tag:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/a45b8cd-Fig2.jpg\",\n        \"Fig2.jpg\",\n        775,\n        350,\n        \"#3492ce\"\n      ],\n      \"caption\": \"Figure 2. Choose a Tag.\"\n    }\n  ]\n}\n[/block]\nThen, 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”:\n[block:image]\n{\n  \"images\": [\n    {\n      \"caption\": \"Figure 3. Choose a modifier.\",\n      \"image\": [\n        \"https://files.readme.io/7bee31c-Fig3.jpg\",\n        \"Fig3.jpg\",\n        775,\n        351,\n        \"#ecefef\"\n      ]\n    }\n  ]\n}\n[/block]\nWe 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:\n[block:image]\n{\n  \"images\": [\n    {\n      \"caption\": \"Figure 4. Specify default Tag value.\",\n      \"image\": [\n        \"https://files.readme.io/be0cdca-Fig4.jpg\",\n        \"Fig4.jpg\",\n        775,\n        351,\n        \"#ecefef\"\n      ]\n    }\n  ]\n}\n[/block]\nLet’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.\n[block:image]\n{\n  \"images\": [\n    {\n      \"caption\": \"Figure 5. Ignore non-tagged users.\",\n      \"image\": [\n        \"https://files.readme.io/6239a32-Fig5.jpg\",\n        \"Fig5.jpg\",\n        775,\n        351,\n        \"#ebedee\"\n      ]\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Results\"\n}\n[/block]\nAs a result, imaginary Klaus and Annie will receive push messages from the same campaign, but personalized with their names and preferences:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/FTBaHf7lRd2PESzdsQG8_chrome-preview-bg_psd___100___Layer_1__RGB_8___-10.png\",\n        \"chrome-preview-bg_psd___100___Layer_1__RGB_8___-10.png\",\n        \"629\",\n        \"459\",\n        \"#1d555e\",\n        \"\"\n      ],\n      \"caption\": \"\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"Dynamic Content is available for Marketing accounts and during the trial period. Please feel free to contact our team if you would like to test this functionality on your current account, and we will activate it for you.\"\n}\n[/block]","excerpt":"","slug":"dynamic-content","type":"basic","title":"Dynamic Content"}
Our motto is “Your Apps Can Talk“, and now the conversation is taken to the 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. [block:api-header] { "type": "basic", "title": "What’s that?" } [/block] 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? [block:api-header] { "type": "basic", "title": "Use case" } [/block] 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` *request*: * Name (sends *Alias* tag value to Pushwoosh) * Favorite Restaurant (sends *Restaurant* tag value) [block:api-header] { "type": "basic", "title": "How to personalize the push" } [/block] With this info about users you can personalize push messages by using Dynamic Content. All controls are placed on the right side from the main push message input form. [block:image] { "images": [ { "caption": "Figure 1. Dynamic Content settings.", "image": [ "https://files.readme.io/aab59fb-Fig1.jpg", "Fig1.jpg", 774, 350, "#eceeee" ] } ] } [/block] First, we choose a Tag which value should be used in the message. In our case it’s the Alias tag, since users’ names are stored as values for this Tag: [block:image] { "images": [ { "image": [ "https://files.readme.io/a45b8cd-Fig2.jpg", "Fig2.jpg", 775, 350, "#3492ce" ], "caption": "Figure 2. Choose a Tag." } ] } [/block] 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”: [block:image] { "images": [ { "caption": "Figure 3. Choose a modifier.", "image": [ "https://files.readme.io/7bee31c-Fig3.jpg", "Fig3.jpg", 775, 351, "#ecefef" ] } ] } [/block] 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: [block:image] { "images": [ { "caption": "Figure 4. Specify default Tag value.", "image": [ "https://files.readme.io/be0cdca-Fig4.jpg", "Fig4.jpg", 775, 351, "#ecefef" ] } ] } [/block] 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. [block:image] { "images": [ { "caption": "Figure 5. Ignore non-tagged users.", "image": [ "https://files.readme.io/6239a32-Fig5.jpg", "Fig5.jpg", 775, 351, "#ebedee" ] } ] } [/block] [block:api-header] { "type": "basic", "title": "Results" } [/block] As a result, imaginary Klaus and Annie will receive push messages from the same campaign, but personalized with their names and preferences: [block:image] { "images": [ { "image": [ "https://files.readme.io/FTBaHf7lRd2PESzdsQG8_chrome-preview-bg_psd___100___Layer_1__RGB_8___-10.png", "chrome-preview-bg_psd___100___Layer_1__RGB_8___-10.png", "629", "459", "#1d555e", "" ], "caption": "" } ] } [/block] [block:callout] { "type": "info", "body": "Dynamic Content is available for Marketing accounts and during the trial period. Please feel free to contact our team if you would like to test this functionality on your current account, and we will activate it for you." } [/block]