Learn about the different tiles you can add to a journey and how they work together.
In this article
What's in a journey?
Journeys consist of two main components: tiles and connections.
Tiles are the individual steps or stages that you can add to a journey. There are eight types of tiles:
- Start
- Message
- Delay
- Filter
- User update
- Integration
- Note
- Tileset
Connections are the paths between tiles. When you connect two tiles, users will travel from the first one in the sequence to the next.
NOTE
We recently updated the names of several journey components. For a full list of the old and new names, see Meet the New Studio.
The Start tile
Every journey begins with a Start tile. This is where you'll set up how your users get added to the journey (see Entry sources), which users should and should not go through the journey, and how many times users can go through the journey.
Entry sources
Entry sources are the events that add users to your journey.
NOTE
You can select one entry source per journey.
There are 18 entry sources you can choose from:
Schedule - Periodically add all the members of a standard or dynamic list to a journey. This is similar to a recurring blast campaign but lets you add additional steps if you want to. For example, you could use the Schedule entry source to send all the members of a list a message, then update a user property for every user who opens it.
Custom event - Adds a user to the journey after one of your custom events occurs or is updated. For example, when a user clicks a button, downloads a file, or views five items on your website. (Learn more about custom events.)
API call - Adds a user to the journey after a call is made to the
POST /api/workflows/triggerWorkflow
API endpoint.-
User profile update - Adds a user to the journey after their user profile is updated. For example, you can use this entry source to add a user to a "You moved!" sequence when their location changes. This entry source triggers the associated journey when updating a user profile that already has the specified field, or when that field is added to a profile that didn't previously have it.
You can update a user's profile with the
POST /api/users/update
API endpoint.When you select the User profile update entry source, it will run every time you make a user profile update via CSV upload or API call. If you update a user attribute, but the new value is the same as the old value, the user will still be added to the journey.
NOTE
There are a few different ways to update user profiles and subscription preferences: with a CSV upload, with an API call for an individual user, or with a bulk API call for multiple users. See the following support docs to learn more:
Other journey - Adds a user to the journey when they reach a Send to journey tile in another journey.
-
Item added to cart - Adds a user to the journey after they add an item to their cart. This entry source is useful for setting up a shopping cart abandonment sequence.
You can send cart events with the
POST /api/commerce/updateCart
API endpoint. -
Purchase - Adds a user to the journey after the user makes a purchase. This is useful for sending users through an order confirmation or product review sequence.
You can send purchase events with the
POST /api/commerce/trackPurchase
API endpoint. Email open - Adds a user to the journey after they open an email. For example, you can use this entry source to add a user to a nurture sequence after they open a message about a new product or promo.
Email click - Adds a user to the journey after they click a link in an email. For example, you can use this entry source to add a user to a list when they opt in to be notified about upcoming promos.
SMS reply - Adds a user to the journey when they respond to a text message.
SMS click - Adds a user to the journey when they click a shortened link in a text message.
-
In-app open - Adds a user to the journey when they open an in-app message, either when it pops up in your app or when they open it from their mobile inbox.
You can send in-app open events with the
POST /api/events/trackInAppOpen
API endpoint. -
In-app click - Adds a user to the journey when they click an in-app message.
You can send in-app click events with the
POST /api/events/trackInAppClick
API endpoint. Push open - Adds a user to the journey when they open a push notification.
-
List subscribe - Adds a user to the journey when they're added to a static list. This can be useful for sending promo subscribers through a deals sequence.
You can send list subscribe events with the following API endpoints:
POST /api/lists/subscribe
POST /api/users/updateSubscriptions
PATCH /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}/user/{userEmail}
PATCH /api/subscriptions/{subscriptionGroup}/{subscriptionGroupId}/byUserId/{userId}
NOTE
- When you add users to a journey via CSV upload with the List subscribe entry source, make sure each user is only on the list once. If you don't remove duplicate entries from the CSV, users will be added to the journey multiple times.
- When you subscribe someone to a list using the
emailListIDs
data field, it doesn't generate a subscription event—so it won't add them to any associated journeys.
-
List unsubscribe - Adds a user to the journey when they're removed from one of your static lists. This can be useful for sending a confirmation message when a user unsubscribes from one of your lists.
You can send list unsubscribe events with the POST /api/lists/unsubscribe API endpoint.
-
Channel unsubscribe - Adds a user to the journey when they're unsubscribed from a message channel. This can be useful for sending a "Sorry to see you go!" message when a user unsubscribes from your marketing communications.
You can unsubscribe users from a channel with the following API endpoints:
-
Message type unsubscribe - Adds a user to the journey when they're unsubscribed from a message type (for example: "Coupons"). This can be useful for sending a confirmation message when a user unsubscribes from a message type or updates their subscription preferences.
You can unsubscribe users from a message type with the
POST /api/users/updateSubscriptions
API endpoint.
Additional entry rules
This section lets you set up filters in the first step of the journey to make sure only the users you want added to the journey can enter. This is more efficient than adding a filter tile after the start tile (see Optimizing Journey Performance).
For example, if you only want recipients of a certain campaign to be eligible to be added to the journey, you could set up an entry rule that checks for a label associated with that campaign.
You can require users to have all, some, or none of the criteria you set.
Maximum entries
This section lets you set limits on how many times a user can ever go through this journey.
For example, you could set this to 1 if you only want users to receive your welcome sequence once.
- Unlimited — Users can go through this journey as many times as they're eligible.
- 1 — Users can only go through this journey once.
- Other — Set a custom limit.
NOTE
When you update an entrance limit, the new limit only applies to users who are added to the journey after you make the change. For example, if you change the entrance limit from Unlimited to 1, users who have already gone through the journey once before may be added to the journey a second time.
For email-based projects: When you update a user's email address, it resets their entrance limit for the journey.
For userID-based projects and hybrid projects: If a user is deleted and then re-added, their entrance limit is reset.
Simultaneous entries
This section lets you set limits on how many times a user can be in this journey at the same time.
- Contacts must finish this journey before starting this journey again — Use this option for journeys that users need to receive in sequence from beginning to end without starting over (for example, a welcome sequence).
- Contacts can be in this journey unlimited times simultaneously — Use this option for journeys that users should be able to receive multiple times concurrently (for example, a sale confirmation sequence).
- Other — Set a custom limit.
TIP
- Did you know you can add users to journeys when you upload a list? On the Create List screen, check the box labeled Send list membership & field change events to trigger workflows.
Message tiles
Message tiles send a message to users that reach that stage of a journey.
To learn more, see Sending Messages From A Journey.
Delay tiles
Normally, when users leave one tile, they immediately arrive in the next one. With delay tiles, you can add pauses throughout the user's journey to wait the appropriate amount of time before sending another message or updating a user's information.
There are two options for adding a delay:
- For a certain amount of time — Use this option if you want to delay all of your users for the same amount of time (for example, 3 days).
-
Based on a property — Use this option to add a delay based on a
characteristic that's different for each user (for example,
signUpDate
).
Extending delays
You can also configure a delay tile to wait until a specific day of the week, time of day, and/or date.
For example, let's say you want to send a product review message three days after your users make a purchase. Your users are in different time zones and complete their purchases at different times of day, so how do you make sure the product review message doesn't arrive in the middle of the night for some customers?
You can use the Add an extra delay option to make sure customers receive this message at 11:00 AM three days after they made their purchase—regardless of what time they made their purchase and what time zone they're in.
You can also prevent users from moving on to the next step of the journey on certain days of the week. Check Skip specific days of the week, then check the days of the week that you don't want users to move on to the next step.
Whether you configure a delay to end before a certain time (Minus) or after (Plus), if you further refine the delay by skipping certain days or waiting until a specific time, the end of the delay will shift forward in time.
NOTE
- Delay tiles can't reference values stored in arrays.
- When you edit a delay tile, the new delay will only apply to new users that enter the tile. Users already in the delay tile will be delayed for the original amount of time.
- For users with an unknown time zone, delay tiles fall back to the project time zone.
Filter/flow tiles
Filter/flow tiles let you control which paths a user will go down in your journey.
There are four types of filter/flow tiles:
- A/B split
- Yes/no split
- Attribute split
- Send to journey
A/B split tiles
A/B split tiles let you set up A/B tests within a journey. For example, you could use an A/B split tile to test two different versions of a campaign.
Use the percentage boxes to set the number of branches you want and how many of your users should travel down each branch.
(You can add up to 10 branches.)
You can manually set the percentages for each branch, or check the box next to Distribute contacts evenly across branches to quickly adjust them.
NOTE
The percentages you set must add up to 100%.
Yes/no split tiles
Yes/no split tiles let you send users down different paths in a journey, depending on whether or not they meet some criteria. For example, you could use a yes/no split tile to send different coupons to users who have made a purchase before and those who haven't.
First, select whether you want to filter by All user properties and events or Only the event that triggers this journey.
Then, set up a query to check whether users meet the criteria you're interested in.
Check for matching event IDs in a filter
Maybe your company helps customers find and apply to multiple jobs, or you're part of an online clothing rental company that lets people have multiple rentals at once. If this is the case for you, you need to be able to check if two events (for example, viewed job and applied to job or order shipped and order returned) are related. Let's walk through how to do this!
Say you run a business that helps people find their lost pets, and a customer
named Sherry has lost two of her three cats. The Lost Cat journey is
triggered by a lostCat
event and periodically checks for a foundCat
event—
then sends an email congratulating the user on finding their missing cat. But
the journey should only send that message if the two events have the same
catID
—otherwise, Sherry will receive a message congratulating her on finding
a cat who's still lost!
Here's the lostCat
event payload for Sherry's lost cat, Tibbles:
{ "email": "sherry@example.com", "eventName": "lostCat", "dataFields": { "catID": "Tibbles" } }
After a few days, the journey should check if there is a foundCat
event for
the same cat that first triggered the journey (Tibbles).
Here's the payload for the foundCat
event:
{ "email": "sherry@example.com", "eventName": "foundCat", "dataFields": { "catID": "Tibbles" } }
Since the catID
is the same for both the lostCat
and foundCat
events,
the journey will send Sherry a message congratulating her on finding Tibbles!
Attribute split
Attribute split tiles let you split traffic based on particular user attributes (like location or favorite color). For example, you could use an attribute split tile to send different messages about pet foods to dog, cat, fish, and bird owners.
You can add up to 9 branches.
If you want users who don't match any of your selected criteria to continue on in the journey, check the box Add an "Everyone else" branch.
If you want users who don't match any of your selected criteria to exit the journey, uncheck this box.
If a user meets more than one of the criteria, they'll go down the first branch they match. (Iterable checks for matches from left to right on the tile.)
NOTE
Avoid adding an attribute split or yes/no split directly after the Start tile. If you try to check for a certain user profile field immediately after a user enters the journey, Iterable may not have enough time to update the user profile before the user reaches the split tile. To prevent this, add a short delay between the Start tile and the split tile.
Send to journey
Send to journey tiles let you add users to another journey. For example, you could use this tile to add users to a promo sequence after they've opted in to receive marketing messages.
When a user reaches a Send to journey tile, they’ll be added to the linked journey, while also continuing down the path they're on in the original journey.
When you use the Send to journey tile, the triggering data from the original journey is available in the linked journey.
NOTE
If the journey you want to send users to isn't showing up in the dropdown, make sure its entry source is set to Other journey. Then try again.
User update tiles
User update tiles let you change information on your user's Iterable profile, or update their subscription preferences.
There are four types of user update tiles:
- Add to list
- Remove from list
- Subscription preferences
- User profile
Add to list
Add to list tiles add a user to one of your static lists. For example, at the end of a welcome sequence, you could add all users who have completed the journey to a list called "Finished Welcome Sequence."
Remove from list
Remove from list tiles remove a user from one of your static lists. This is a great step to add at the end of a welcome sequence—you can use this tile to remove users from your "New Users Welcome" list.
Subscription preferences
Subscription preferences tiles subscribe a user to or unsubscribe a user from a message channel or type. This can be useful if you have an email preferences center. To learn more, see Message Channels and Types Overview.
User profile
User profile tiles update one or more fields on a user's profile
(for example, location
). The User profile tile triggers the journey when
you update a user profile that already has the specified field or when the field
is added to a profile that didn't previously have it.
You can make user profile updates using either data you enter in the tile settings or with data you retrieve from a webhook.
NOTE
The data used to update the user profile gets saved as transactional data in the message send event (for both API and CSV updates).
Enter data in the tile settings
If your journey's entry source is an event, you can use Handlebars to set user profile fields to values from the event. For example:
{ "user_profile_field": "{{event_field}}" }
In this context, the values for merge parameters are pulled from event fields (not the user profile).
In User Profile tiles, you can:
- Use Handlebars helpers.
- Use Handlebars to set numeric fields, as long as the value of the merge parameter can be coerced into a number.
For example:
{ "totalPurchaseValue":"{{numberFormat (math HighestPurchaseValue '-' lastPurchaseValue) 'integer'}}" }
WARNING
User Profile update tiles cannot create an array on a user profile from an array on an event. If you try, you'll create a string on the user profile, not an array.
For example, the event field myEventField: ["a", "b", "c"]
would save to a
user profile as targetUserProfileField: "[a, b, c]"
.
Retrieve data from a webhook
Choose this option if you would want Iterable to make an HTTP GET request to
another system, pass a user's unique identifier
(email
or userId
) as a URL parameter, and update the
user's Iterable profile with the requested info.
Merge top-level objects instead of overwriting
When you update nested objects on a user's profile, Iterable can either overwrite top-level objects or merge them.
For example, let's say you're storing information about a user's favorite meal on their user profile:
"favoriteMeal": { "mainDish": "hamburger", "side": "French fries", "drink": "orange soda" }
If you want to know their favorite dessert too, you could add a User Profile
tile to the journey and set it up to add this information to the existing
favoriteMeal
object.
In the User Profile tile settings, if you check the box for Merge top-level objects instead of overwriting,
Iterable will keep all of the existing information in the favoriteMeal
object and add a new entry for dessert
.
For example, if the User Profile tile makes this update:
"favoriteMeal": { "dessert": "ice cream" }
Then favoriteMeal
would look like this:
"favoriteMeal": { "mainDish": "hamburger", "side": "French fries", "drink": "orange soda", "dessert": "ice cream" }
If you don't check the box for Merge top-level objects instead of overwriting,
and the tile runs that same update, the favoriteMeal
object would get
completely overwritten:
"favoriteMeal": { "dessert": "ice cream" }
NOTE
- Any data you use to update a user profile gets saved as transactional data in the send event (for both API and CSV updates).
- This tile adds users to the associated journey when you update a user profile that already has the specified field, or when that field is added to a profile that didn't previously have it.
Integration tiles
You can use integration tiles to connect external data or services to your journeys.
There are two types of integration tiles:
- Call webhook
- Facebook audiences
Call webhook tiles
You can use Call webhook tiles to send data from Iterable to your own servers or to trigger an action in a third-party service. See Journey Webhooks to learn more.
Facebook audiences tiles
Facebook audiences tiles add users to or remove them from a Facebook Custom Audience. (You must have a Facebook ad account to use this tile.)
To learn more about using Facebook Custom Audiences with journeys, see Facebook Custom Audiences.
Note tiles
Note tiles let you add comments and questions to a journey to collaborate with your teammates. Notes are internal only (your users won't ever see them).
Explain how a stage of the journey works, or remind your team not to disconnect a certain tile—with just a few clicks!
Tilesets
Got a group of tiles you add to journeys all the time? Save them as a tileset!
Tilesets are groups of tiles that you can save and reuse in multiple journeys—so you can spend less time repeating yourself and more time building delightful customer experiences. When you save a tileset, all of your tile settings save too (except for send tiles—you'll need to set up the details for your campaigns individually).
Once you've created a tileset, you and your teammates can quickly add it to any journey within the same project.
NOTE
Tilesets are not like snippets—if you edit a tileset, your changes won't affect any of your journeys that contain that tileset.
Comments
0 comments
Article is closed for comments.