Check out the new features we released in 2021!
If you have questions about any of these features, talk to your Iterable customer success manager.
- December 2021
- November 2021
- October 2021
- September 2021
- July 2021
- May 2021
- April 2021
- March 2021
- January 2021
Match catalog collections against user profile data
December 1, 2021
With this release, catalog collections can now match catalog items to user profile fields stored on deeply nested objects, and objects in arrays.
This has numerous benefits:
- It improves your ability to surface relevant catalog items, since you can match them against more of your user profile data.
- It allows for more flexibility in the way you store data on your user profiles, without sacrificing your ability to match against that data in the Collection Builder.
- In some situations, it can reduce or eliminate the need to write complex Handlebars logic in your templates, since you can include analogous logic in your collection definition.
To see an example of this feature in action, read our Collections support article.
Messaging Insights updates
November 3, 2021
This release introduces a new look and feel for Messaging Insights, along with support for multi-medium reporting. When configuring your filters, specify the message mediums you're interested in, and Messaging Insights displays metrics that aggregate data across all of them.
Learn more in our support guide, Messaging Insights.
Send Time Optimization update and removing TLS 1.0 and 1.1 API support
October 22, 2021
Today, we're releasing an update to Send Time Optimization, and we're removing API support for TLS 1.0 and 1.1.
iOS 15 and Send Time Optimization
With this release, we've tuned Send Time Optimization to account for Apple's Mail Privacy Protection feature.
Disabling API support for TLS 1.0 and 1.1
As announced on September 22, 2021, today we're disabling our API support for calls that rely on Transport Layer Security (TLS) 1.0 and 1.1. Calls made to Iterable's API must now support TLS 1.2. Otherwise, they will fail.
For more information about this change, see our release notes from September 22, 2021.
Push notification and SMS campaign features
October 13, 2021
This releases includes new features for push notification and SMS campaigns: interruption levels (for iOS push notification campaigns), deep linking with SMS shortlinks, and UTM and custom link parameters for SMS shortlinks.
For iOS push notification campaigns, you can now specify an interruption level: Passive, Active, Time Sensitive, or Critical. This affects how and when users will be alerted to your campaign's incoming push notification (for example, it determines whether or not an alert for your push notification should break through an active Focus). This feature is backwards-compatible with existing versions of Iterable's iOS SDK, but it only affects users running iOS 15 or higher. For more information, read Template Options for Push Notifications.
Before you can send Time Sensitive notifications, your engineering team will need to add the Time Sensitive Notifications capability to your app in Xcode, and then release a new version.
Deep linking with SMS shortlinks
SMS campaigns that use link shortening can now include deep links. Deep links open directly in your iOS or Android app, if the user has it installed, and otherwise in the browser. To use this feature, you'll need to configure your SMS link shortening domain to support deep links. This feature is backwards-compatible with existing verisons of Iterable's mobile SDKs. For more information, read SMS Link Shortening and Click Tracking.
UTM and custom link parameters for SMS shortlinks
You can now add UTM parameters, and other custom URL parameters, to SMS campaigns that use link shortening. These parameters aren't visible in the URLs that appear in your SMS messages, but they're available to your app (or in the browser's URL) after the shortlink is resolved to its intended destination. For more information, read Template Options for SMS.
Snowflake Secure Data Sharing
October 5, 2021
With this release, you can now use Snowflake Secure Data Sharing to share Iterable system event data to your Snowflake account, without setting up an ETL.
In Snowflake, you can query this data and join it with other data to gain a more comprehensive view of your customers and how they engage with your Iterable campaigns.
To learn more, read our support guide on Snowflake Secure Data Sharing.
OAuth2 client credentials support for workflow webhooks
September 28, 2021
This release makes it possible to use an OAuth 2 client credentials workflow to authenticate workflow webhooks in Iterable. This means that Iterable can periodically fetch new access tokens so that they don't expire.
To use OAuth 2 with a workflow webhook, Iterable uses a client ID and client
secret that you provide to fetch an access token from your authorization server.
Then, it authenticates webhook requests by including this token as a header:
Authorization: Bearer <ACCESS_TOKEN>.
Iterable refreshes access tokens at least every 10 days. Additionally, if an expired
access token results in a
401 Unauthorized response, Iterable will fetch a new
access token and try the request again.
To learn more, read Workflow Webhooks.
Campaign and data feed rate limiting
September 24, 2021
Campaign and data feed rate limiting, described below, are currently available in beta. If you'd like to use these features, talk to your Iterable customer success manager to enable them on your account.
This release includes campaign and data feed rate limiting, which allow you to place an upper limit on how fast Iterable can send your campaigns. These limits can help you prevent your website and servers from being overwhelmed with traffic when many of your contacts simultaneously interact with a message you've just sent. They can also help you mitigate deliverability issues that can occur when you are sending high email volumes.
Campaign and data feed rate limiting
Rate limits can be applied to all message mediums (email, SMS, push, in-app message, and web push), and to all types of campaigns (blast, triggered, and workflow).
You can specify send rate limits in three places in Iterable:
On a message type, so that all campaigns sent with that message type inherit the limit:
On each campaign, as you set it up:
On each data feeds you add to your project (campaigns respect the rate limits of data feeds that they use):
Some important things to remember about max send rates:
- When you send multiple campaigns associated with the same rate-limited message type, they do not compete for the rate limit's capacity. That is, each campaign can independently send as fast as the rate limit you select for it when setting it up (with the default rate limit being the one defined on the message type).
- When you send multiple campaigns that access the same rate-limited data feed, they do compete for the rate limit's capacity. That is, the overall traffic to the data feed, across all campaigns, will not exceed the data feed's rate limit.
- When a campaign has a rate limit, Iterable does not necessarily send at that exact rate. However, it will not exceed the rate limit.
- If you enable both Send Time Optimization and a rate limit, it's possible that the rate limit will cause the sends to continue beyond the bounds of your STO window.
- In situations where more than one rate limit is applicable, Iterable uses the most restrictive limit.
To learn more, read:
- Message Channels and Types Overview
- Creating Blast Campaigns
- Creating Triggered Campaigns
- Personalizing Templates with Data Feeds
- Send Time Optimization
- Send Time Optimization Experiments
TLS 1.0 and 1.1 deprecation
September 22, 2021
Today, in line with data encryption best practices, we're deprecating Iterable's API support for incoming calls that rely on Transport Layer Security (TLS) 1.0 and 1.1. We'll completely disable support for TLS 1.0 and 1.1 on October 22, 2021. Starting on that day, API calls that do not support TLS 1.2 will fail.
On affected devices and servers that are not updated to support TLS 1.2 before October 22, 2021, this change will impact any function that relies on Iterable's API. For example, apps running on mobile devices that don't support TLS 1.2 will be unable to track events in Iterable or receive in-app messages (regardless of whether your app uses one of Iterable's mobile SDKs or calls Iterable's API directly).
The vast majority of Iterable's customers will be unaffected by this change. However, a small amount of API traffic (.04%) is at risk.
In particular, some mobile devices running Android 4.4 or lower may be affected by this change. Some of these devices may already have TLS 1.2 enabled by default, and they will continue to work as expected. Others may not have TLS 1.2 enabled by default, and they will be unable to communicate with Iterable. Code fixes suggested in Android's documentation may help some of these devices, but not all.
To understand and mitigate any concerns related to this change:
- Determine how many of your users are running Android 4.4 or lower, and work with your developers to decide whether or not to explore the code fixes suggested in Android's documentation.
- Ensure that calls from your server to Iterable's API support TLS 1.2.
(This is not an exhaustive list.)
We'll send an email notification on October 22, 2021, when we disable support for TLS 1.0 and 1.1.
September 9, 2021
This release brings Aurora—the next generation of Iterable's user experience—to the Templates, Campaigns, and Workflows pages in your Iterable projects. We've also added a new foldering system to these same pages, making it easier to organize and find the resources you're looking for.
Additionally, this release adds new filtering capabilities to Messaging Insights.
Redesigned Templates, Campaigns, and Workflows pages
Improvements to the Templates, Campaigns, and Workflows pages:
- Display information in a more focused and readable way, making it easier to manage your resources.
- Provide an updated searching and filtering interface that allows you to apply more than one filter at a time.
- Make it possible to browse templates in more of a visual way, so you can more easily find what you're looking for.
- Display information about who last modified a resource, and when they did it.
- Introduce a new foldering system, making it easier to organize and find your resources in an intuitive way.
For more information about these updates, read:
Filtering improvements for Messaging Insights
In Messaging Insights, you can now filter campaigns in new ways:
- By specifying one more many specific campaigns
- By label
- By message channel (e.g., transactional vs. marketing)
- By message type (e.g., "Promos" and "Newsletters")
To learn more, read our support guide on Messaging Insights.
User event history summary
September 7, 2021
This release introduces the user event history summary view, which shows aggregate information about the system and custom event data stored on a given user's Iterable profile, for a date range of your choosing.
Among other things, you can use this view to analyze how many times you've messaged a given user on a particular message medium, and whether or not they've interacted with those messages. This information can help you make informed decisions about how to message them in the future.
For example, you might look at many emails you've sent them, whether or not they've clicked on the links in those messages, and if they're more likely to engage with a different message medium.
To see the user event history summary, navigate to Audience > Contact lookup, search for a particular user, go to their Event History tab, and then click View event summary:
On the summary screen, select the events and date range for which you'd like a summary.
Then you'll see a table that lists aggregate counts of the selected events in the specified date range, for the user whose profile you're viewing. You'll also see a visualization of the same data, and a button that allows you to export the results of your query to a CSV file.
To learn more, read our User Profile Overview support guide. If you have further questions, check in with your Iterable CSM.
SMS click tracking and link shortening
July 29, 2021
This release includes SMS link shortening and click tracking, which allow you to shorten links and track clicks in your SMS campaigns, without a third-party service.
SMS link shortening
For any SMS campaign, you can have Iterable shorten links using any of your project's verified tracking domains:
When link shortening is enabled, Iterable will shorten all of an SMS campaign's links, regardless of where they come from:
For example, a
itbldocs.site tracking domain will yield SMS shortlinks such as
https://itbldocs.site/2NMwZ (the selected domain, plus five characters).
If you don't have a custom tracking domain you'd like to use for SMS link
shortening, you can use Iterable's default link shortening domain,
Instead of using
itbl.co, it's always best to use a custom link shortening
domain that's easy to identify with your brand.
To view approximately how your links will appear to your recipients, you can use Iterable's Preview with Data page, which can render your message as personalized for a particular contact—including placeholder shortlinks.
SMS click tracking
When your contacts click the shortlinks in your campaigns, Iterable saves an
smsClick event to their profile. You can use these events to improve your
segmentation and workflow filtering (for example).
Additionally, you can view metrics for SMS clicks, unique SMS clicks, and SMS click rate throughout Iterable (in campaign analytics, messaging insights, dashboards, etc.).
It's not yet possible to use SMS clicks to determine the winner of an experiment.
Since this feature was released, we've updated it to include:
- Deep linking and UTM parameters for SMS shortlinks.
- The ability to use SMS click events to trigger system events, trigger workflows, and filter workflows.
To learn more, read our support guide on SMS Link Shortening and Click Tracking.
Send Time Granularity
July 15, 2021
You now can schedule campaigns with a one-minute specificity, giving you more control of when your campaigns are sent.
When scheduling any kind of blast campaign—email, SMS, in-app message, push notification, or web push—you can choose a 15-minute preset, or you can specify the exact minute you'd like it to go out:
For more information, see our support guide on Creating Blast Campaigns.
New Campaign Analytics Page!
May 25, 2021
Understanding how well your campaigns are performing is a key part of your marketing strategy. We've made some updates to the design and performance of the Campaign Analytics page. Now you can find the most important campaign deliverability, engagement and audience retention metrics at a glance.
Brand-new design: A new, user-friendly interface makes surfacing insights about your campaigns easier than ever.
Simple navigation menu: All of your campaign’s performance metrics are grouped by category and organized in one place.
Beautiful, easy-to-read graphs: We’ve added new data visualizations that make it easier to understand the relationships between your campaign’s performance metrics.
Navigate to Messaging > Campaigns, and click the name of the campaign you’d like to analyze.
To learn more about how to use the Campaign Analytics page, see our support guide on Viewing Campaign Analytics.
In-app message prioritization
May 13, 2021
This release includes in-app message prioritization, which allows you to specify a display priority (low, medium, high or critical) for each in-app message campaign that you send.
In-app message prioritization
Apps built with Iterable's mobile SDKs use the In-App Display Priority value to help determine the display order of your in-app messages. By default, users will see greater priority messages first (sorted secondarily by send time—first sent, first delivered).
Specifying this display priority can be useful when sending an important promotion, a terms of service update, or a transactional message that you want your customers to see before other messages.
- This feature is supported by the following versions of Iterable's mobile SDKs: iOS SDK v6.2.22+, Android SDK v3.2.13+, and React Native SDK v1.0.27+.
- In-app message campaigns created before the existence of this feature—both marketing and transactional—have automatically been given a medium in-app display priority. Since these messages all have the same priority, their display order will not change.
For more information, read:
SMS opt-out settings
April 8, 2021
This release updates Iterable's SMS opt-out settings. You can now configure your project to automatically send SMS opt-out instructions in one of three ways:
- With every SMS campaign
- With only the first SMS campaign to each contact
- Never (unless you manually include the instructions in your message content)
It's an industry best practice to include opt-out instructions with every informational or promotional SMS campaign. For more information, see the CTIA's Messaging Principles & Best Practices document.
Additionally, these options are important because they can improve SMS deliverability. In particular, in an effort to protect consumer privacy, AT&T has announced plans to more tightly filter SMS messages sent from 10-digit long codes that don't include opt-out instructions (and it's conceivable that other carriers might eventually follow suit). Because of this, SMS messages without these instructions—when sent to consumers on AT&T's network—may not get delivered. Automatically including opt-out instructions can help prevent this from happening.
Iterable's project settings used to provide a Disable SMS Disclaimer toggle. This release changes that toggle to an Include SMS opt-out instructions drop-down menu, and your projects have been migrated to this new setting (don't worry, project behavior stays the same):
- For projects that previously used Disable SMS Disclaimer, Include SMS opt-out instructions is now set to Never.
- For all other projects, Include SMS opt-out instructions is now set to Only with the first SMS campaign to each contact.
To learn more, see the SMS Overview.
March 23, 2021
This release introduces holdout groups, a way to quantify the impact a campaign and its experiment variations have on purchase and conversion rates.
A holdout group, created as part of an experiment prevents a subset of a campaign's audience from receiving it.
However, Iterable still tracks the conversion rates for your holdout group, which allows you to compare its performance with your campaign's performance. This can give you a more accurate understanding of your campaign's impact on conversion rates.
To learn more, read Holdout Groups.
January 27, 2021
Our new Messaging Insights feature is now available!
Messaging Insights is a new tool that enables you to review the overall performance of your organization's recent campaigns.
With Messaging Insights, you can:
- Filter campaigns by message medium, campaign type, campaign state, and campaign name or ID
- Display information about aggregate campaign performance over a time period of your choosing
- Compare individual campaigns
- Inspect aggregate user engagement over time, by segment, by location and by device
- Export your campaign performance data for offline viewing
To use this feature, navigate to Insights > Messaging Insights and select the campaigns, filters, metrics, and time frame you'd like to analyze.
To learn more about how to use this feature, see Messaging Insights.
Selective in-app messaging
January 11, 2021
This release introduces selective in-app messaging, which allows you to send an in-app message campaign to specific mobile apps (rather than all of the apps associated with your Iterable project).
You might use selective in-app messaging, for example, to send platform-specific pricing or promotions, or to describe features in a specific app or mobile platform (iOS or Android).
Selective in-app messaging is compatible with mobile apps that use versions of
Iterable's mobile SDKs (iOS, Android, or React Native) released in June 2019 and
later. If your apps don't use Iterable's mobile SDKs, you can use this feature by
including your app's package name and platform in requests to
which fetches in-app messages.
To learn more, see the following support guides: