|
| 1 | +--- |
| 2 | +title: Using Linked Audiences with Iterable |
| 3 | +plan: engage-foundations |
| 4 | +beta: true |
| 5 | +hidden: true |
| 6 | +--- |
| 7 | + |
| 8 | +Linked Audiences allows you to [dynamically personalize email messages](https://support.iterable.com/hc/en-us/articles/205480365-Personalizing-Templates-with-Handlebars) in Iterable using the predefined traits of any Linked Audience profile and the attributes of any entities used to match the profile into the audience. |
| 9 | + |
| 10 | +The following topic is intended for a Technical Marketer and Data Engineer to complete together while setting up their Linked Audience. |
| 11 | + |
| 12 | +## Supported Iterable Engagement Tools |
| 13 | + |
| 14 | +The following engagement tools are available for use with Linked Audiences in Segment: |
| 15 | + |
| 16 | +| Type | Description | |
| 17 | +| ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- | |
| 18 | +| [Journey Campaign](https://support.iterable.com/hc/en-us/articles/360050203812-Campaigns-Overview#journey-campaigns){:target="_blank"} | Trigger a single-step campaign when you add a specific custom event to a user profile in Iterable. Dynamically personalize the campaign with rich entity context. | |
| 19 | + |
| 20 | +## Segment Destination Actions |
| 21 | + |
| 22 | +Segment sends data from your Linked Audiences to actions-based destinations. For example, you could send account information for the audience profiles with past due accounts to an email platform. |
| 23 | + |
| 24 | +You can configure multiple triggers per audience (For example: one for account entry, and one for account exit). |
| 25 | + |
| 26 | +|Segment Destination Action |How does it work? |How does Iterable store the data? |Iterable API Endpoint | |
| 27 | +|--------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------| |
| 28 | +|[Custom Event](https://segment.com/docs/connections/destinations/catalog/actions-iterable/#custom-event)|Segment sends personalization payload information into Iterable as [Iterable custom events](https://support.iterable.com/hc/en-us/articles/206430615-Custom-Event-Properties#event-properties). The entity personalization payload is contained in the `dataFields` parameter within API calls.|[Custom event properties](https://support.iterable.com/hc/en-us/articles/206430615-Events-and-Event-Properties#event-properties)|[Track an event](https://api.iterable.com/api/docs#events_track) | |
| 29 | +|[Upsert User](https://segment.com/docs/connections/destinations/catalog/actions-iterable/#upsert-user) |Segment sends personalization payloads into Iterable as [Iterable user profiles](https://support.iterable.com/hc/en-us/articles/206430145-Managing-User-Profile-Fields-in-Iterable). The entity personalization payload is contained in the `datafields` parameter in API calls. |[User profile fields](https://support.iterable.com/hc/en-us/articles/206430145-Managing-User-Profile-Fields-in-Iterable) |[Update user data](https://api.iterable.com/api/docs#users_updateUser)| |
| 30 | + |
| 31 | +## Iterable Journey Campaign |
| 32 | + |
| 33 | +Iterable [Journey Campaigns](https://support.iterable.com/hc/en-us/articles/360050203812-Campaigns-Overview#journey-campaigns) store the entity personalization payload as [event properties in custom events](https://support.iterable.com/hc/en-us/articles/206430615-Events-and-Event-Properties#event-properties). |
| 34 | + |
| 35 | +**Note**: Using custom events can impact your Iterable [billing](https://support.iterable.com/hc/articles/205480345#custom-event-usage-metrics). See [Monitoring Custom Event Usage](https://support.iterable.com/hc/en-us/articles/360043366492-Monitoring-Custom-Event-Usage) to learn how. |
| 36 | + |
| 37 | +### Prerequisites |
| 38 | + |
| 39 | +Complete the following setup steps before you set up a Journey Campaign in Iterable. |
| 40 | + |
| 41 | +In Segment, ensure you have: |
| 42 | + |
| 43 | +* Set up your [Linked Audience](https://segment.com/docs/engage/audiences/linked-audiences/). |
| 44 | +* A copy of your Linked Audience [Event Personalization Payload](https://segment.com/docs/engage/audiences/linked-audiences/#showhide-preview), event name, and Iterable user id. |
| 45 | +* Set up [Iterable as an actions destination](https://segment.com/docs/connections/destinations/catalog/actions-iterable/). |
| 46 | +* Set up a [Custom Event destination action](https://segment.com/docs/connections/destinations/catalog/actions-iterable/#custom-event) and the relevant trigger using the [Linked Audiences](https://segment.com/docs/engage/audiences/linked-audiences/) workflow. |
| 47 | + |
| 48 | +In Iterable, ensure you have: |
| 49 | + |
| 50 | +* Permissions to access the application, or access to someone who has permissions. |
| 51 | +* Created all Segment profiles as Iterables profiles using the [Upsert User destination action](https://segment.com/docs/connections/destinations/catalog/actions-iterable/#upsert-user) via [Connections](https://segment.com/docs/connections/) or [Reverse ETL](https://segment.com/docs/connections/reverse-etl/). This is a requirement for them to receive a campaign triggered by a custom event. |
| 52 | +* Checked if your Segment Linked Audiences event was sent by [viewing the user's profile](https://support.iterable.com/hc/en-us/articles/218365803-Managing-User-Profiles#event-history) and [event history](https://support.iterable.com/hc/en-us/articles/218365803-Managing-User-Profiles#event-history). Review the** **custom event payload schema so you know what properties to include in your message personalization. |
| 53 | +* Created an Iterable profile, for campaign testing, with an email address you can access. |
| 54 | +* Familiarity with the [Handlebars templating syntax](https://support.iterable.com/hc/en-us/articles/205480365-Personalizing-Templates-with-Handlebars) to manually type out the code using dot notation. |
| 55 | + |
| 56 | +### Step 1: Set up an Iterable Journey Campaign |
| 57 | + |
| 58 | +To use Linked Audiences you must set up a Journey campaign in Iterable. |
| 59 | + |
| 60 | +In Iterable, do the following: |
| 61 | + |
| 62 | +1. Create a [Journey](https://support.iterable.com/hc/en-us/articles/4405798856212-Journeys-Overview) and in the [Start tile](https://support.iterable.com/hc/en-us/articles/15934993720468-Journey-Setup-The-Start-Tile) select the Entry source as [Event Occurs](https://support.iterable.com/hc/en-us/articles/15934993720468-Journey-Setup-The-Start-Tile#event-occurs), then choose **Entry type = Custom** event. Search and choose the name of the Segment custom event you previously set up and tested in Segment. |
| 63 | +2. Add an [Email Message tile](https://support.iterable.com/hc/en-us/articles/12649121962260-Journey-Setup-Message-Tiles#setting-up-message-tiles), [create your campaign](https://support.iterable.com/hc/en-us/articles/14825389793556-Creating-a-Campaign), and connect it to your Start Tile. |
| 64 | +3. Edit the content in your email: |
| 65 | + 1. Under Design, choose either the [WYSIWYG Editor](https://support.iterable.com/hc/en-us/articles/11554987128340-WYSIWYG-Editor) or the [Side by Side Editor](https://support.iterable.com/hc/en-us/articles/11555192523412-Side-by-Side-Editor). |
| 66 | + 2. Reference your Segment [custom event payload schema](https://support.iterable.com/hc/en-us/articles/360035402451-Event-Tracking-Testing-and-Troubleshooting) in Iterable to determine what properties to include in your message. |
| 67 | + 3. Translate the event properties in the payload schema into [Handlebars syntax](https://support.iterable.com/hc/en-us/articles/205480365-Personalizing-Templates-with-Handlebars) for [custom events](https://support.iterable.com/hc/en-us/articles/206430615-Custom-Event-Properties#using-event-properties-to-customize-a-template), and enter it in the HTML editor in Iterable. See the personalization [examples below](# ???) for more specific details. |
| 68 | +4. Choose any additional settings that apply and review and publish your journey. Then continue on to [Test your campaign flow](????) in Segment. |
| 69 | + |
| 70 | + |
| 71 | +## Step 2: Test your campaign flow |
| 72 | + |
| 73 | +1. Open the Segment app and send yourself a test email for review. Add your Iterable user id and click **[Send test event to destination](https://segment.com/docs/engage/audiences/linked-audiences/#step-3-send-a-test-event-to-your-destination)**. Review the email you received, and ensure it is formatted properly. |
| 74 | + |
| 75 | + |
| 76 | + |
| 77 | +If the event is sent successfully to Iterable, you will see a `“message”: “success”` response in Segment. |
| 78 | + |
| 79 | +2. Open Iterable and check the [Campaign tab in Messaging Insights](https://support.iterable.com/hc/en-us/articles/360052814452-Messaging-Insights#viewing-metrics) (Insights > Messaging Insights > Campaigns > _[Your Unique Campaign])_ to confirm that Iterable has sent the message. |
| 80 | +3. If your email doesn’t look the way you want it to, adjust the [Handlebars syntax](https://support.iterable.com/hc/en-us/articles/205480365-Personalizing-Templates-with-Handlebars#referencing-user-profile-and-event-fields-with-handlebars) in Iterable, and send another test event. See the following [personalization examples](#??? ) for more specific details. |
| 81 | +4. When you’re finished testing your campaign, proceed to [Enable your Linked Audience](https://github.com/segmentio/segment-docs/pull/6648/files#r1629472328). |
| 82 | + |
| 83 | +# Handlebars Examples to use in Iterable |
| 84 | + |
| 85 | +Use the following examples as context and information to experiment with setting up your campaign in Iterable. |
| 86 | + |
| 87 | +The following is an example of what your payload data might look like with nested payload properties: |
| 88 | + |
| 89 | +The following helps translate you payload data into Handlebars syntax: |
| 90 | + |
| 91 | +* To reference a specific event property: |
| 92 | + * Use the following Handelbars syntax: <code>{% raw %}{{event_property_name}}{% endraw %}</code> |
| 93 | + * An example of this property might look like: <code>{% raw %}{{first_name}}{% endraw %}</code> |
| 94 | +* To reference nested event properties within an Array: |
| 95 | + * Use the following Handlebars syntax: <code>{% raw %}{{event_property_name.[#_that_represents_specific_entry_in_array].nested_event_property_name }{% endraw %}</code> |
| 96 | + * An example of this property might look like: <code>{% raw %}{{shopping_cart__products[0].product_name}}{% endraw %}</code> |
| 97 | + |
| 98 | +You can read more on how to reference [event properties](https://support.iterable.com/hc/en-us/articles/205480365-Personalizing-Templates-with-Handlebars#referencing-user-profile-and-event-fields-with-handlebars) and [nested properties](https://support.iterable.com/hc/en-us/articles/360031118392-Handlebars-FAQ#how-do-i-reference-items-in-a-nested-object) in Handlebars. |
| 99 | + |
| 100 | +### Basic Email Example |
| 101 | + |
| 102 | +Use the Segment payload data you [copied when setting up your Linked audience](https://deploy-preview-6748--segment-docs.netlify.app/docs/engage/audiences/linked-audiences#showhide-preview) to build an abandoned cart email campaign that includes specific information for the product in a customer’s shopping cart. |
| 103 | + |
| 104 | +When an email is sent, it lists the specific product and its related price in your customer’s shopping cart. It might look like the following screenshot: |
| 105 | + |
| 106 | + |
| 107 | + |
| 108 | +This is an example of what your email using HTML and [Handlebars syntax](https://support.iterable.com/hc/en-us/articles/205480365-Personalizing-Templates-with-Handlebars) might look like in Iterable: |
| 109 | + |
| 110 | +{% raw %} |
| 111 | + |
| 112 | +```html |
| 113 | +Hi {{first_name}}, |
| 114 | +<br /> |
| 115 | +<br /> |
| 116 | +Did you forget to checkout?<br /> |
| 117 | +<br /> |
| 118 | +We noticed you added some items to your shopping cart including this item: <br /> |
| 119 | +<br /> |
| 120 | +<b>Product Name: </b> |
| 121 | +{{shopping_cart__products.[0].product_name}} |
| 122 | +<br /> |
| 123 | +<b>Product Price: </b> |
| 124 | +{{shopping_cart__products.[0].product_price}} USD |
| 125 | +<br /> |
| 126 | +<br /> |
| 127 | + |
| 128 | +Quick, now is your chance to own this item before it sells out! |
| 129 | + |
| 130 | +``` |
| 131 | +{% endraw %} |
| 132 | + |
| 133 | + |
| 134 | +### Advanced Email Example |
| 135 | + |
| 136 | +Use the Segment payload data you [copied when setting up your Linked audience](https://deploy-preview-6748--segment-docs.netlify.app/docs/engage/audiences/linked-audiences#showhide-preview) to build an abandoned cart email campaign where you can use [#each](https://support.iterable.com/hc/en-us/articles/205480365-Personalizing-Templates-with-Handlebars#iterating-over-all-values-each) to run a block of code repeatedly. In this example, you can use a for loop to list all of the products and their related prices in a customer’s shopping cart. |
| 137 | + |
| 138 | +When an email is sent, it lists all of the products and their related prices in your customer’s shopping cart. It might look like the following screenshot: |
| 139 | + |
| 140 | + |
| 141 | + |
| 142 | +This is an example of what your email using HTML and [Handlebars syntax](https://support.iterable.com/hc/en-us/articles/205480365-Personalizing-Templates-with-Handlebars) might look like in Iterable: |
| 143 | + |
| 144 | +{% raw %} |
| 145 | + |
| 146 | +```html |
| 147 | +Hi {{first_name}}, |
| 148 | +<br /> |
| 149 | +<br /> |
| 150 | +Did you forget to checkout?<br /> |
| 151 | +<br /> |
| 152 | +We noticed you added some items to your shopping cart. Here's what you left: <br /> |
| 153 | +<br /> |
| 154 | + |
| 155 | +{{#each shopping_cart__products}} |
| 156 | +<b>Product Name: </b> |
| 157 | +{{product_name}} |
| 158 | +<br /> |
| 159 | +<b>Product Price: </b> |
| 160 | +{{product_price}} USD |
| 161 | +<br /> |
| 162 | +<br /> |
| 163 | + |
| 164 | +{{/each}} |
| 165 | + |
| 166 | +Quick, now is your chance to own these items before they sell out! |
| 167 | +``` |
| 168 | +{% endraw %} |
| 169 | + |
0 commit comments