Intercom Migration Guide

Easily plan your migration from Intercom to OpenBack for push & in-app messaging without interruption.

Before migrating, we recommend updating your app to include the OpenBack SDK, then users won’t be lost between app updates. The base setup steps for adding OpenBack are:

  • Create your OpenBack app on our dashboard.
  • (Recommended) Add your APNs certificate/Firebase Cloud Messaging Key to your OpenBack app.
  • Complete the basic SDK integration for Native Android/iOS or Plugin.

Integrating OpenBack will not interfere with any other services you may have - as such, you can run services alongside each other during migration.

For help with migrating to OpenBack from Intercom, feel free to contact the onboarding team onboarding@openback.com and we can help guide you through the process including setting up a simple plan.

1 - Feature Explanations across Platforms

Intercom ->OpenBack
Data Attributes ->Custom Segments & Attributes
Segment users based on custom in-app information. Send notifications to users within these segments.Segment users based on custom in-app information and send notifications to these users. Attributes are used to store information about users that is then used to personalize the content of a notification.
Events ->Custom Events
Send notifications to users based on in-app actions.Send notifications to users based on in-app actions.
Goals ->Goals
N/A - in Intercom you are limited to just analyzing goals in the dashboard using Data Attributes & Events (see above)OpenBack Goals can be used to track user actions or changes to user data. The Goal completion is recorded device-side and provides metrics for goal value, currency, goal completion time and if the goal was completed immediately after clicking a notification or within a conversion window.
Metrics
While Intercom is limited to just sent and clicked, OpenBack requires no custom setup or migration - out of the box you will get a full set of metrics on messaging.
Allow/Block - Opt-Out Status
As this is handled on the device side, OpenBack automatically picks up the user's current status without any work required to or migrate or transfer user preferences. Users will NOT be shown the OS permission dialogue again.
Deep Links & Deep Linking
As these are defined by you at an app level, there is no work to migrate across. To make things easier for sending messages, you may want to setup shortcuts in the OpenBack Dashboard under App Settings -more details here

2 - Attributes & Custom Segments

For help with deciding whether your user information should be stored as an Attribute or a Custom Segment, contact onboarding@openback.com anytime.

Attributes

OpenBack uses Attributes to personalize the content of a notification with user information that is stored on the device, such as a user’s first name. When migrating from Intercom, any Intercom Data Attributes that would have been used to personalize the notification content should be setup as OpenBack Attributes in your mobile app.

To learn more about OpenBack Attributes go here for Android and here for iOS.

Here are examples of your existing Android code for Intercom, and also the updated Android code for OpenBack Attributes:

// Intercom example code
UserAttributes userAttributes = new UserAttributes.Builder()
.withName("Bob")
.withEmail("bob@example.com")
.build();
Intercom.client().updateUser(userAttributes);
//OpenBack example code
OpenBack.setAttribute("name", "Bob");
OpenBack.setAttribute("email", "bob@example.com");

Custom Segments

OpenBack uses Custom Segments to store user information in OpenBack on the user’s device which can then be used to target specific segments of users as well as personalizing the content of the messages.

When migrating, any Intercom Data Attributes that would have been used to segment your users can be converted to OpenBack Custom Segments.

To learn more about OpenBack Custom Segments go here for Android and here for iOS.

Here are examples of your existing code for Intercom, and also the updated code for OpenBack Custom Segments:

// Intercom example
UserAttributes userAttributes = new UserAttributes.Builder()
.withCustomAttribute("paid_subscriber", "Yes")
.withCustomAttribute("monthly_spend", 155.5)
.withCustomAttribute("team_mates", 3)
.build();
Intercom.client().updateUser(userAttributes);
// OpenBack example
// Custom Segment 1 for Subscription Status
OpenBack.setCustomSegment(OpenBack.CUSTOM_SEGMENT_1, "paid_subscriber");
// Custom Segment 2 for monthly spend
OpenBack.setCustomSegment(OpenBack.CUSTOM_SEGMENT_2, "155.5");
// Custom Segment 3 for number of team_mates
OpenBack.setCustomSegment(OpenBack.CUSTOM_SEGMENT_3, "3");

3 - Custom Events

For help with deciding whether your user actions should be stored as a Custom Event or a Custom Segment, contact onboarding@openback.com anytime.

Custom Events can be used to deliver notifications to users based on in-app actions. A Custom Event can deliver the notification immediately or after a specific delay that can be set on device or by the OpenBack dashboard.

When migrating from Intercom, any Events that would have been used for segmenting users and delivering notifications can be converted to Custom Events.

To see more about how to use Custom Events you can go to our Android and iOS docs.

Here are examples of your existing code for Intercom, and also the updated code for OpenBack Custom Events:

// Intercom example code
Map<String, Object> eventData = new HashMap<>();
eventData.put("order_date", "1392036272");
eventData.put("stripe_invoice", "38572984");
Intercom.client().logEvent("sent_invitation", eventData);
// OpenBack example code
OpenBack.signalEvent("sent_invitation", 10);

4 - Importing Push Tokens

This is typically not required as by default the OpenBack SDK handles the user’s push token and syncs the token with the OpenBack Engine (backend), which starts once the OpenBack SDK is included in the app, so importing push tokens is not usually relevant, but can be supported.

A push token is a unique key, created and assigned by Apple(APNs) or Google(FCM) to create a connection between a specific mobile app on a specific iOS or Android device. The push token is then used by conventional platforms when sending push notifications from their backend systems to APNs/FCM who then make efforts to deliver the notification to that device. Push tokens change from time to time, and sometimes go stale. Push tokens are a key source of the deliverability issues which OpenBack resolves, you can read more about that here.

While not strictly necessary, OpenBack recommends setting up APNs/FCM as then a silent push notification is sent out to apps whenever there is updated content & settings for faster updates.

If you have a collection of your user’s push tokens, usually in .CSV format, we can bulk import them for you. Contact onboarding@openback.com to finalize an import plan; and also for help exporting Push Tokens from existing platforms including Airship, OneSignal and others.

note

Android push tokens are always mixed casing whereas iOS push tokens can sometimes be all lower case or all upper case. If importing existing push tokens into OpenBack, pay attention to the casing of iOS push tokens to avoid duplicate records.

5 - Detailed SDK Comparisons

SDKIntercomOpenBack
Android Size3.1MB230kB
iOS Size3MB900kB or less
Unity PluginNot AvailableYes
React Native PluginNot AvailableYes
Titanium PluginNot AvailableYes
Cordova/Phonegap PluginYesYes
Deliverability OptimisationNot AvailableYes
Moment of Delivery ControlNot AvailableYes
Full Notification MetricsNot AvailableYes
Client-side Real-Time Content PersonalisationNot AvailableYes
Dynamic Push (Auto-Remove/Update)Not AvailableYes
App InboxNot AvailableYes
In-app Video MessageNot AvailableYes