Set up mParticle
This topic describes how to send Optimizely experiment information from your Android and iOS apps to mParticle for further analysis.
Note
This is a third-party integration and is not an Optimizely subprocessor. See Optimizely's Third-Party Add-Ons & Platform Integration Terms.
The mParticle integration uses the Optimizely DECISION notification listener and the Activate, Get Enabled Features, Get Feature Variable, and Is Feature Enabled methods.
When any of these methods are called, this triggers the DECISION notification listener to send an event containing user, experiment, and variation data as input to mParticle. Once the integration is complete, you can expect to see the event in your Optimizely input feed on the mParticle Live Stream dashboard within 1 minute.
Before setting up Optimizely as input data for mParticle, we recommend that you review mParticle’s documentation on the Optimizely integration.
mParticle and Android
If you are getting started, read mParticle Getting Started guide for the Android SDK.
Step 1: Prerequisites
- Make sure that the required experiment is running in Optimizely.
- Install the mParticle SDK with the additional Optimizely kit on the Android app.
Step 2: Enable the integration
The example code below sends an DECISION notification listener that contains information about the user, experiment, and variation to mParticle in an event called Experiment Viewed
.
Note
You can customize the event name and also specify which event tags are included the event payload.
import com.mparticle.MParticle;
OptimizelyClient optimizelyClient = optimizelyManager.getOptimizely();
// Add a DECISION listener
int notificationId = optimizelyClient.getNotificationCenter().addNotificationListener(NotificationCenter.NotificationType.Decision, new DecisionNotificationListener() {
@Override
public void onActivate(Experiment experiment,
String userId,
Map<String, String> attributes,
Variation variation) {
String experimentId = experiment.getId();
String experimentKey = experiment.getKey();
String variationId = variation.getId();
String variationKey = variation.getKey();
Map<String, String> eventInfo = new HashMap<String, String>(2);
eventInfo.put("experimentId", experimentId);
eventInfo.put("experimentName", experimentKey);
eventInfo.put("variationId", variationId);
eventInfo.put("variationName", variationKey);
MPEvent event = new MPEvent.Builder("Experiment Viewed", EventType.Transaction)
.duration(100)
.info(eventInfo)
.category("AB Test")
.build();
MParticle.getInstance().logEvent(event);
}
});
mParticle and Optimizely integration via CocoaPods
You can add the mParticle - Optimizely integration kit to your iOS app using CocoaPods. For more information, see the mParticle - Optimizely article on the CocoaPods website.
Q/A and troubleshooting
To verify the integration is working, check the Optimizely input feed of the mParticle Live Stream dashboard. You should see the sent event (Experiment Viewed
, or your customized name) within 3-5 minutes after completing the integration. If you do not see the event, make sure your experiment is running correctly in Optimizely.
Note
mParticle uses dollars and Optimizely uses cents. mParticle handles the conversion to dollars.
Unsupported platforms
Optimizely does not have a suggested solution for integrating mParticle with our SDKs for these platforms:
- Agent
- Go
- C#
- Java
- JavaScript
- Node
- PHP
- Python
- Ruby
Updated 5 months ago