You can integrate Flagsmith with Mixpanel. The integration automatically sends the flag states for identified users into Mixpanel for cohort analysis, A/B testing and more. The process is as follows:
Integration Setup
- Get the Mixpanel Project Environment ID for your Mixpanel project from the Mixpanel Manage Project page (Project Settings > Project Token)
- Add the Project Token into Flagsmith (Integrations > Add Mixpanel Integration)
- All API calls generated by the Flagsmith SDK to the
Get Identity Flags
endpoint will send the a full set of flag evaluations for that particular user to Mixpanel as aUser Profile
How it Works
For flags that contain remote config values, Flagsmith will pass the value of the flag to Mixpanel if the flag is
enabled
. If the flag has no remote config value, Flagsmith will just pass the boolean state for the flag.
Identity flag values are passed into Mixpanel.
Here's a demo user in Flagsmith:
If we make the call to the Flagsmith API to get the flags for this user:
curl 'https://edge.api.flagsmith.com/api/v1/identities/?identifier=development_user_123456' \
-H 'x-environment-key: 8KzETdDeMY7xkqkSkY3Gsg'
And then take a look in our Mixpanel dashboard, you can see the user and the flag data that has been sent to the Mixpanel platform.
Use Case
Once the integration has been set up, you can start segmenting your Mixpanel identities based on the flags that they saw. This means you can run AB tests driven by Flagsmith segments, and have the data show up automatically in Mixpanel.
Integration Notes
You have to identify users on both platforms in the same way. The Flagsmith Identity ID
must be the same as the
Mixpanel identity
.
How It Works Under The Hood
Every time an Identity
requests their flags from the Flagsmith API, Flagsmith will send a POST
to
https://api.mixpanel.com/engage#profile-set
with the following JSON payload:
{
"$token": "<YOUR_MIXPANEL_PROJECT_TOKEN>",
"$distinct_id": "<FLAGSMITH_IDENTITY_ID>",
"$set": {
"<FLAG_1_ID>": "<FLAG_1_STATE>",
"<FLAG_2_ID>": "<FLAG_2_STATE>",
"...": "..."
}
}
Getting Mixpanel Cohorts into Flagsmith
If you want to control Flagsmith Flags based on Cohorts in Mixpanel, you will need to send cohort data from Mixpanel into Flagsmith. There is no way currently of automating this process from the Mixpanel side, but you can send cohort data from MixPanel into Flagsmith, using Mixpanel Webhooks. The flow looks like this:
Identity cohort changes in Mixpanel -> Triggers MixPanel Webhook -> Hits endpoint on your infrastructure -> You trigger a request to Flagsmith to set traits
This Webhook will be triggered by Mixpanel as Identities/Users enter or leave Mixpanel cohorts. We can use this trigger to copy the relevant data from Mixpanel into Flagsmith.
Set up a webhook that accepts Mixpanel cohort data as described here, then write the cohorts as Traits within the relevant Identities. You can send Trait data either using our SDKs or with a REST query as defined in our API docs.