Integrations

Please note that our integrations are currently only supported in our Android and iOS SDKs.

Analytic Integrations

Apptimize can automatically capture event and attribute data that you have already instrumented with analytic frameworks. When you enable one of our analytics ingegrations, our SDK makes a copy of the data you are sending to that provider and sends the copy to Apptimize. These integrations allow you to analyze the impact of A/B experiments without any additional analytic setup work.

The analytic integrations will be off by default for all new customers. To enable these integrations for your app, go to Manage -> Integrations. Note: Remote management of these integrations is supported as of Android SDK 3.6.0 and iOS SDK 3.3.0. For previous SDK versions, they are controlled only by SDK setup parameters. If the integrations have been disabled at the SDK level, data will not be sent to Apptimize, regardless of your settings on the Manage Integrations page.

_images/manage-integrations.png

A summary of currently supported integrations is listed below. If you use another analytics provider that we don’t support right now, please contact us.

Integration Import Events Import User Info Export Detail
Adobe Marketing Cloud (Omniture) Yes Manual Manual
  • State & Action Events
  • User Identifiers
Amplitude Yes Yes Manual
  • Events
  • Revenue [1]
  • RevenueV2 [2]
  • User Properties
Firebase Yes Yes Manual
  • Events
  • User ID
  • User Properties
Flurry Yes Yes Manual
  • Events [3]
  • Gender/Age/UserId
Google Analytics Yes Manual Manual
  • Events
Localytics Yes Yes Yes
  • Standard and Custom Events
  • customerValueIncrease [1]
  • Dimensions
Mixpanel Yes Yes Manual
  • Events
  • Super Properties

Manual Integration: you can manually move the data between SDKs by:

Integration Kits

We also support using Apptimize through integration kits. These are packages that you install using CocoaPods or Maven to add support for a particular third party integration.

When using an integration kit, the kit will handle import and initialization of the Apptimize SDK and will control whether the SDK should be exporting or importing data automatically from other third-party services. For example, mParticle disables all event exporting and importing within the Apptimize SDK to ensure that all data flows through mParticle and is not bypassed from the Apptimize SDK. Refer to the third-party integration kit documentation to determine exactly what the behavior of that kit is.

Integration Import Events Import User Info Export Details
Segment.io Yes Yes Yes
  • Track, Screen
  • Identify
mParticle Yes Yes Yes
  • Log Events
  • UserAttributes

Customer Engagement Integrations

Our integrations with customer engagement products allow Apptimize experiments to be coordinated with relevant messaging campaigns. These integrations send user-level data related to experiment participation to the provider which can then be used for audience targeting.

Integration Integration Type Import User Info Export Details
Airship Automated No Yes
  • Tags
Braze Sample Code No Yes
  • Custom Attributes

Disable Integrations

Importing and exporting integrations can be disabled at the SDK level. If the integrations have been disabled at the SDK level, data will not be sent to Apptimize, regardless of your settings on the Manage Integrations page.

By default, both importing and exporting integrations are enabled at the SDK level. To turn off importing and exporting:

iOS (Objective-C)
// If you're using the zero line setup (ApptimizeAppKey set in plist)
// Set following Keys to false in Info.plist
ApptimizeEnableThirdPartyEventExporting
ApptimizeEnableThirdPartyEventImporting

// If you're using the in code setup (Apptimize startApptimizeWithApplicationKey)
// Add the following ApptimizeOptions to setup
NSString *apptimizeAppKey = @"[YOUR_APP_KEY]";
NSDictionary *apptimizeOptions = @{ApptimizeEnableThirdPartyEventImportingOption : @NO,
                                   ApptimizeEnableThirdPartyEventExportingOption : @NO};
[Apptimize startApptimizeWithApplicationKey:apptimizeAppKey options:apptimizeOptions];
iOS (Swift)
// If you're using the zero line setup (ApptimizeAppKey set in plist)
// Set following Keys to false in Info.plist
ApptimizeEnableThirdPartyEventExporting
ApptimizeEnableThirdPartyEventImporting

// If you're using the in code setup (Apptimize startApptimizeWithApplicationKey)
// Add the following ApptimizeOptions to setup
let apptimizeAppKey = "[YOUR_APP_KEY]"
let apptimizeOptions = [ApptimizeEnableThirdPartyEventImportingOption : false,
                        ApptimizeEnableThirdPartyEventExportingOption : false]
Apptimize.start(withApplicationKey: apptimizeAppKey, options: apptimizeOptions)
Android
String apptimizeAppKey = "YOUR_APP_KEY";
ApptimizeOptions apptimizeOptions = new ApptimizeOptions();
apptimizeOptions.setThirdPartyEventExportingEnabled(false);
apptimizeOptions.setThirdPartyEventImportingEnabled(false);
Apptimize.setup(context, apptimizeAppKey, apptimizeOptions);

[1](1, 2) Apptimize will import the corresponding double value included for Results calculations
[2]Note that revenueV2 event names are tracked but the corresponding double value is not available within Apptimize
[3]Note that if logError and logEvent are used in timing methods, they will not be automatically imported to Apptimize