Skip to content

Feature Flag Migration Playbook#95

Open
mintlify[bot] wants to merge 20 commits into
mainfrom
amymadden-ffmigration
Open

Feature Flag Migration Playbook#95
mintlify[bot] wants to merge 20 commits into
mainfrom
amymadden-ffmigration

Conversation

@mintlify

@mintlify mintlify Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

This update introduces a new guide for migrating feature flags and experiments from other platforms to Mixpanel. It outlines a five-part process to ensure a smooth transition, covering exposure events, configurations, and verification.

Changes

  • Added guides/strategic-playbooks/feature-flag-migration-playbook.mdx.
  • Included new images: images/FeatureFlagSetup.png, images/ExperimentSetup.png, and images/ExperimentSetupMetrics.png.
  • Integrated the new playbook into the docs.json navigation structure.

Mintlify

0 threads from 0 users in Mintlify

  • No unresolved comments

Open in Mintlify Editor

- Updated docs/what-is-mixpanel.mdx
- Created images/FeatureFlagSetup.png
- Created images/ExperimentSetup.png
- Created images/ExperimentSetupMetrics.png
- Created guides/strategic-playbooks/feature-flag-migration-playbook.mdx
- Updated docs.json

Mintlify-Source: dashboard-editor
Comment thread docs/what-is-mixpanel.mdx

@kurbycchua kurbycchua left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall comment is we need to make sure we fact check these as we do not want a customer ending up in messing up their experiment / FF data in mixpanel. Migrating the exposure of $experiment_started I find it the easy part, the challenging part is the Experiment report and the FF report of which underlying drives the analysis and the gates

Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx
Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx
Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx
Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx
Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx
mintlify Bot added 2 commits July 16, 2026 10:04
- Updated docs/what-is-mixpanel.mdx
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
Comment thread docs.json
"guides/strategic-playbooks/onboarding-playbook/beyond-onboarding"
]
},
"guides/strategic-playbooks/feature-flag-migration-playbook",

@kurbycchua kurbycchua Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@amymadden-bit more of a nitpick on this... depending on how we want to position this the actual content has a title of "Migrating Your Feature Flags and Experiments to Mixpanel" but the menu says "Feature Flag Migration Playbook" Also since the content is also covering feature flag that are NOT related to experiments - that's another angle to consider.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kurbycchua fair point, it's a bit long but I updated to "Feature Flag & Experiments Migration Playbook" (I think.... I did it in mintlify so hopefully it pulled over)

Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx Outdated
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor

## Step 1. Migrate past experiment exposure events

An exposure event records that a user was enrolled in an experiment, and was bucketed into an experiment variant. To keep your historical data, export your existing exposure events from your current vendor and ingest them to Mixpanel as `$experiment_started` events.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xinlintanmp @amymadden-bit nitpick: This statement "An exposure event records that a user was enrolled in an experiment, and was bucketed into an experiment variant." might imply to readers that exposure events (ie feature gate, dynamic config) not related to experiments need not be migrated.

Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx Outdated
"properties": {
"distinct_id": "alice@example.com", // enrollment ID
"time": 1709275888, // Timestamp
"$insert_id": "exp_4821_alice_1709275888",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xinlintanmp maybe a comment like //prevent re-run duplicates

Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx Outdated
"status": "enabled",
"data_group_id": null,
"serving_method": "client",
"experiment_id": 12345,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xinlintanmp @amymadden-bit We didn't really explain these? My guess is they should be tied to the id returned when creating the experiment? This is why I think it's important to have an engineer review these examples?

  • experiment_id
  • is_experiment_active

Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx

@kurbycchua kurbycchua left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See additional comments, I have resolved those that were updated. This is a more detailed read from me and I literally took a longer time trying to push my shoes into someone who is reading this for the first time and trying to figure out how to migrate. It's a good start but I feel it needs more meet to be a playbook

- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
@greptile-apps

greptile-apps Bot commented Jul 21, 2026

Copy link
Copy Markdown

Confidence Score: 5/5

No additional blocking issue qualifies for this follow-up review.

  • No distinct incomplete or unsafe fix was found in the reviewed changes.
  • No separate production breakage remained after applying the required follow-up scope.

Important Files Changed

Filename Overview
guides/strategic-playbooks/feature-flag-migration-playbook.mdx Adds the feature flag and experiment migration guide.
docs.json Adds the migration playbook to the strategic playbooks navigation.
docs/what-is-mixpanel.mdx Updates the Next Steps section on the Mixpanel introduction page.

Reviews (5): Last reviewed commit: "Merge branch 'main' into amymadden-ffmig..." | Re-trigger Greptile

Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx
Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx

In the case of live experiments, migration will result in users getting reassigned to a different variant mid-experiment. We recommend completing any existing experiments and importing the historical exposure events into Mixpanel, then launching the equivalent experiment fresh in Mixpanel post-cutover.

1. **If your code uses OpenFeature**: Swap the provider — replace your current provider with the Mixpanel provider and leave your existing evaluation calls unchanged, as long as your flag keys carried over identically.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Provider Swap Changes Evaluation Context

Identical keys are not enough to keep existing OpenFeature calls unchanged. Mixpanel does not treat targetingKey as a special bucketing key, and its web provider does not support per-evaluation context, so applications relying on either behavior can target or bucket users incorrectly after the swap.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xinlintanmp @russell-loube-mixpanel anyway to validate what AI said above

Comment thread guides/strategic-playbooks/feature-flag-migration-playbook.mdx
Comment thread docs/what-is-mixpanel.mdx
Comment on lines 63 to +67
Now that you understand the basics, **we recommend planning the first events you would like to track**. This will help you understand what you need to get started. Choosing these events should take no more than 5 minutes.

<ExtendedButton title="Plan Your Tracked Events" link="/docs/what-to-track" />

#### Already Know What You Want to Track?

If you already know the events you want to track, you can skip planning and start by installing Mixpanel.

<ExtendedButton title="Install Mixpanel" link="/docs/quickstart/install-mixpanel" />
If you already know the events you want to track, you can skip planning and start by installing Mixpanel. No newline at end of file

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Next Steps Lose Their Links

The updated page still tells readers to plan events or install Mixpanel, but both destination buttons were removed. The onboarding page now ends without a way to perform either recommended next step.

Suggested change
Now that you understand the basics, **we recommend planning the first events you would like to track**. This will help you understand what you need to get started. Choosing these events should take no more than 5 minutes.
<ExtendedButton title="Plan Your Tracked Events" link="/docs/what-to-track" />
#### Already Know What You Want to Track?
If you already know the events you want to track, you can skip planning and start by installing Mixpanel.
<ExtendedButton title="Install Mixpanel" link="/docs/quickstart/install-mixpanel" />
If you already know the events you want to track, you can skip planning and start by installing Mixpanel.
Now that you understand the basics, **we recommend planning the first events you would like to track**. This will help you understand what you need to get started. Choosing these events should take no more than 5 minutes.
<ExtendedButton title="Plan Your Tracked Events" link="/docs/what-to-track" />
#### Already Know What You Want to Track?
If you already know the events you want to track, you can skip planning and start by installing Mixpanel.
<ExtendedButton title="Install Mixpanel" link="/docs/quickstart/install-mixpanel" />

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx

Mintlify-Source: dashboard-editor
- Updated guides/strategic-playbooks/feature-flag-migration-playbook.mdx
- Created images/Screenshot-2026-07-21-at-4.36.21-PM.png

Mintlify-Source: dashboard-editor

@kurbycchua kurbycchua left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resolved a couple of comments and kept those that seems unresolved open, @xinlintanmp once you edit something do you mind replying in the comment so I'd know which one you already accounted for?

@kurbycchua kurbycchua left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@russell-loube-mixpanel tagged you in 2 comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants