- Optimizely X Full Stack
This article will help you:
- Implement custom analytics, audiences, and events integrations for Optimizely X Full Stack
The Optimizely X Full Stack SDKs make no assumptions about the environment in which you're running experiments, so we don't offer any integrations out of the box. Instead, we give you the ability to build custom integrations to target content, measure results, or enhance your users' experiences.
Read on to learn how to implement custom analytics, audiences, and notification listeners.
Analytics integrations let you filter your third-party data by Optimizely experiment and variation. This allows you to measure Optimizely experiment performance based on events that are tracked by the third party. Analytics integrations also let you create custom third-party reports that include only users who saw a particular experiment.
If you already implemented an integration but are questioning the data or want to know what third-party data Optimizely will support, read about data discrepancies in third-party data.
Analytics integrations are conceptually simple, but there are some important considerations in setting up your integration. When a user activates an experiment, you need to notify your third-party analytics service which experiment and variation the user saw.
Generally, each third-party analytics platform has its own event format for this notification. For example, Segment's Experiment Viewed event has expected properties that contain your experiment and variation. With Google Analytics, you can use a non-interaction event with a custom dimension that contains your experiment and variation. Check your third-party analytics platform's documentation to confirm how they expect you to send this information.
For Full Stack, you will need to notify your third-party analytics platform when a user sees an experiment, which is when you use activate(), the activate function. Development teams can make use of our notification listeners to bind this functionality to our client’s activate() and isFeatureEnabled() functions.
Our developer documentation includes examples of how to integrate Full Stack with common analytics platforms.
Audience integrations help you target your Optimizely experiments to segments of users that are identified in a third-party data management platform (DMP) like Adobe Audience Manager.
In Optimizely, you can target your experiment to users by values for the attributes that you've set up in your project. Add the audience attributes that you'll target to your Optimizely project before passing them to Optimizely in your code.
After you create the attributes within Optimizely, you can pass your DMP's attributes to our activate(), track(), and variable getter method under the attributes argument. We don’t currently offer integrations to handle this audience targeting automatically.
Notification listeners give you flexibility when implementing a custom integration. Use them to programmatically observe and act on various events that occur within the SDK. You can also use them to enable integrations by passing data to external services.
Here are a few examples for using notification listeners:
Send data to an analytics service and report that user_123 was assigned to variation A
Use SDK events to send alerts to data monitoring tools like New Relic and Datadog to better visualize how A/B tests affect service-level metrics
Pass all events to an external data tier, like a data warehouse, for additional processing and to leverage business intelligence tools
Use our developer documentation to implement notification listeners.