Integrations

Supported on ios-logo android-logo rest-logo

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 integrations, 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

Yes

  • Events

  • Super Properties

Important

Mixpanel users can be associated with Apptimize users manually by setting the $apptimize_user_id in Mixpanel with the Apptimize.getPartnerID method available in Apptimize. Do this if ThirdPartyImporting is disabled or when using the Mixpanel Swift SDK, which does not support ThirdPartyImporting.

For more information, see Matching Users between Apptimize and Mixpanel.

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

Important

mParticle custom attribute should only be strings

The underlying mParticle events API only accepts three types of values: strings, lists, and the JSON null sentinel in the case of tags. The Android SDK provides several helper methods that let you pass in non-strings - but these values will always be converted to strings.

For more information, see https://docs.mparticle.com/developers/sdk/android/users/#set-user-attributes

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

Opt-in

User ID Only

Yes

  • Tags

  • Channels

  • User ID

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];

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