Integration tiles sync data to and from services outside of Iterable when users reach that step of a journey. There are four types of integration tiles:
- Live Data (Beta)
- Webhook
- Google Ads
# In this article
# Live Data tiles
Beta Feature
The Live Data tile is currently available as part of the Journey Live Data beta for select Iterable customers. If you're interested in using the feature during beta, reach out to your customer success manager to request access.
Live Data tiles fetch data from an external source using a journey webhook. This in-memory data only persists for the duration of a user's path through a journey and supports intelligent, real-time, contextual decisioning and personalization in journeys, such as stock updates and offer eligibility.
Under Webhook, select the journey webhook that the Live Data tile uses to retrieve data.
To use a webhook with Live Data, enable Data Retrieval and define up to 10 fields from the webhook payload as live data fields for your journey. For setup instructions, see Creating Journey Webhooks.
Under Dynamic Parameters, enter key-value pairs to append as query string parameters to the endpoint URL. For each pair, the key is the parameter name and the value can be a static string or a Handlebars expression referencing user profile data or custom event data. For example, let's say you're running an experiment and you want to pass the different variant IDs to determine which variant users received. You could set up the following dynamic parameters:
The resulting endpoint looks like this:
https://api.yourdomain.com/experiments/exposure?experimentId={{dataFields.experimentId}}&variant={{dataFields.variant}}&userId={{userId}}
NOTE
You can also add query string parameters and use Handlebars expressions directly in the endpoint URL when you configure the journey webhook itself. When the endpoint URL has these parameters defined at the webhook level, they apply to all tiles that reference that webhook. Use tile-level Dynamic Parameters when you need different values per tile; use webhook-level Handlebars expressions when the same value applies everywhere. For details on configuring the endpoint URL, see Journey Webhooks — Endpoint.
To manage the traffic coming into your endpoints, check the box next to Set a rate limit to limit how fast Iterable calls the webhook. Journeys are powerful and can process thousands of requests per second. When calling external services, it's important to understand if they can handle the load of high-volume journeys and use rate limiting to implement the necessary guardrails for calling these services.
Optionally, give the liveData object a name. This name is used to identify the
live data object and reference the data fields you defined in the journey webhook
downstream in the journey.
For example, if you name the liveData object thunderGameStats, you could
reference the current score like this:
{{liveData.thunderGameStats.currentScore}}
The Live Data Fields box shows the fields that are available to reference in
downstream tiles. You can use the "copy" icon to copy a field's merge tag
(for example, {{liveData.thunderGameStats.currentScore}}) to your
clipboard. You can then paste this code into a message template or select it as
filter criteria in a Yes/No Split tile or Attribute Split tile.
To learn more and get started with Live Data tiles, see Journey Live Data Overview.
# Example: Avoid promotional sends for out-of-stock products
You could use a Live Data tile to check inventory levels before sending a promotional
message in a cart abandonment journey. Configure a Live Data tile to query your
inventory API right before a Yes/No Split tile, fetching the in_stock value (and
optionally quantity and restock_eta) for the SKU(s) tied to that user. If
in_stock = true, send a promotional message with a CTA to purchase the item.
If in_stock = false, send an alternate product recommendation or skip the
send.
# Webhook tiles
Webhook tiles send data from Iterable to an external server or third-party service. You can use Webhook tiles to connect apps like Segment, Amplitude, and Inkit to your Iterable journeys, or send data to your own servers.
When you add a Webhook tile to a journey, you need to set the following properties:
- Webhook - Set up a webhook destination to send data to when users reach this step of the journey.
- Rate Limit - The maximum rate of requests that you want Iterable to make to your webhook destination.
This creates a new webhook that sends POST requests to the endpoint URL, along
with information about the triggering event. Iterable discards any response it
receives from the server.
# Step 1: Set up a webhook destination
There are two ways to select a webhook destination for a Webhook tile:
-
Use an existing journey webhook.
- This option creates a reusable webhook that can be used in multiple journeys and has more customizations available, such as custom header fields, custom payload fields, and more advanced authentication options.
-
Add a webhook destination directly in the tile.
- This is the quickest way to get started, but is not reusable in other journeys, and has fewer customization options than using a journey webhook.
# Use existing webhook
First, create a journey webhook in Integrations > Journey Webhooks.
Then, in the journey Webhook tile, select Use Existing Webhook to choose one of the journey webhooks that you've previously created.
# Adding a custom webhook destination in a tile
To quickly add a custom webhook destination from within the tile, select Endpoint URL, and enter a value for your Endpoint URL and an optional Authorization Token for a basic authentication header.
When you add an endpoint URL, Iterable adds the following HTTP headers to the webhook request:
Content-Type: application/jsonAuthorization: Basic <YOUR_AUTH_TOKEN>
NOTE
Webhook URLs entered in the Endpoint URL field of the Webhook tile don't save to your Journey Webhooks page, can't be reused in multiple journeys (unless you manually recreate them each time), and don't have as many customization options as journey webhooks.
For a fully customizable and reusable webhook, add a journey webhook and then select it in the Use Existing Webhook dropdown for the Webhook tile.
# Step 2: Set a rate limit
To manage the traffic coming into your endpoints, check the Set a Rate Limit box. Then, enter the maximum rate of calls (requests) per minute or per second that you want Iterable to make to your webhook.
This is the overall rate limit for calls to your webhook destination from this specific journey. A lower rate limit usually increases queueing time for users waiting at that tile.
Things to keep in mind:
- Rate limit is a maximum - Iterable will not exceed this rate limit, but it may be lower if the destination endpoint is not able to handle the request volume.
- Rate limit is per journey - This rate limit only represents the calls made by this journey and doesn't consider other journeys that call the same endpoint.
To learn more about journey webhook rate limits and processing times, see Journey Webhooks.
# Example: Triggering a send from another service or app
Let's say you're building a customer win-back journey, and you want to send users a postcard in the mail at a certain step. You could add a Webhook tile and set it up to trigger a send from one of Iterable's direct-mail integrations (like Inkit, Poplar, or Paperplanes).
# Facebook tiles
Facebook tiles let you build Facebook custom audiences from your Iterable journeys.
To use the Facebook tile in your journeys, you must have a Facebook ad account.
First, select whether you want to add or remove users from a Facebook Custom Audience when they reach this stage of the journey.
Then, enter your Facebook ad account ID and select which audience you want to update when users reach the tile.
# Example: Triggering a Facebook ad
Let's say you want to display a Facebook ad to users who have shown interest in one of your products by clicking a link in an email. You could set up a Yes/No Split tile that checks whether users have clicked the link, then connect the Yes branch to a Facebook tile that adds users to a Facebook custom audience for ad targeting.
# Google Ads tiles
Google Ads tiles let you build Google Ads audience segments from your Iterable journeys.
To use the Google Ads tile in your journeys, you must have a Google Ads account and complete the integration setup steps.
To set up a Google Ads tile:
First, select whether you want to add or remove users from a Google Ads Customer Match audience when they reach this stage of the journey.
Then, select your Google Ads account and choose which audience(s) you want to update when users reach the tile.
# Example: Retargeting users who haven't converted
Let's say you want to retarget users who clicked through a promotional message but haven't made a purchase. You could add a Yes/No Split tile that checks for a purchase event, then connect the No branch to a Google Ads tile that adds users to a Customer Match audience for follow-up advertising.
# Want to learn more?
For more information about some of the topics in this article, check out these resources:
Support docs