Integrations
Iterable makes consumer growth marketing and user engagement simple. With Iterable, marketers send the right message, to the right device, at the right time.
Iterable is a multi-channel growth marketing and user engagement platform that powers marketing, transactional, and lifecycle campaigns on email, web and mobile. Iterable requires your application to be collecting email addresses. This can be done by calling the setUserIdentity
SDK method.
In order to support Iterable’s features such as deeplinking, push notifications, in-app notifications, and more, you must also include the Iterable Kit as part of your mParticle SDK installation. See Iterable Kit Integration for the Kit’s full feature list and installation instructions.
The Iterable integration supports Android, iOS and Web data. All event data is forwarded server-side, even if the Iterable Kit is installed.
Iterable will not accept data more than 24 hours old.
In order to forward events to Iterable, you must have an account with Iterable. You can sign into your Iterable account at https://app.iterable.com/login/
Create a dedicated Mobile (client-side) API key for the Iterable Event integration:
mparticle-event-integration
.If you will be sending push registration events, you will need to provide the Iterable Push Integration names as part of the mParticle configuration. This can be done from Iterable:
mParticle will forward the following identifiers to Iterable where available:
The Iterable integration will automatically map the following mParticle user attributes to corresponding Iterable user attributes:
mParticle User Attribute | Iterable User Attribute | Description |
---|---|---|
$Mobile |
phoneNumber |
The user’s mobile phone number. Iterable uses the phoneNumber attribute primarily for sending SMS text messages. For more information, see User Profile Fields Used By Iterable. |
The Iterable integration supports the following event types:
Iterable will map mParticle purchase events to Iterable’s track purchase api call.
An add to cart event is mapped to Iterable’s updateCart commerce event. Iterable does not aggregate partial cart updates. As a result, each outgoing add to cart event from mParticle overwrites a user’s cart contents, so the cart contents in Iterable will only reflect the most recent add to cart event’s product(s).
You can map a custom event to Iterable’s Update User Subscriptions api call. See the Platform Guide for general help with Custom Mappings. The ‘Update Subscriptions’ event takes the following attributes, all optional.
Attribute Name | Description |
---|---|
Subscribed Email Lists | Comma-separated list of all Iterable Email lists that the user is subscribed to. |
Unsubscribed Channel IDs | Comma-separated list of all Iterable Email channel ids to unsubscribe from. |
Unsubscribed Message Type IDs | Comma-separated list of all Iterable individual message type ids to unsubscribe. This will not unsubscribe from the associated channel. |
Campaign ID | Campaign to attribute unsubscribes |
Template ID | Template to attribute unsubscribes |
Iterable’s client-side mParticle Kit enables the following features:
The Kit automatically handles user registration, push notifications, basic in-app messaging, and deeplinking by mapping mParticle’s APIs to analogous Iterable APIs. To learn more about these API mappings, you can review the source code:
To install the Iterable Kit for iOS:
# Sample Podfile
pod 'mParticle-Iterable', '~> 8.1.0'
# Sample Cartfile
github "Iterable/mparticle-apple-integration-iterable" ~> 8.0.2
To install the Iterable Kit for Android, add the Kit dependency to your build.gradle
file:
// Sample build.gradle
dependencies {
compile 'com.mparticle:android-iterable-kit:5.14.+'
}
To learn more about mParticle Kits and how to incorporate them when setting up mParticle’s SDK, please review the mParticle Kit documentation:
If your app includes the Iterable mParticle Kit, mParticle passes Iterable push notifications to the Kit for display. However, for this to work, you must first set up a mobile app and push integration (with associated push credentials) in Iterable.
See mParticle’s Push Notification documentation for more details:
Additional setup:
UNUserNotificationCenterDelegate
calls to mParticleInstanceIdService
, MPReceiver
, MPService
to AndroidManifest.xmlFor rich push notification support on iOS, you need to set up a Notification Service Extension. Please refer to the Iterable support documentation on Advanced iOS Push Notifications.
On Android, rich push notifications are automatically supported with the Iterable Kit installed.
In-app notifications are handled automatically by the bundled Iterable SDK. For more details and customization options, please refer to the Iterable documentation:
To handle deeplinks and custom actions from push notifications and in-app messages, you may need to define a urlDelegate (on iOS) or a urlHandler (on Android) on the IterableConfig
object.
Whenever you need to pass custom configuration for the Iterable SDK, use the Kit API:
let config = IterableConfig()
config.urlDelegate = self
MPKitIterable.setCustomConfig(config)
IterableConfig.Builder configBuilder = new IterableConfig.Builder()
.setUrlHandler(this);
IterableKit.setCustomConfig(configBuilder.build());
Setting Name | Data Type | Default Value | Description |
---|---|---|---|
API Key | string |
API Key used to connect to the Iterable API - see the Integrations section of your Iterable account. | |
GCM Push Integration Name | string |
GCM integration name set up in the Mobile Push section of your Iterable account. | |
APNS Sandbox Integration Name | string |
APNS Sandbox integration name set up in the Mobile Push section of your Iterable account. | |
APNS Production Integration Name | string |
APNS Production integration name set up in the Mobile Push section of your Iterable account. | |
Coerce Strings to Scalars | boolean |
True | If enabled, mParticle will attempt to coerce string attributes into scalar types (integer, boolean, and float). Note: this setting does not apply to event attributes since mParticle will always attempt to coerce them into scalar types. |
Setting Name | Data Type | Default Value | Platform | Description |
---|---|---|---|---|
User ID | string |
customerId | All | Select which user identity to forward to Iterable as your customer’s user ID. |
Was this page helpful?