Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
We’re making major improvements to the platform, adding new features and enhancing your overall experience.
You are currently viewing documentation for the deprecated version of our product. The latest version, called FE&R (Feature Experimentation & Rollout) is now on early access for all clients on AB Tasty platform.
We’d love to hear your thoughts and offer you exclusive early access to these exciting updates.
. 📘
Visitor ID requirement To make this integration work, you must identify the visitor using the same user ID before calling the Decision API.
What you must do
• Identify the visitor in FullStory using:
FS.identify(YOUR_USER_ID);
• Call the Decision API with this same visitor ID
• If the visitor ID isn’t passed, the hit won’t be sent to the third party
Flagship Visitor ID & Segment.io User ID
For the user matching to be achieved (and thus let Flagship target your Segment traits) the User ID sent in the Segment .identify calls must be the same value than the Flagship Visitor ID sent to the decision API.
Segment documentation on User ID .
The AB Tasty Decision API must be called using this visitor ID; otherwise, the event will not be sent to Mixpanel.
The AB Tasty > Mixpanel Connector allows you to automatically send server-side experiment data from AB Tasty’s Feature Experimentation platform to Mixpanel. This integration enables you to analyse how specific feature flags and variations impact your product metrics directly within Mixpanel, providing consistent, event-based tracking without requiring client-side scripts.
Learn how to set up a server-side connector between AB Tasty and Fullstory to automatically send experiment and personalisation events from AB Tasty to your Fullstory account. This guide walks you through the configuration steps, authentication setup, and event mapping to ensure accurate and real-time data synchronisation.
FullStory Dashboard Configuration
Go to Settings → Data Management → Events
Create "flagship" event with properties:
Flagship_campaign_str (string)
Flagship_variation_str (string)
Then Go to Settings → Integrations → API Keys
Generate and copy an API key (admin permissions required)
On FullStory, hits can be viewed on
Settings → Data Management → Properties (as seen here)
Real-time view with "flagship" event types captured by FullStory (as seen here)
Segment is a customer data platform (CDP) that helps you collect, clean, and control your customer data.
With Segment, you can easily manage data and integrations with services across your Growth, Product, and Marketing stack. By tracking events and users via Segment’s API and libraries, you can send your product’s data to all of your analytics/marketing platforms, with minimal instrumentation code.
The Segment integration allows you to receive the users traits collected in Segment and to use it to create segments within AB Tasty.
Setting up the Segment integration process is a process taking place on both interfaces.
From the Destinations catalog page in the Segment App, click Add Destination.
Search for “Flagship.io” in the Destinations Catalog, and select the “Flagship.io” destination.
Choose which Source should send data to the “Flagship.io” destination.
To set up the Flagship integration you need to enter your account’s API Key. Copy paste the API Key of your Flagship account in the “Flagship.io” destination settings in Segment. (documentation on API Keys)
You can also consult the Segment Documentation.
Congratulations, the integration is now set up and you can use the Segment traits to target users within Flagship!
For information on how to use the traits, please refer to this documentation.
For global information on how to retrieve audiences, please refer to this page.
Need additional information?
Submit your request at [email protected]
Always happy to help!
Configuration on the Mixpanel Dashboard
Access your Mixpanel project dashboard.
(If you don’t have access yet) Request access from your Mixpanel admin.
Go to Project Settings.
Copy the Project Token (do not use the API secret).
Create the Mixpanel Connector in AB Tasty
Access your Mixpanel project dashboard.
(If you don’t have access yet) request access from your Mixpanel admin.
Go to Project Settings
Visitor ID Requirement
Mixpanel requires a known visitor ID (distinct_id) to link events to the right user.
Preferred option: Identify users before sending hits using:
Alternatively, retrieve the existing ID via:
Environments are organizational units which allow you to manage your use cases throughout the entire development lifecycle, from local development to production, in order to minimize bugs, facilitate QA and accelerate your team development capacity. By default, you only have access to the PROD and PREPROD environments, but Flagship enables you to create new environments and to manage and personalize the existing ones directly from the platform. \
Adding multiple environments on your Flagship account can be helpful as it enables you to have the same environment configuration as your engineering team and to reproduce the same workflow. To create a new environment, you must have a Super Admin .
Once an environment is created, all projects (use cases not included) and persona keys from your PROD environment are duplicated to your new environment. From the dropdown menu displaying all your current available environments, click Create an environment: A pop-up appears.
Fill in the name of your new environment.
Click CREATE: You are redirected to your new environment.
The same quota as the PREPROD default environment is applied. To be able to use your new environment, you must enter its specific Environment ID and API key in your codebase.
You can also manage your existing environments.
From the dropdown menu displaying all your current available environments, you can:
Edit an environment’s name by clicking the edit icon.
Delete an environment by clicking the delete icon (except PREPROD).
These actions do not apply to the PROD default environment.
Let’s say you have a development lifecycle made of three different environments: Staging, Pre-production and Production. To make it easier for you and your team, you want to reproduce the same workflow on Flagship and want to add the staging environment, as the Pre-production and Production ones already exist by default on your account. To do so:
From the dropdown menu displaying all your current available environments, click Create an environment.
Enter the name of your new environment.
Click CREATE.
Go to Settings > Team.
You can now duplicate your existing use cases from the Production and Pre-production environments to the Staging one, or create new use cases from scratch.
Need additional information?
Submit your request at
Always happy to help!
\
The AB Tasty > GA4 Push Connector enables you to automatically send server-side experiment data from AB Tasty’s Feature Experimentation platform to Google Analytics 4 (GA4). This integration allows you to analyse how specific feature flags and variations impact your key metrics directly within GA4, without requiring client-side tracking.
Once configured, the connector pushes campaign and variation identifiers as custom events in GA4 whenever a decision is made for a visitor. This ensures consistent experiment tracking across both platforms, enabling more unified reporting and deeper behavioural insights.
Visitor ID requirement To make this integration work, you must pass the correct GA4 user identifier when calling the Decision API.
What you must do
• Set a user ID in GA4 if you use your own identifier, for example:
gtag('set', { 'user_id': '12345' });
• Or retrieve the GA4 client ID using:
gtag('get', 'G-XXXXXXX', 'client_id', (clientId) => { console.log('Client ID:', clientId); });
• Call the Decision API with this same visitor ID, otherwise, the hit won’t be sent to the third party
Heap is a Product Analytics company that provides analytics infrastructure and helps their clients to focus on discovering insights and taking action, not writing tracking code.
The Heap Analytics integration allows you to import your Heap segments in Flagship so you can target them with Flagship use cases.
Heap Analytics Segments
A segment in Heap is any subset of users based on a particular criterion defined by you. For further information on how to use segments please refer to the Heap Analytics documentation.
To make this integration work, Heap must receive the AB Tasty FE&R visitor ID.
What you must do:
• Identify the AB Tasty FE&R visitor ID you already use (details
• Collect this same value in Heap, as it’s the key used for user matching
• In Heap, the property name can vary depending on your implementation
• You can declare it as a user property in your Heap tracking code, for example:
heap.addUserProperties({ FlagshipVisitorId: 'xxxx' });
Once the integration is active on Flagship you need to export the segment from Heap.
This article will walk you through the different steps to setup the integration on Mixpanel side and to export your cohorts.
To enable the integration on Flagship, follow the steps below:
Access Settings > Integrations > Pull
In the dropdown, select Heap Analytics.
Click the link in the description Click Here (in the red square in the screenshot above).
You will be redirected to the Heap Analytics interface in which you will be able to allow the Flagship integration to access your Heap environment (this is necessary to enable integration between the two tools). Click Allow.
The Heap Analytics integration is set up. You now need to export the Heap segment to Flagship. This is done on the Heap Analytics interface, and it is explained in the next part of this article.
To be able to target your Heap segments with Flagship usecases, you now need to export the desired segments to Flagship.
To export the segments to Flagship, follow the steps below:
Access Definitions > Segments to see the list of defined segments.
Select the segment you want to export to Flagship.
In the segment panel, under Integrations, turn on the Flagship switch.
In the export config, choose FlagshipVisitorId as the Heap User ID.
In order to make the integration work you must be collecting the Flagship visitor ID into Heap.
In Heap Analytics the AB Tasty FE&R visitor ID can have another name depending on how you collect it. You can declare it as a user property in your Heap tracking code:
Click Confirm.
You will be able to choose Enable Recurring Sync. We recommend using this option to keep your segment updated in AB Tasty. Confirm by clicking Enable Recurring Sync or Sync now.
For global information on retrieving audiences, please refer to .
Need additional information? Submit your request at Always happy to help!
Visitor ID Requirement
To make this server-side integration work properly, you need to pass the visitor ID provided by your third-party tool.
What you must do:
• Create the connector
• Ensure Tealium knows the visitor ID
• Retrieve the visitor ID using: utag.v_id
• Call the Decision API with this visitor ID, otherwise, the hit will not be sent to the third party
To access FE&R integration HUB, your account must have a valid FE&R Integration Hub
Create a FullStory connector
Give your connector a name
Paste the previously created Fullstory API key
Visitor ID Requirement
FS.identify(YOUR_USER_ID);
Decision API must be called with this visitorID; otherwise, the hit won’t be sent to the third party
Setting-up the Decision API/SDK with unique visitorId and the user context (workload: around ½ day)
Defining flags in your code (workload: around 10min/flag)
Defining business KPIs or performance KPIs in your code (workload: less than 10min/event)
Setting-up targeting keys in your code (workload: less than 10min/keys)
The Decision API is a REST API that serves as the engine behind Flagship. Implementing it directly into your application will let you and your team fine-tune each call and digest every response without any additional layers between Flagship and your applications. The Decision API is language-agnostic by design, meaning you can use Flagship even if your stack includes a variety of programming languages, or if you would like to experiment with more specialized languages or frameworks for which we don't offer a dedicated SDK yet. If you'd rather use an SDK with preconfigured methods to implement the Decision API, you can see the full list of available languages and learn more about SDK-specific features. For more information on the Decision API, refer to Decision API for non-techie users. For technical information or if you would like to take the implementation further, see the developer portal.
When the Decision API or the SDK is implemented, you need to define your flags. Flags are variables you want to act on with a specific value to manage your features. It’s important to set them in your code otherwise you will not be able to modify them through Flagship or get a report of your feature’s performances. Once they are defined, you can get an overview of all the flags you have implemented.
Defining business metrics is the key to tracking the performances of your features. In your codebase, the KPIs will be labelled with tracking hits sent to the Decision API so that it can calculate the performance of your feature, such as conversion or transaction rates. There are 4 types of KPIs available: - Transaction - Event - Pageview (on Web/Server) - Screenview (on APP/Server)
For technical information or if you want to take the implementation further, see the developer portal (Pss; Every SDKs embed the collect part; if you are using one, you don’t need to carry out a manual POST call).
To assign your visitors to a feature, you need to pass some user context keys inside the Decision API call, also used as targeting. Otherwise, you will still be able to use Flagship, but you will be able to target only specific visitorIds or all your visitors. User context keys can enable you to filter your reports during the analysis of your feature. For the technical implementation, refer to the Quickstart & integration section of the developer portal.
You can now start to use Flagship. Here are the basic steps to start with:
To create a use case, apply the following steps:
Go to the Flagship dashboard.
Click the + button.
Choose a name for your project and click Create.
Select a feature for your use case (for instance, Progressive rollout) and click Choose this template.
First, you need to enter the basic information of your feature:
The feature name: use the most representative name for your feature, because this is the one you'll need to remember in case you want to find it later.
The feature description: explain exactly what your feature deployment is about and what its purpose for your business is.
This step is optional, but its goal is to define the objectives of your feature. You can select a primary KPI, which will serve as a point of reference for your feature and one or several secondary KPIs (Transaction KPI or Event KPI). For more information, refer to Configuring KPIs.
Here, you can choose the flags which will interact with your feature. The name of the flag you configure must be the same as the one in your codebase.
During this step, you need to define which users will see your feature. The 3 following options are available:
Defining it to All Users if you want all your users to progressively see your feature.
Defining it to Users by ID if you want only users with a specific ID to see your feature.
Defining it as a Key if you want only users matching this key value to see your feature.
The deployment step allows you to plan the start date, the action perimeter, and the volume of the first users targeted by your deployment. Then, it allows you to schedule your other deployment steps with fixed steps (defined with the first one) or customs ones. Finally, you may choose the rollback option for your deployment. I invite you to look at this article about the automatic rollback option. It will help you to understand how it works!
The summary is the final step. It summarizes the feature configuration. This step is very important to check if you want any information about your feature.
Once you have configured all the steps of your feature, it is OFF by default to allow you to check that it is correctly configured and give your marketing team some time to finalize the communication strategy. You can switch your feature ON when you want it to be visible to your targeted audience.
After activating your feature, you must wait until you have enough insights from your users to know if your feature is performing. To check the reliability status, click the Reporting button of your feature from the dashboard. For more information, refer to How can I know my test is reliable and my data significant enough to be analyzed?
Need additional information?
Submit your request at [email protected]
Always happy to help!
Add the email and role of your team members.
⭐ Good to know
The multi-environment feature is available for the [plan name] plan only. To benefit from it, please contact your dedicated CSM or KAM.
⭐ Good to know
The new environment can be accessed by its creator only. To add other members, go to Settings > Teams and enter the email address and role of the desired member(s).
🚩 Heads up
Once an environment is deleted, it cannot be retrieved.

In Flagship, traffic allocation depends on a combination of a Murmurhash algorithm and a variationGroupId. Each visitorId sent to the API (through POST request or thanks to the SDK) will be processed by this algorithm and, depending on the results, the visitor will be assigned to a specific variation.
The API uses the same bucket-style as the bucketing feature. Depending on the percentage of traffic you configured in the platform, visitors will be assigned to a specific bucket. It is the same principle for dynamic allocation. The only difference is that the allocation changes depending on report results. However, a user who has already been assigned to a variation will still see the same variation. Dynamic allocation redirects only new visitors to the best performing variation. Learn more about dynamic allocation.
Need additional information?
Submit your request at [email protected]
Always happy to help!
A reporting comparison is used to analyze different variations of a feature. It allows our Bayesian algorithms to accurately determine which variation will perform best in terms of earnings, conversion rate and so on.
Being able to compare several variations is only applicable for A/B tests. In Feature toggling, there is no variation to compare when doing feature management, as we are evaluating the individual performance of the feature itself. For personalization, we are mainly looking to create several scenarios for specific audiences, and separately analyze their performances. For progressive rollout, we are looking to deploy a feature gradually to your users and want to measure the effectiveness of the feature deployment.
Copy the Project Token (do not use the API secret).
After clicking Allow you will be redirected to Flagship's integration setting page. The integration is set up and you will see it in the validated list. The TokenID field is automatically filled.





mixpanel.identify('VISITOR_ID');mixpanel.get_distinct_id();heap.addUserProperties({ FlagshipVisitorId: 'xxxx'});Create a custom dimension for:
flagship_campaign
flagship_variation
The AB Tasty > Tealium Server-Side Connector lets you automatically send experiment data from AB Tasty’s Feature Experimentation platform to Tealium EventStream or AudienceStream. This integration enables you to analyse the impact of specific feature flags and variations on your key metrics directly within Tealium’s ecosystem — without relying on client-side tracking.
Once set up, the connector transmits campaign and variation identifiers as custom events or attributes whenever a decision is made for a visitor. This ensures consistent server-side tracking across both platforms, allowing for unified reporting and more accurate behavioural insights.
In the left menu, go to Event Specifications (under Event Data).
Click + Add Event Specification.
Fill in the form:
Event Name: flagship
Description: Something like Triggered when AB Tasty delivers a feature decision.
Save the specification.
You now have an empty event definition called flagship that will structure incoming data.
2. Add Event Attributes
Still under Event Data, open Attributes → Event Attributes.
Click + Add Attribute twice to create:
flagship_campaign → String
These attributes tell Tealium what data to expect and how to type it.
Why include the visitor ID?
Tealium needs a known tealium_visitor_id to link the event to a visitor profile. Without it, the hit won’t appear in Live Events or trigger connectors.
How to get it?
Retrieve it from utag.v_id on the Tealium client and include it when calling the AB Tasty Decision API.
What if I skip it? The event won’t be processed or visible in Tealium.
How to check the hit?
Go to EventStream → Live Events to confirm your flagship event was received.
User ID requirement To make this user-matching flow work, you need to pass the same user ID to both FullStory and AB Tasty FE&R.
What you must do • Make sure FullStory receives a user ID • Use that same value as the AB TASTY FE&R User ID • If the values don’t match, AB TASTY FE&R won’t be able to target your FullStory segment
More info on the FE&R User ID here More info on the FullStory User ID here
FullStory is a digital experience analytics platform that tracks how visitors interact with your website or app to optimize the customer experience.
The FullStory integration allows you to import your FullStory segments in Flagship so you can target them with Flagship use cases.
The FullStory pull integration will use the FullStory API to create of existing segments and import them into Flagship. So, you can see in the FullStory interface one data export for each segment. Segments are exported daily at 3 am, with the data from the day before. A user entering an audience at D/8 am or D/11 pm can be activated in Flagship at D+1/3 am.
This article will walk you through the different steps to setup the integration on FullStory side and to export your segments.
The FullStory pull integration will use the FullStory API to pull segments and import them into Flagship. To use the FullStory API and access the segment, we need an API key.
To enable the integration on Fullstory, follow the steps below:
Access Settings > Integrations > API Keys
Click “Create key”
In the drawer that appeared, give a name to the API key you will create and give it the “Architect” permissions.
Click “Save API Key”.
For further information on FullStory API keys, please refer to the .
To enable the integration on Flagship, follow the steps below:
Access Settings > Integrations > Pull
In the dropdown, select FullStory.
Copy and paste the FullStory API key.
Click “Add tool” to finalize the integration.
The FullStory integration is now set up. This allows AB Tasty to pull the segments from FullStory.
For global information on how to retrieve audiences, please refer to .
Need additional information?
Submit your request at
Always happy to help!
Heap is a Product Analytics company that provides analytics infrastructure and helps its clients focus on discovering insights and taking action, rather than writing tracking code.
The Heap Analytics integration allows you to send the Feature Experimentation & Rollouts (FE&R, formerly Flagship) campaign data to your Heap Analytics project.
Decision API must be called with this visitorID, otherwise, the hit won’t be sent into the third party
You can verify the hit in real time in Heap by navigating to Data → Live data feed, where your flagship The event should appear alongside other user actions.
Sequential Testing Alerts offers a sensitivity threshold to detect underperforming variations early and trigger alerts or pause experiments. It enables you to make data-driven decisions swiftly and optimize user experiences effectively. Sequential Testing saves time and resources by stopping experiments that are unlikely to yield positive results.
To enable Sequential Testing alerts on an experiment, apply the following steps:
Access the AB Test configuration
At the bottom of the first step, the Main information step, click on the Advanced Options
You can then configure 2 options: \
The type of automation You can either receive an email if your campaign is failing, a kind of “Warning, you’re experiment is going right into the wall” or directly pause the campaign if it’s failing.\
You can learn more about detection level on the .
Also, more information about Sequential Testing in the article
Good to know 💡
You can only configure this setup if you selected a Primary Goal at the previous step!
When doing experimentation or feature management on Flagship, you need to target the right users at the right time. For example, you may want to deploy a new feature to your early adopters only. However, you may have a list of over a hundred early adopters.
In the targeting step, you can target a list of values when creating or editing a use case. There are 3 ways of doing this:
Manually adding the values of the users you want to target (Users by ID or Key) in the Values field. These values (ID, email, and so on) allow Flagship’s Decision API to identify the users you want to target among all your users.
Copying and pasting the values of the users you want to target (Users by ID or Key) in the Values field and pressing ENTER. Each value must be separated by a comma.
Importing the values related to the users you want to target in a CSV file by clicking on the Import CSV icon at the edge of the field. You must fill in the first column only, so that all the values are taken into account.
Need additional information?
Submit your request at
Always happy to help!
Dynamic allocation (also called Multi-Arm bandit) is a method used to divert new traffic to the best performing variation depending on the results of each variation. It is based on the Thomson algorithm.
⚙️ Configuration\
If one variation is performing better than the others, that is to say, if one variation has more unique conversions on the KPI you configured, new traffic will progressively be sent to that variation. Dynamic allocation is only available for A/B Tests. Dynamic allocation only works for new users (for an application)/visitors (for a website). If a user is assigned to a variation and returns to the website, they will still see the same variation, even if this variation is under-performing. The allocation of a recurring visitor doesn’t change over time. Dynamic allocation only takes into account unique conversions
The Dynamic Allocation algorithm is particularly suited to websites/applications with a lot of traffic. As soon as your A/B Test has at least one conversion for each variation on the selected KPI, the algorithm starts running and your users will progressively be redirected to the best performing variation.
Need additional information?
Submit your request at
Always happy to help!
Archiving a use case enables you to get rid of obsolete use cases and keep your dashboard clean and up-to-date by viewing only the projects and use cases that you are currently working on.
This action can be performed by users with a User, Admin or Super admin role. To archive a use case, apply the following steps:
Hover over the use case you want to archive and click the 3 dots.
Click Archive.
Select the folder you want to move the use case to. If no folders are created, click New folder.
Click Archive: Your use case is archived.
Once a use case is archived, you can access it from the Archived tab of the dashboard. From there, you can organise your use cases by folders (instead of projects for the non-archived ones). This enables you to better organize your use cases once they are archived. For instance, you can store outperforming experiments in the same folder. You can still access the reporting of your archived use cases until the legal timeframe specified in your package.
Need additional information?
Submit your request at
Always happy to help!
When performing the QA of your use case, you may want to verify that your hits have been set up correctly. For example, you may want to verify that the transactionId is the proper one, that the eventName is correct, and that the visitorId is properly taken into account in the reporting. The Hits stream feature enables you to carry out these checks.
To access the feature, click the Hits Stream tab from the Details or Reporting page of your use case. Click the Start recording button and wait a minute for the hits to appear.
You will see all the hits landing on your reporting. Hover over a hit type (left column) to verify its configuration.
You are working on a new feature and just finished setting up the measurement part. You are trying to QA your feature to verify if the hits will be received correctly on your reporting. Without Hits Stream, you still benefit from the Real Time feature, enabling you to see the hits landing on your reporting. If you don’t see your hits, enable the Hits Stream recording, trigger your hits again and check their configuration. If you still don’t see them, you either made an error in the payload of the hits or forgot to activate the flags via the userExposed method of the new SDK versions (activate methods for the old ones).
Need additional information?
Submit your request at
Always happy to help!
If you are running several experiments at once on your site or application, a visitor will see each of them, which may influence the results, since one experiment can impact the results of another.
To avoid this, we offer an option that enables you to display only one experiment per visitor, even if there are several running.
To enable this option, click "Settings" in the menu, then select "Environment & Security" and under the "1 visitor 1 test" section, toggle the option "I want my users to be assigned only one experiment at a time" on.
If you toggle the option on: a visitor cannot see more than one experiment.
If you toggle the option off: a visitor can see more than one experiment.
This option only affects Experiments (A/B Test). All Personalization and Feature management scenarios will continue to work as expected.
Stressed out about forgetting you have an experiment to launch or busy with urgent business and not being able to launch the personalization you spent so much time on? What impact would it have on your business if you forgot about it while other stakeholders thought it was done? How much time and money would you lose by moving on to another task in a hurry to belatedly activate an experience or personalization?
Wouldn't it be great if you could agree with all stakeholders, set a date, and stop thinking about it to focus on other things? Flagship scheduler not only allows you to plan your experience or feature launch but also to be in sync with all your stakeholders and avoid any missteps of a GTM launch. Don't waste time or worry anymore about forgetting to toggle on a use case.
Try it now 🚀
Want to know more about it?
👉 Consult the
Revolutionize your product development with these 3 new integrations. Understanding your users' behavior and product usage is crucial to making informed decisions about your product's evolution. But then you need to be able to leverage that data in your feature deployment process. Our integrations with these best-of-breed solutions allow you to unleash the power of user analytics in your targeting. Use your user behavior data for feature toggling, experiments, personalization, and progressive rollout scenarios to perform data-driven targeting that delivers real results. You'll also save time by automatically finding your integrations sorted in the drop-down menu. Take your product development to the next level with these powerful integrations.
Check the video below for an example of our Mixpanel integration: Want to know more?
👉 Check out 👉 Check out 👉 Check out\
Improve your app's performance with the Tracking Manager, a new feature available now on our JS, React and React Native SDKs that help improve performance and save bandwidth. You can reduce the number of requests between your application and our server by managing the hit sent in batches. Decide and control whether this is based on the number of hits or a period of time. This not only saves valuable bandwidth but also ensures that your application is working at its best, giving you a competitive advantage in today's fast-paced digital world.
More information here:
Say goodbye to Flagship!
AB Tasty presents AB Feature experimentation & Rollouts, the new brand identity for our offer around API based experimentations and SDKs.
Platforms are about to be merged for a seamless experience and much more cross-technologies use cases.
AB Feature experimentation & Rollouts is the new commercial name for Flagship. &#xNAN;Flagship name is still used in our API and codebases and remains the basis for all our technical methods and functions. The technical documentation will continue to refer to Flagship as nothing changes from a technical and implementation points of view.
Tealium AudienceStream is a Customer Data Platform (CDP) that enables you to qualify the users who visit a website to create audience segments.
The Tealium AudienceStream integration allows you to import your FullStory audiences and badges in Flagship so you can target them with Flagship use cases.
The Tealium AudienceStream pull integration will use a webhook connector setup on Tealium’s end and the .
This article will walk you through the different steps to setup the integration.
For the user matching to be achieved (and thus let Flagship target your Tealium AudienceStream audiences) the Flagship User ID must be the same value as the Visitor ID used in Tealium
💡Good to Know
You must be an AB Tasty customer for both client-side (AB Tasty WE&P) and server-side (FE&R formerly Flagship) features to activate the transaction reporting in your Feature Experimentation & Rollouts workspace (formerly Flagship). You will need your AB Tasty identifier (the ID of your tag) to complete the installation.
For more information on How to install the Shopify app though the Shopify app Store, please refer to article.
Once the app is installed, you can activate it by clicking on "Enable Extension".
AB Tasty FE&R (Flagship) and Segment must use the same visitor ID. Make sure the value passed to Segment (userID) is identical to the one used in the Decision API to avoid any data inconsistencies.
Segment is a customer data platform (CDP) that helps you collect, clean, and control your customer data.
The scheduler enables you to automatically toggle a use case ON (launch) or OFF (pause) at a specific date and time depending on your needs. Using the scheduler enables you to save time and to anticipate the activation or deactivation of a use case, particularly when you are located in a different timezone or outside of working hours.
KPIs (or Key Performance Indicators) are metrics that enable you to measure the performance of an element or a variation through your end-user journey. You need to select a primary KPI, which will serve as a point of reference for the entire feature and enables you to determine the best-performing variation. You can also select one or several secondary KPIs, which are metrics that you want to track, but whose results don’t impact your feature as much. All the KPIs you configure can be tracked in the reporting of your feature.
The rollback option enables you to stop the deployment of a feature and to revert all the changes that have been made in order to ensure that your feature isn’t breaking your customer experience, thereby damaging your business. For this, you must define the business KPI you want to track and which can be an indicator of the performance of your feature. To this KPI (of any type you want), you must associate a value (in %) which, if exceeded or reached, will trigger the rollback. To make the rollback significant, you must define a specific number of visitors from which the rollback comparison will be triggered. When the conditions are met, the progressive rollout feature will be rolled back, which means that no more of the targeted visitors will see the feature. You will be alerted by email.
The Chances to win is a statistical index which indicates the odds of a strictly positive gain on a variation compared to the original version. It is expressed as a % for any selected KPI.
This measurement is based on the number of conversions collected. The Chances to win enables you to determine the risk percentage (100% minus the Chance to win). It enables a fast result analysis for non-experts and simplifies the decision-making process.
The Chances to win indicator can take on values between 0% and 100%, rounded to the nearest hundredth and should be interpreted only if the business rules are complied with.
When running an experimentation on your users, you must wait until Flagship has collected enough significant data before analyzing the reporting of your campaign in order to get reliable insights.
Flagship’s reporting displays a statistical reliability index that enables you to know if your test is statistically reliable. We recommend reaching the ‘Reliable’ status before making any firm and definitive decision.
If this label is not displayed, it means that one or several of the rules mentioned above have not been complied with.
We also strongly recommend leaving a test active for at least the amount of time related to your business cycle. This time may be estimated at several days for classic e-commerce websites (browsing, verification, purchasing), but may take several weeks for less traditional websites (e.g.,: B2B activities, large purchases, etc.).
Not every test gives reliable results, and sometimes, you may have to pause some of them due to low statistical reliability, because the tested hypotheses have no impact on your conversion rate.
flagship_variation → StringTealium account
Tealium Profile
Create the connector
When you open “edit rights”, there is an administration panel where you find every user who can see and interact with your project.
In this interface, you can add, delete, or modify users of the project and for each environment.
You can define in that one place which user role they should have in each environment.
⚡️ Heads Up
When doing changes on project rights, don’t forget to save before closing the modal, otherwise, your changes will not be applied.
You can choose between 4 different types of user rights on your project rights panel:
From left to right:
Viewer: Can only have a look at what’s happening on the project
User: Can create/pause/delete/archive use cases inside the project
Admin: Same rights as user role, in addition to managing users inside the project
Blocked: The member will not have access to the project in this environment
⭐ Warning
A user can be added twice (either ad-hoc or through a team). The higher role of the user will be taken in priority. Ex: if the user is manually added as a Viewer and he's part of a team which is Admin, then he'll have Admin rights on the project.
“As a member of a Product-&-Tech team with several feature teams or squads, I deeply need to organize my dashboard to let these teams see only the projects in their scopes.
Thus, for our e-commerce platform, I can create a project for the Home page, another for Product Pages, and another one for the Paywall. But, my 3 feature teams working on those 3 different scopes will only see the project(s) they have been added to.
…of course, as a Project Manager or upper role, I can still have access to everything and control what’s happening on each project.”
The sensitivity threshold you want to experiment on You have 3 different level of sensitivity here:
High - It’s the safest solution. You’ll be more likely to receive alerts but you’re sure that losing experiments will be detected sooner.
Low - It’s the more advanced setup. You’ll receive less alerts, but your losing experiments will take longer to be detected.
Balanced - It’s the half-way between the 2 previous detection levels.
The Decision API is a managed REST API. This means that it’s agnostic and can be plugged anywhere. It’s called Decision API because it’s a decisional API. Based on a JSON body, it will return some flags and their values, which you will want to display to your users. The whole logical condition is based on the API instead of your application/website.
It enables developers to get flag values depending on specific visitors' context and to carry out certain experiments and feature management. A flag is a remote variable that you can play with to change its value and therefore the behavior of your app/website. Every flag implemented in your codebase and linked to Flagship can be played with. E.g.: “app_paymentScreen_paypal”: true would enable the Paypal payment method in the payment screen of the app, and false would disable it, if your developers implemented the same logic.
The following behavior can differ depending on developer implementation, but let’s imagine the following workflow: A user arrives on your website. Like for any normal website navigation, the browser calls your server and is waiting for an answer. At this moment, your server is calling the Decision API with the unique visitorId of your visitor and gets a fast answer with the flags he has to activate/play with. These flags were configured inside the Flagship dashboard beforehand.
visitorId = anonymized unique identifier given by your developers
context = context of your visitor, it can be technical (device, geolocation, browser, etc.) but also behavioral (early adopters, loyalty program, cart amount, etc.)
trigger_hit = this parameter aims at specifying to Flagship that a user has been assigned to a feature and has correctly seen it. This means that all flags returned by the Decision API would make a +1 count in the reporting of each feature if set to true. It can be set to false only if you want to get the different flag and tell the Decision API that the user saw it later. For example, you are targeting several features for “All users”, but one of the features is only present in the cart page. Then, you will set that parameter to false, and trigger what we call an “activate endpoint” to say “My visitor now sees the feature”.
decision_group = all visitors with the same decision_group will see the same flag value based on the first to trigger it. This can be useful when you want all people from the same company to see the exact same variation of an experiment.
X-api-key = this is an authentication option linked to your account environment, to make sure that you and only you are calling the Decision API. Each environment has their own API Key.
If you need more information, please don’t hesitate to contact our support team, we’ll be happy to help you!

⭐ Good to know
You can’t unarchive a use case. If you want to push it live again, we recommend duplicating it.



The elements that indicate a low reliability rate are the following:
A very small difference between the original’s conversion rate and the variation,
A too significant gap between the 2 confidence intervals
Results that are chaotic time-wise (the average conversion rate curves overlap regularly from the start of the test).
Need additional information?
Submit your request at [email protected]
Always happy to help!
⭐ Good to know
We recommend following three business rules before making a decision after running an experiment: - waiting until you have recorded at least 5,000 unique visitors per variation; - letting the test run for at least 14 days (two business cycles); - waiting until you have reached 300 conversions on the primary KPI.

Upon successful creation of a key, a modal will appear with the new key’s value. You must copy the value from this modal at this time. You will not be able to see the key value again. Copy the value, and save it in your preferred API key or password manager. This API key value will be used to activate the integration in Flagship.
⭐ Good to know: FullStory Segments
A segment in FullStory is any subset of users based on a particular criterion you defined. For more information on how to use segments please refer to the FullStory documentation.
⭐ Good to know: API Key
An API key is a unique key that allows a third-party tool to communicate with the specific accounts of each tool, i.e., send data from/to your account.
⭐ Good to know: Technical specifications
The FullStory pull integration will use the FullStory API to create data exports of existing segments and import them into Flagship. So, you can see in the FullStory interface one data export for each segment.
Segments are exported daily at 3 am, with the data from the day before. A user entering an audience at D/8 am or D/11 pm can be activated in AB Tasty at D+1/3 am.
For the audience to be visible in the segment builder, you need to wait 24 hours after the setup of the integration. This is due to the different synching mechanisms between the tools (data collection by FullStory and then the data import from FullStory to Flagship).
For the segments to be used in Flagship (once exported from Fullstory), we need to match at least one user i.e. Empty segments will not be displayed in the segment builder.


Copy the Environment ID of the environment you want to connect to AB Tasty.
Visitor ID Requirement
The connector must be created before sending hits.
Heap requires a known user_id to associate events with the correct user profile.
Retrieve the existing user ID via:
It’s strongly recommended to use Heap’s own generated ID. If you choose to create your own, register it using:
This ensures Heap can match the user’s identity across events.

More info on the Tealium Visitor ID here.
The Tealium AudienceStream pull integration will use a webhook connector to push audience and badge data to Flagship.
The webhook connector needs to be set up on Tealium AudienceStream’s user interface. Follow the steps below:
Access Tealium > AudienceStream > Audience Connectors
Click “Add a connector”
Choose "Webhook" and click "Continue". Now you will have to set up the data source, the connector and the action to send audiences to Flagship.
On the Source tab, Audience, select the audience you want to send data from.
On the Source tab, Trigger, select when you want to send data. Most basic option is "Joins the audience", Tealium will sends the data as soon as a user enter the selected audience.
Click "Continue"
On the Configuration tab, you need to set up the connector (if you do not already have one). Click "Add a connector".
Name your connector e.g. "Audience Sender". Other fields are to be skipped. Click "Done". Then "Continue" with you connector selected.
Name the action e.g. "Audience to Flagship".
Select "Send Visitor Data via HTTP Request".
In the Method field, select "POST".
In the URL field, input the following URL "https://tealium.third-party.flagship.io".
In the Header field, add a mapping, "Map:" is your Flagship API Key and "To:" is "x-api-key". Use custom text to input those fields. (documentation on API Keys)
Click "Finish".
The Tealium AudienceStream connector is now setup, now you need to enable the integration on Flagship. See next chapter of this article to do so.
For further information on Tealium AudienceStream connector, please refer to the Tealium documentation or Tealium Webhook documentation.
To enable the integration on Flagship, follow the steps below:
Access Settings > Integrations > Pull
In the dropdown, select Tealium.
Input your Tealium's "Account" and "Profile" (the one you are sending audiences from)
Click “Add tool” to finalize the integration.
The Tealium AudienceStream integration is now set up. This allows AB Tasty to pull the audiences and badges from Tealium AudienceStream.
⭐ Good to know: Technical specifications
For the audience to be visible in the segment builder, you need to wait 24 hours after the setup of the integration. This is due to the different synching mechanisms between the tools (data import from AudienceStream to Flagship).
For the segments to be used in Flagship (once exported from Tealium), we need to match at least one user i.e. Empty segments will not be displayed in the segment builder.
For global information on how to retrieve audiences, please refer to this page.
Need additional information?
Submit your request at [email protected]
Always happy to help!
From the theme setting page, you will access the AB Tasty app in the “App embeds” panel with both AB Tasty tag (web experimentation activities) settings and FE&R (feature experimentation activities, former Flagship) settings.
AB Tasty identifier: it allows you to insert the AB Tasty tag on the Shopify site. The identifier can be found on this page: https://app2.abtasty.com/settings/installation-code/tag
Only the identifier part should be copied, in this example "83cb13aabbfc8e8790xxxxxxxxxxxxxx"
Then paste this value into the dedicated input in the Shopify administration.
If you want to track the transactions for Feature Experimentation and Rollouts activities within the Shopify application, you must:
Check "Enable FE&R"
Fill in the ENV ID of your FE&R account. In Environment > Settings
Copy and paste this Environment ID into the dedicated input in the Shopify application administration.
You’ll find your environment id in the Environment settings page: https://app.flagship.io/env/your_env_id/settings/environment-settings
Given your environment id is “bkabbarggr1dtrcs8gq0”, Environment setting page will be: https://app.flagship.io/env/bkabbarggr1dtrcs8gq0/settings/environment-settings
Several prerequisites are needed on the client-side for transactions to be properly sent to Feature Experimentation and Rollout (FE&R):
1. You must expose the FE&R visitorID on Shopify.
2. Creation of a FE&R campaign
3. Call to the decision API in advance
1. You must expose on Shopify the visitorID of Feature Experimentation and Rollout (FE&R).
We do not know the FE&R visitor ID in question, which is why the client must be able to expose it. You can choose to include it either in cookies or in localStorage. In any case, the key name MUST be FLAGSHIP_VISITOR_ID.
You can expose this key and this visitor ID as you wish. In any case, as soon as a visitor is present on your Shopify site, a cookie (or localStorage) with this key must exist.
2. Creation of a FE&R campaign
To have the transactions related to a campaign, you must create a campaign beforehand.
3. Call to the decision API in advance
However, you must absolutely make a call to the decision API from the launch of the Shopify application so that FE&R can identify the visitorID before any transaction occurs.
Example of a call to the FE&R decision API (here in JS, but you have the choice of language on the FE&R interface):
.then(response => response.json())
.then(data => console.log(data));
This code must then be executed as soon as the FE&R visitorID has been retrieved by the front and must be launched as soon as you arrive on your Shopify site.
Several possibilities for executing this code:
1. You can use the global AB Tasty code (client side) to execute this code. On this page: <https://app2.abtasty.com/settings/global-code>, you can define the execution here.
Here, you will find the example of setting the localStorage and the cookie, and especially, we make the call to the decision API with the visitorID (in this example, the visitorId is that of AB Tasty. NB: this example is false, and you must put your own visitorID - that of FE&R or yours).
2. Nothing obliges you to put this piece of code in the global AB Tasty code. You can of course put this piece of code on your side in the Shopify code as long as this API call is made. You have, for example, the possibility to insert this code in a script tag of a .liquid file. We suggest putting this code at the root of your project to have it executed as quickly as possible.
Providing the FLAGSHIP_VISITOR_ID
As soon as the Shopify site is visited, you must have exposed this key in either localStorage or in cookies.
If this is not the case, then we will not be able to make a call to the decision API, nor send transactions.
Checking that the decision API has been called
You can also check that the call to the decision API has been made. For this, as soon as a visitor is on your site, check in the network tab that a call has indeed been made.
An API call must be made on this URL (method POST):
https://decision.flagship.io/v2/{{envID}}/campaigns
With this payload:
In response, you should have at least one campaign in which this visitor is targeted (in the case where all users are included in the campaign).
Checking that a transaction has been sent (network)
Once a transaction has been made, we send a transaction hit to FE&R. You can see this in the network tab.
Checking that a transaction has been received (FE&R)
After a few hours, the transaction will then be available in your FE&R campaign reporting.
With this integration, every Segment hit that is triggered will be automatically transferred to Flagship for retrieval, saving developers from having to re-implement all the Universal Collect hits.
Track Segments calls will be sent to AB Tasty FE&R (Flagship) as an EVENT hit unless they include transactionId or revenue values, in which case they will be sent as a TRANSACTION event.
Page & Screen Segments calls will be respectively sent to Flagship as PAGEVIEW & SCREENVIEW hits.
If you haven’t had a chance to review the Segment’s spec, please take a look to understand what the Track method, Page method & Screen method do.
💡 Good to know
To configure the integration of AB Tasty FE&R (Flagship) with Segment, follow this .
No additional configuration of the AB Tasty FE&R (Flagship) platform is needed beyond the initial SDK or API integration with your application.
Here is an example of track call:
In Flagship, it will be retrieved as an EVENT hit to ariane.abtasty.com and will be transformed with the following payload:
Here is an example of a Segment transaction call:
In AB Tasty FE&R (Flagship), it will be retrieved as a TRANSACTION hit to ariane.abtasty.com and will be transformed with the following payload:
Here is an example of a Segment page call:
In AB Tasty FE&R (Flagship), it will be retrieved as a PAGEVIEW hit to ariane.abtasty.com and will be transformed with the following payload:
Here is an example of a Segment screen call:
In AB Tasty FE&R (Flagship), it will be retrieved as a PAGEVIEW hit to ariane.abtasty.com and will be transformed with the following payload:
Once triggered, hits will be available in the AB Tasty FE&R (Flagship) reports for the campaigns to which the visitor who triggered the hit has been assigned. It can take up to three hours for the events to be displayed in the reports.
⚠️ Important
You must use the exact same vistitorID between Segmentio.com and the call to the Decision API.
The hits sent by Segment to AB Tasty FE&R (Flagship) appear in the first step (Basic information) of any feature. From there, you will be able to select one or more KPIs that will appear in your report.
AB Tasty FE&R (Flagship) and Segment need to have the exact same visitorID to consolidate data between the tools. Check with your engineers to ensure the same value is passed in the Decision API and the Segment calls.
Depending on your implementation (server- and/or client-side), the order in which you call Flagship and Segment might change. In either case, make sure the same value is used for the Segment userID and AB Tasty FE&R (Flagship) visitorID to avoid any analytics discrepancies between the tools.
To benefit from Segment integration, you need to:
have an account with Segment.com;
have an Enterprise account on AB Tasty FE&R (Flagship).
To configure the integration of AB Tasty FE&R (Flagship) with Segment, follow this Segment catalog link.
No additional configuration of the AB Tasty FE&R (Flagship) platform is needed beyond the initial SDK or API integration with your application.
You can schedule a use case to be launched and/or paused at a future date directly from the dashboard by hovering over the use case and clicking the schedule button.
🚩 Heads up
Scheduling a Progressive Rollout will redirect you to the Deployment step. From there, you will be able to define the different deployment dates, including the starting and ending ones.
From the modal, you can choose to schedule your use case to be launched and/or paused at a specific date. To do so:
Activate the Start and/or Stop date toggle.
Select the date and time. If you want to schedule only the start or stop date, only toggle ON the one you need.
Select the timezone from the drop-down list.
Click SAVE. |
🚩 Heads up
You can launch and/or pause a scheduled use case at any time using the ON/OFF toggle from the dashboard. This action will unschedule your use case.
| | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Once set up, the scheduled use case will be easily identified from the dashboard thanks to a schedule icon next to the status button.
⭐ Good to know
If you want to be notified when your scheduled use cases start or stop, you can use our or our .
Let’s say you are working in California and have configured a use case that you want to launch for visitors located in Paris on the 24th of December at 10:00 PM, Paris time. To do so:
From the dashboard, click the schedule icon from your use case.
Toggle the Start date ON.
Select the date from the calendar: 24th of December 2021.
Select the time: 10:00 PM.
Select the Europe/Paris timezone.
Click SAVE: Your use case will be activated at that date and no stop date is scheduled.
Need additional information?
Submit your request at [email protected]
Always happy to help!
You can either select an existing KPI or create one if it doesn’t exist, among the 4 types of KPIs available: - Transaction - Event - Pageview (on Web/Server) - Screenview (on APP/Server)
⭐ Good to know
We recommend implementing the analytics part of Flagship as described in the (following your integration type (SDK/API)) before the KPI(s) of your feature.
For Screenview and Pageview KPIs, the reporting displays the access rate of a page (Pageview) or screen (Screenview).
You can select a KPI you have previously sent to the data collection.
To do so, select the type of KPI from the first drop-down list and directly select the existing KPI in the ‘Existing’ field or enter the first letters of the KPI.
You can also create a KPI from scratch, i.e. a KPI you haven’t sent to the data collection beforehand.
To do so, select the type of KPI from the first drop-down list and enter the name you want to give your KPI in the Add new field. Click + and choose a sub-KPI.
Next, when coding an Event or Transaction KPI, you must enter the exact same name as the one you created manually in Flagship.
🚩 Heads up
All conversions displayed in the reporting were made after being assigned to a flag. To be assigned to a flag, follow the activation part of the / you are currently using.
For example, let’s say you are running an experimentation to test two different algorithms on the search feature of your website.
You may want to track the access rate to the product page as a primary KPI as well as the number of clicks on the Add to cart CTA as a secondary KPI.
To do so, apply the following steps:
In the Choose metrics to follow section of the Basic information step, select Pageview from the first drop-down list.
Enter Access rate as a name for the KPI, select is regular expression from the operators list and enter a value (for example: .*\/product\/[a-z0-9]{5}.html).
In the secondary KPI section, select Event from the first drop-down list and enter Clicks on Add to cart as a new KPI.
Select Conversion rate as a sub-KPI.
Need additional information?
Submit your request at [email protected]
Always happy to help!
The rollback option is available for Progressive Deployment only.
To access this option, go to the Deployment step of the Progressive rollout feature and select Statistical rollout:
The Define Rollback section appears after the Define deployment steps section.
From the dropdown list, select the type of KPI you want as a rollback indicator.
In the second dropdown list, enter the name of the KPI or select one that has already been created.
Choose the comparison operator between less than (<) or more than (>) and enter the corresponding percentage.
Enter the number of users from which the rollback KPI can be effective.
⭐ Good to know
In the reporting, the Rollback metric mention means that the rollback option has been enabled for your progressive deployment feature.
Let’s say you want to develop a new feature, allowing your users to know the exact location of their package. To mitigate the risk, you want to deploy this feature to your users progressively. In addition, to avoid product regression, you know you must keep your conversion rate above 3,5%.
To do so:
Create a Progressive rollout use case on your Flagship account.
Configure the Basic information, Features and Targeting steps.
Define your progressive deployment with fixed steps of 10% of the users every week until you have reached 100%.
Configure your rollback KPI: Select Event as the KPI type and the name of the conversion rate measurement KPI you have chosen for your feature.
Select the < operator and enter the rate (3,5%).
Enter the number of users (10000 for example) from which the rollback can be done in case the conversion rate exceeds 3.5%.
Save and activate your use case via the dashboard.
In this case, from 10000 visitors on the targeted page and affected to the feature, if the event clickOnLocateMyPackage falls below 3,5%, then the progressive deployment will automatically be stopped, meaning that no more visitors will see the variation(s).
Need additional information?
Submit your request at [email protected]
Always happy to help!
If you are looking for a specific project, you can enter the name of your project and select “By project” from the dropdown list. You will get the list of all projects matching the name you have entered.
If you are looking for a specific use case, you can enter the name, ID or Slug of your use case and select “By use case” from the dropdown list. You will get the list of all use cases matching the name, ID or Slug you have entered. You can also search for a variationGroupId or variationId specific to a use case.
⭐ Good to know
The variationGroupId and variationId are values returned by the DecisionAPI.
When filtering by use case, a second dropdown appears to refine your search. You can select the status of your use case (Active/Paused) and/or its type (AB Test, Perso, Deployment, Feature Toggle). You will get the list of all use cases matching the combination of these filters.
If you are looking for a specific flag and want to know in which use cases it is used, you can enter the flagName and select “By flags” from the dropdown list. You will get the list of all use cases containing this flag in their configuration.
Here are two use cases where the search function can be useful:
You are working with several teams and each has its own projects within the same Flagship account. You’d like to see the projects your team is working on exclusively. You can use the search bar to enter the name of your project.
You want to release a feature to your users and you don’t remember which project the use case is located in. To avoid searching each project, you can select the “By use case” filter from the first dropdown list and by “Feature toggle” from the second one and enter the name of your use case in the search bar. It will open the project with the use case that matches the name you entered.
Need additional information?
Submit your request at [email protected]
Always happy to help!
Green: the Chance to win is equal to or greater than 95%. This means the variation can be implemented with what is considered to be a low risk (5% or less).
Orange: the Chance to win is between 5% and 95%. In this case, the feature is either neutral or lacks data. You can check the confidence intervals: the further the confidence intervals are, the more you will have to wait to have enough data. There is as much chance of the variation underperforming compared to the original variation as there is of it overperforming.
Red: the Chance to win is equal to or lower than 5%. This means the likelihood that this variation is underperforming compared to the original version is very high. Thus, the variation mustn’t be implemented as the risk is very high (95% or more).
As soon as your reliability status is reliable, this means the data is statistically relevant and ready to be analyzed.
In this example, the chosen goal is the Conversion rate. The experiment is made up of a single variation.
The conversion rate of variation 2 is 1.55%, compared to 1.49% for the original version.
The Chance to win displays 99.95% for variation 1, which means that variation 1 has a 99.95% chance of triggering a positive gain, and therefore of performing better than the original version. The odds of this variation performing worse than the original therefore equal 0.05%, which is a low risk.
Because the Chance to win is higher than 95%, variation 1 may be implemented without incurring a high risk.
In this example, the chosen goal is the Conversion rate. The experiment is made up of a single variation.
The conversion rate of variation 1 is 18.07%, compared to 18.21% for the original version.
The Chance to win displays 0.93% for variation 1. This means that variation 1 has a 0.93% chance of triggering a positive gain, and therefore of performing better than the original version. The odds of this variation performing worse than the original therefore equal 99.07%, which is a very high risk.
Because the Chance to win is lower than 95%, variation 1 should not be implemented: the risk would be too high.
Need additional information?
Submit your request at [email protected]
Always happy to help!
⭐ Good to know
We recommend following business rules before making a decision after running an experiment:
- waiting until you have recorded at least 5,000 unique visitors per variation
- letting the test run for at least 14 days (two business cycles)
Our progressive rollout has evolved!
Previously, conducting a progressive rollout included comparing the performance of the newly deployed feature with the original version of the product. However, many users asked to be able to progressively deploy without comparison to the original version of their product. So we made the progressive rollout evolve and removed the comparison part.
💡 Want to know more about it ?
Consult the product documentation
In an effort to continuously improve the value being delivered, we have upgraded the system for selecting the KPIs for the Automatic Rollback to provide you more flexibility in your choice. You can now define a threshold based on a specific conversion rate!
💡 Want to know more about it ?
Consult the product documentation
In order for you to further analyze the performance of your use cases we have added new filters to our reports.
It is now possible to filter according to any user context and parameters of your hits. This allows you to generate reports and analyze the conversion or transaction rate according to much more precise search criteria.
👉 Consult the User Documentation
One of our main priorities is to enable you to get insights from your report that can be used to optimize your product. That's why we've updated our report display with a clearer, more readable and relevant view of your conversion rate /Transaction rate as well as your page views and screen views.
⭐ Good to know
It can take up to 1 min to retrieve the hits after you start the recording. To make sure you see your hits, start the recording before triggering your hits..



This option is only available for Decision-API for now. If you implemented Flagship using bucketing, don't panic, it's on our roadmap to manage it too.
If you activate this option while two experiments are active (an experiment on your home page and a second experiment on the cart page), all visitors who see the home page before the cart page will only see the home page experiment. The quantity of traffic that may be allocated to the cart experiment will therefore be significantly reduced. This option may increase the time required to obtain enough statistics on an experiment targeting a page or a screen located deeper in the site/app (product pages, conversion tunnel, form confirmation page, etc.).




Import Cohorts
flagship_user_id
For the user matching to be achieved (and thus let Flagship target your Mixpanel cohorts), the flagship_user_id must be pushed back to Mixpanel (it is used as a joint key).
To do that, you need to ensure a $flagship_user_id user property is declared on Mixpanel user profiles:
The flagship_user_id is the Visitor ID already sent to Flagship (more info )
You can declare the flagship_user_id as a user property in you Mixpanel tracking code:
Or you can declare the flagship_user_id as a user property with the Mixpanel SDK
Mixpanel is a product analytics platform that helps teams understand how users interact with their digital products. It tracks events, user behaviour, and retention in real time. With powerful segmentation and funnel tools, it supports data-driven decisions. You can find their getting-started guide and the official partnership page.
The Mixpanel integration allows you to target the cohorts created in Mixpanel with AB Tasty.
Once the integration is active on Flagship you need to activate the integration on Mixpanel.
This article will walk you through the different steps to setup the integration on Mixpanel side and to export your cohorts.
You must be a Mixpanel project Admin to enable the Flagship integration:
Go to Integrations under the Data Management tab in the top navigation bar
In the Integrations list, select Flagship, and click Connect
To set up the Flagship integration you need to enter your account’s API Key. Copy paste the API Key of your Flagship account. Click “Continue”. ()
The AB Tasty integration will show a "Connected" tag once the connection is established.
Now that the connection between the tools is established, we have to export the desired cohorts to Flagship to target them.
Click Cohorts under Users in the navigation bar.
Select the cohort that you want to export. Click on the three-dot icon on the right side of the cohort.
Click Export to Flagship. Select either one-time sync or dynamic sync. Click Start Sync.
Mixpanel Documentation on cohort exports is available .
Congratulations, the integration is now set up and you can target your Mixpanel cohorts with Flagship!
For information on how to use your cohort, please refer to .
For global information on how to retrieve audiences, please refer to .
Flagship is an all-in-One Feature Management & Product Experience Optimization Platform which enables Product and Technical teams to mitigate risks and ship faster. It includes four types of features:
- A/B test;
- Personnalisations;
- Feature flag;
- Progressive rollout.
Your features are implemented via a web platform, which can be accessed from any browser.
In order to access the Flagship interface, you will need a specific Flagship account.
Organize your dashboard to focus on the projects you’re currently working on. We've introduced two new features: the archive option and the "move to" option. The former allows you to keep track of old use cases by archiving them and the latter allows you to re-organize a use case into another project.
Want to know more?
👉 Check out the
To save your time and provide you with important information at a glance, we have added new details when you click on a use case, such as:
The creation date
The status of the use cases (draft/paused/launched)
Scheduling, if activated
The bucket associated (for those participating in the Early Adopter program)
Flutter V2 has been updated to make it compatible with Bucketing mode, Experience Continuity, and predefined keys. Want to know more?
👉 Check out the B
👉 Check out the
👉 Check out the
A quick and easy way to retrieve data on your flags without having to go through the campaign endpoint. We've introduced the Route Flag, the new flag endpoint. Get data directly from flags without any additional development, reducing implementation time and complexity.
If you want to try it now, you can join our Early Adopter program.
Want to know more?
👉 Check out the
Interested in being an Early Adopter? Get in touch with your CSM or send us an email at [email protected]
Our Remote Control API makes your life easier. It allows you to control Flagship directly from your IDE:
Create and manage flags from outside of Flagship.
Directly query the corresponding Flagship environment to know which flags are already used in Flagship.
Automatically duplicate your use case from the pre-prod environment to the production environment to avoid spending time duplicating actions in Flagship.
Want to know more?
👉 Check out the
Interested in being an Early Adopter? Get in touch with your CSM or send us an email at [email protected]
An A/B test is a type of feature that enables you to test the performances of a new version of an element on your website or application. After analyzing the results of your test, you need to decide which version has performed best according to the KPIs you wanted to reach (e.g., the conversion rate). You can then apply these changes directly to your website/application.
To configure an A/B Test, apply the following steps:
From the dashboard, click Create a use case.
Select the AB Test template. &#xNAN;[Basic information]
Fill in the name of your AB Test and its description.
Choose the primary and secondary KPIs you want to follow.
Let's say that on your e-commerce website, you have noticed that your users have trouble proceeding to checkout once their order is complete. You think this may be due to the color of the button and the wording "Proceed to checkout", which would not be suited. You have come up with 2 solutions but don't know which one would bring the highest conversion rate. In this case, you can create an A/B Test:
Create an AB Test use case on your Flagship account.
In the basic information step, select the KPI related to a click on the “Proceed to checkout” button. You need to have configured it in your codebase beforehand.
Select the conversion rate as a sub KPI type.
In the targeting step, select “All users”.
Need additional information?
Submit your request at
Always happy to help!
We've reorganized the documentation, it's had a facelift but that's not all; it also includes examples of JS implementations and a new search function for all documentation.
And, because we like to hear feedback from our users, you can now share your comments and suggestions in the documentation. So get to your keyboards and let us know what you think!
👉 Consult the
Handling data cached on Android, Java, JS & React SDKs has never been so easy.
To improve the development experience, we have streamlined and optimized the Android, Java, JS & React SDK architecture and the way data is cached on SDKs. You can now customize the way the cache is managed. You (or your developers) can implement your own cache and tailor what it does or does not cache. A quick reminder on what the cache offers natively: Prevent user reassignment as the assignment is stored in the cache: a visitor will always be assigned to the same variation. Prevent data loss as the cache stores the hit and returns it later in case of an issue. Manage Offline moments. No connection, no worries, the SDK will take the last stored value.
👉Check out the
👉Check out the
👉 Check out the
👉Check out the
Managing flags just got easier.
Making developers' lives easier is in our ADN. This is why we updated the Flag management and revamped the getModification, getModificationInfo, activateModification and synchronizeModification methods to make it easier to understand. From now on, the following method will be swapped:
getModification() -> getFlag(“newRelease”).value()
getModificationInfo() -> getFlag(“newRelease”).metadata()
activateModification() -> getFlag(“newRelease”).userExposed()
synchronizeModification() -> fetchFlags()
This redesign of the methods allows for easier implementation, more self-service and better accessibility of information ("all in one" method).
PHP was updated to v2, and therefore is now compatible with experience continuity and Bucketing mode.
On Flagship, you can export your reporting data directly from the Reporting screen by clicking the Export button.
🚩 Heads up
For legal reasons (GDPR compliance), to be able to export data, you must give your consent for the data extraction. To do so, enable data export from the Data export section in your Account Settings. This action can only be performed by the Super Admin of the account.
You must select at least one type of data you want to export among the following:
Visitors
Transactions
Items
Events
Pageviews
Screenviews
User context
This list coincides with each type of hit that is sent from your website to Flagship. Once your export request is complete, you will receive the data by email in a CSV file. You will receive one CSV file per type of data requested.
Need additional information?
Submit your request at
Always happy to help!
Depending on the different privacy rules of each country (ie: GDPR and CNIL), you may have a legal obligation to ask your visitors for their explicit consent before tracking them and collecting their personal information.
A variable displayed in your SDK enables you to manage data collection, depending on whether a visitor accepts to be tracked or not.
Accepting to be tracked (data collection consent) generally means accepting a website’s cookies (often in the form of a banner).
Data collection can be managed via a parameter, directly in the SDK code of your Flagship implementation.
By default, the .withVisitorConsent variable is set to true, meaning that you will be able to collect visitor data. Don’t forget to change that default behavior if the visitor does not consent to data collection. Here is an example with the Android SDK:
You can change this parameter to false to block the data collection when a visitor has not given their consent. In this case, a hit will be triggered to specify that this visitor didn’t consent to data collection.
Flagship will still be able to send data but won’t receive any from the visitor.
When setting the variable to false, you won’t be able to know if the visitor has been assigned to a flag and you won’t see the results of their actions on the website or application (if any).This parameter only impacts data collection, but has no effect on use cases display. Even if your variable is set to false, your visitors will still see the use cases they’re affected to.
To know the implementation methods according to your stack, please refer to our .
Need additional information?
Submit your request at
Always happy to help!
The targeting step enables you to make your feature visible to one or several groups of users with shared characteristics. To define your targeting, you can either configure feature targeting for:
All users: target all the visitors landing on your feature.
Users by ID: target the users belonging to a specific ID.
Targeting by key: target the users matching a specific key.
Using the Decision API directly, or one of our SDK (in API or Bucketing mode), you can target your users via different criteria depending on the package you have subscribed to. These criteria are also called User Context keys and are useful to target users, but also to filter reporting of your feature when analyzing its results.
For targeting by key, you need to define a User Context key. To do so, you can either use an existing key, by selecting Key from the first dropdown list and its matching value in the Select a value field; or create a new key and define its value. To configure a new User Context key, click ‘Add a criterion’ and select Key in the first dropdown list and 'Add new' in the Select a value field.
There are two types of User Context keys:
Technical keys (for example device, system, geolocation, version).
Behavioral keys (for example VIP, Early Adopter, Buyer, Viewer, DefaultUser, age, name).
To send these criteria through one of our SDKs or our Decision API, refer to the .
For example, you may need to deploy your feature progressively to different groups of users. Let’s say you want to test your feature internally first, then make it visible only to your early adopters and finally to all your users. To do so, you can first push a user context key that you would call “userType”:“internal”, then change it to “userType”:“earlyAdopter” and finally to “All users”.
Need additional information?
Submit your request at
Always happy to help!
Check in QA that your hits have been configured correctly before launching a use case. For example, you may want to double check if the transactionID, the eventName, or the visitorID are correctly reflected in the reporting. Make sure that any event sent is received, and check that everything is properly configured:
Check all hits related to the use case
Check all payloads related to the hits
Check if your QA hits are received by confirming your visitorID
iOS SDK is now compatible with tvOS, watchOS & macOS!
This update allows you to manage features or experiment across smart devices that support tvOS, watchOS and macOS.
Cache management has been streamlined for the iOS SDK
To improve the development experience, we have streamlined and optimized the iOS SDK architecture and the way data is cached on SDKs. You can now customize the way the cache is managed. You (or your developers) can implement your own cache and tailor what it does or does not cache.
A quick reminder on what the cache offers natively:
Prevent user reassignment as the assignment is stored in the cache: a visitor will always be assigned to the same variation.
Prevent data loss as the cache stores the hit and returns it later in case of an issue.
Manage Offline moments. No connection, no worries, the SDK will take the last stored value.
Managing flags just got easier in the iOS SDK
The methods have been redesigned for easier implementation, more self-service and better accessibility of information ("all in one" method). We have revamped the getModification, getModificationInfo, activateModification and synchronizeModification methods to make them easier to understand.
From now on, the following methods will be swapped: getModification() -> getFlag(“newRelease”).value() getModificationInfo() -> getFlag(“newRelease”).metadata() activateModification() -> getFlag(“newRelease”).userExposed() synchronizeModification() -> fetchFlags()
You might be convinced that Flagship, our feature management, and experimentation software, is only compatible with companies that have an infrastructure built exclusively with integrated SDKs such as Android, IOS, NodeJS & JS, React, etc. But you can, in fact, use Flagship even if your SDK stack is not available, thanks to our decision API.
To illustrate, an SDK can be compared to a library that you will download onto your codebase to use pre-made functions. The Flagship SDKs are made of pre-coded methods that will facilitate the communication of your code base with our decisional API. this is the control center of Flagship, which in a way will allow you to perform your experiments and feature management.
If the SDK you are looking for is not available, you can easily implement Flagship in your codebase with a simple HTTPS request to the Decision API.
To find out how to successfully communicate with our Decision API, please refer to the .
Need additional information?
Submit your request at
Always happy to help!
Easily view and manage all your flags at once with the redesign of the Flag Management Dashboard! We improved it to save you time, especially when setting up multiple flags. You can now create and sync your flags directly from the page while having immediate visibility on the list of existing flags to ensure a name isn't already taken and you're sticking to naming conventions. To help you better manage your flags, we've also improved the layout, added a new search function, and introduced filters. Finally, for better team collaboration, users can now add comments and details in flags to provide additional information, and we’ve added logs so you can see who created a flag and when.
Want to know more?
👉 Check out
Switching between multiple platforms can be time-consuming, lead to errors, and interrupt focus. Because we aim to make your lives easier, we are excited to introduce our new Remote Control API! This new feature will allow you to leverage your existing stack and develop your own set of tools for how you want to use Flagship:
You can now perform all Flagship tasks directly with API calls, including managing your projects, use cases, variations, variation groups, users, targeting keys, and your flags.
As an administrator, you will also be able to manage the different scopes to which a user has access.
We have also developed a CLI to help you use the Remote Control API directly on a terminal.
Want to know more?
👉 Check out
👉 Check out the
A quick and easy way to retrieve data on your flags without having to go through the campaign endpoint. We've updated the FLag API with a new flag endpoint. Get data directly from flags without any additional development, reducing implementation time and complexity.
Want to know more?
👉 Check out the
When performing an AB Test and after analyzing its results, you need to decide which version has performed best according to the KPIs you wanted to reach (e.g., the conversion rate). You can then apply these changes directly to your website/application.
Applying these changes can be done by duplicating the winning variation to a Feature Toggle.
To duplicate a winning variation to a Feature Toggle, apply the following steps:
From the dashboard or the report interface, click on the Duplicate button.
Select the destination type for the duplication -- the default type is selected by default, so here you'll need to select To Toggle option.
Verify that all the fields are correctly set:
When everything is clear for you, click on Use this configuration.
❓Need additional information?
Submit your request at
Always happy to help!
To optimize the product life cycle, the development team must be able to work not only on a pre-prod or prod environment but also on Staging, RC, or any other environment where they may need to minimize bugs, facilitate testing and accelerate the team's development capacity. The ability to quickly create a local environment gives the developer the flexibility to work safely on a feature without impacting the work of the rest of the team.
This is why we are excited to introduce the Multi-environment manager, allowing you to create any environment you need in just 3 clicks.
👉 Consult the
To be GDPR compliant or simply to meet your users' preferences, you may need to get their consent to collect data before exposing them to an experiment, personalization or for feature management. To that end, we have released the User Consent parameter for SDKs to disable data collection if your users have not consented to the experiment/personalization/data collection.
This method will not prevent you from displaying changes to your users, it will simply block data collection. This means that you will still be able to use Flagship, even if visitors have not consented to data collection, to manage KillSwitches, Release Toggles, and Permission Toggles.
The user consent parameter is available for the following SDKs:
Android
iOS
Java
Flutter
We previously released the ability to export data from our reports, which was a key milestone to ensuring our customers could view all the hits and visitor IDs in any other system within their TechStack. Now the goal is making sure to continue adding the most valuable data to this report extract and are happy to announce the user context data has been added to the list of available data that can be extracted. The Flagship users have consistently remarked on the value of filtering the Flagship reports based on the user context key (for example user device, geolocation, is a beta user, etc.) to perform analysis so it only made sense that made this data available to be easily extracted.
👉 Consult
Flagship is further expanding its collection of available SDKs. We have added compatibility for Flutter SDK.
We've reworked the Flagship dashboard at the project and use case level. Now, when you see the list of your projects, you can see at a glance the number of use cases that are activated in your environment:
The display of the activation or deactivation date of a use case has also been made universal:
And finally, it is now possible to delete a use case directly from the dashboard by using the three small vertical dots present when you hover over it:
Multi-factor authentication is a two-step process for verifying the identity of people who log in to the platform and enables you to secure your account. You can restrict the use of your account by other users by enabling one or both of the 2FA (two-factor authentication) methods. In this case, the users will only be able to access your account using the MFA method you enabled. The Super admin is the only role who can enable MFA on an account.
⚙️ Configuration
To secure your environment, that is to say to compel users to log into your account with the MFA, you can enable one of the two following options:
The 2FA method by SMS: via a verification code sent in a text message.
The 2FA method by Application (Google Authenticator, 1password, Authy, and so on): via a verification code sent in an application.
When you enable one 2FA method, users will have to configure the corresponding 2FA in their profile to be able to connect to your account. If they don’t have a 2FA method configured, they will be asked to do so when accessing your account. Otherwise, they won’t be able to log into your account. You can also enable both methods (2FA by SMS and 2FA by Application). In this case, users will be able to access your account if they have configured at least one of the two methods.
For more information, refer to .
Need additional information?
Submit your request at
Always happy to help!
The Integrations page enables you to create and manage integrations with the third-party tools (DMPs, CDPs, etc.) available on your Flagship account. From there, you can activate integrations in order to retrieve all the audiences you have configured in your third-party tools. You will then be able to use them as targeting keys in the Targeting configuration step and as filters in the reporting of your use cases. To access the integration page, go to Settings > Integrations. It is divided into 3 main sections:
A Flag (more commonly known as Feature Flagging) is a technique that enables you to remotely modify any system behavior without changing its code. It can be seen as a dynamic variable allowing you to change values at any time. In Flagship, you can configure and manage your Flags.
This article will provide information about the AB Tasty - Feature Experimentation & Rollouts demo made in React.js
To help you understand what are the principles behind Flagship, we have created a hosted demo and a sandbox environment (for developers) which will help you understand how our solution can be used in a real use case.
We have created a set of predefined use cases which are linked to the demo. This article explains how to link your account to the demo to let you play with it.
The purpose of the demo is to show how to use Flagship and have examples of how to name a flag.
Multi-factor authentication is a two-step process for verifying the identity of people who log in to the platform and enables you to secure your profile and account.
⚙️ Configuration
To secure your profile, you can use one of the two following options:
The 2FA method by SMS: via a verification code sent in a text message.
The 2FA method by Application (Google Authenticator, 1password, Authy, and so on): via a verification code sent in an application.
Once multi-factor authentication is enabled on your profile, you will be asked to provide your email address and password, as well as a verification code sent via text message (if you enabled 2FA by SMS) or via an application (2FA by Application).\
The Remote Control API enables you to create credentials with specific rights to let you carry out actions on your account outside of Flagship. This way, you will be able to control your account without having to log in to Flagship.
To access the Remote Control API page, go to Settings > Integration > Remote Control API. It is divided into 2 main sections:
The Bucket allocation screen enables you to prevent your visitors from seeing all use cases at the same time and thus have reliable and statistically correct balance reports, as well as a clear and workable experience. This feature is especially useful when you have significant traffic and a lot of use cases running at the same time. You can place your use cases in different buckets in order to limit their visibility. The global traffic of your website is evenly split between the different buckets and your use cases can be placed in several buckets. It is available for
<script type="text/javascript" src="https://try.abtasty.com/83cb13aabbfc8e8790xxxxxxxxxxxxxx.js"></script>fetch("https://decision.flagship.io/v2/{{envId}}/campaigns", {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': '{{yourAPIKey}}'
},
body: JSON.stringify({
visitor_id: "YOUR_VISITOR_ID", // YOUR VISITOR ID YOU PROVIDE
context: {},
visitor_consent: true,
trigger_hit: true,
decision_group: null
})
}){
"visitor_id": "YOUR VISITOR ID",
"context": {},
"visitor_consent": true,
"trigger_hit": true,
"decision_group": null
}analytics.track('Clicked AddToCart Button'){
"cid": "<environmentId>",
"ea": "Clicked AddToCart Button",
"ec": "Action Tracking",
"t": "EVENT",
"vid": "visitorId1234567",
"ds": "APP",
}analytics.track('Purchase', {
transactionId: 'QWERTY12345',
revenue: 349
});{
"cid": "<environmentId>",
"ta": "Purchase",
"tid": "QWERTY12345",
"t": "TRANSACTION",
"vid": "visitorId1234567",
"ds": "APP",
}analytics.page('Home');
// with the Payload
{
"type": "page",
"name": "Home",
"properties": {
"title": "Welcome | Home",
"url": "http://www.example.com"
}
}{
"cid": "<environmentId>",
"dl": "http://www.example.com",
"t": "PAGEVIEW",
"pt": "Welcome | Home"
"vid": "visitorId1234567",
"ds": "APP",
}analytics.screen('Home');
// with the Payload
{
"type": "screen",
"name": "Home",
}{
"cid": "<environmentId>",
"t": "SCREENVIEW",
"pt": "Home"
"vid": "visitorId1234567",
"ds": "APP",
}The list of KPIs implemented with details


⭐ Good to know
The visitor consent parameter is available for the following SDKs:
Android
iOS
Java
Flutter
⭐ Good to know
This option isn’t retroactive. If you have collected data before the variable was set to false, it won’t be deleted. However, new data won’t be collected.


The environment
The project (you can only duplicate to a project you already have access to)
And finally, the variation.
Once done, you'll see the overview of your duplication with:
The title of your future Feature Toggle -- which includes the variation's name you're duplicating
Its description
The KPIs set
The flags
and the targeting criteria
If something can't be duplicated, you'll see an insight to warn you.


⭐ Good to know
You can also create targeting keys in the Persona screen or when calling the Decision API with new context keys.
🚩 Heads up
Once you have retrieved data from your various experiments or feature management use cases, you can use the reporting to filter according to the user context keys that you have configured in the step targeting (see screenshot).






































⭐ Good to know: Mixpanel Cohorts
Cohorts are groups of users defined by a chosen set of criteria, like a shared property or sequence of events. For more information on how to use cohorts please refer to the Mixpanel documentation.



heap.getUserId()heap.identify("your_custom_user_id")mixpanel.people.set({
$flagship_user_id: vid
}); mixpanel.people.set(properties: ["$flagship_user_id":vid])Click Save and continue. &#xNAN;[Targeting]\
Define the type of users who will see your feature. For more information, refer to the article about Targeting configuration.
Click Save and continue. &#xNAN;[Variations]\
Configure your variations by defining their flag's name, type (text, number, boolean, array, or object), and value. \
Click Save and continue. &#xNAN;[Allocation]\
Define the percentage of the traffic you want to assign to each variation. You can choose between a manual or a dynamic allocation: The manual allocation enables you to determine the percentage to assign to each variation. The dynamic allocation automatically diverts new traffic to the best-performing variation depending on the results of each variation. &#xNAN;[Overview]\
Click Save and continue.
Check that every step has been configured correctly.
(Optional) Notify your teammates that the A/B Test is ready to go.
In the variations step, configure the two variations with two flags of type Text as follows: For the first variation: For the second variation:
In the allocation step, assign 34% of your traffic to the original version, and 33% to the other 2 variations.
Check the overview of your AB Test.
Save and activate your use case from the dashboard.

Custom ID
Unique value that lets you request the flags of a specific use case.
Dashboard
Overview of your projects and all the use cases (features, experimentations) that you are currently managing.
Decision API
Managed REST API which allows your developers to communicate with our Flagship product. It will return flags and the associated values that you want to display to your users.
Deployment
Step that enables you to plan your progressive rollout by configuring each due date and percentage of traffic that will see your feature.
Dynamic allocation
Option that automatically sends more traffic towards the best-performing variation based on a specific KPI (e.g. conversion rate, transaction rate, etc.).
Dynamic variable (or Remote variable)
Container for some code (Feature flag, Toggle, CSS, Text, any values, etc.).
Environment ID
Identifier of your current environment (prod/preprod). It must be sent when you are communicating with the Decision API/SDKs.
Feature Flag
Remote variable / Dynamic variable you can play with remotely. From the Flagship platform, you can play with all the flags wrapping your feature.
Feature Toggle
Feature flag containing additional string or integer parameters (ON with quota of 500; ON with version number 2.1; etc.).
Feature
New functionality within a product to be deployed to users.
Feature management
Method used by development teams to deliver faster and take on more development cycles. It allows engineering teams to continuously deploy code and empowers business teams with control over features so they can manage their customer’s experience.
Feature toggle
Synonym of Feature Flag.
Flag Key
Variable present on your code that you want to act on with a specific value (Boolean, integer, string).
KPI
Key Performance Indicator, which will prove that your team brings ROI to your company.
MFA Method
Multi-factor authentication that allows you to protect your account.
Panic mode
Button in the settings that enables you to disable every live feature of your account, especially if you are dealing with a major issue.
Persona
Typology of users you want to address.
Personalization
Type of feature which enables you to modify the content of your website or application, either for the entire traffic or for a specific audience.
Primary KPI
KPI that serves as a point of reference for the entire use case to determine whether your use case is effective or not.
Progressive Rollout (or Progressive Deployment)
Feature that enables you to assign your users to your new feature step by step, with a Rollback KPI.
Projects
Series of features that you need to experiment and manage to reach a specific outcome.
Report
Analysis interface available for each feature, which presents the visits, actions, and behavior of visitors allocated to the feature. Each report includes a list of KPIs and indicators which enable you to determine the winning version of a test or the performance of a feature.
Rollback
Action carried out to completely disable the feature and return to the previous behavior of your website/application.
Rollback KPI
Metric you want to track in case your new feature negatively impacts your main objective.
Scenarios
Step that enables you to set your targeting users and your personalization/feature configuration.
SDK (Software Development Kit)
Easy way to develop in a specific language. This helps you save time as all the functions you need are pre-coded.
Secondary KPI
KPI which will probably and indirectly be impacted by your use case.
Standard allocation
Option that allows you to manually manage your user allocation on each variation of your feature.
Summary
Last step of each created use case that allows you to get an overview of your experimentation information.
Targeting
Feature configuration step. Enables you to specify the different targeting criteria of the audience which the modifications shall apply to.
Targeting key
Variable whose value can be used as a targeting criterion.
Uplift
Improvement made in comparison to the reference variation with the Bayesian interval.
Use case
Template applied to a feature (i.e.: an experiment use case applied to an algorithm feature).
User context
Context that you get from your user, shared to Flagship. It allows you to set different types of users (VIP, New, mobile user, etc.) which will increase the effectiveness of your feature management. Used for targeting keys and reporting filters.
User ID
Unique user ID (defined by you) that you send to the platform via the Decision API/SDKs.
Variation
Variant of the original version of your experimentation feature. The effectiveness of the variation is measured in relation to the original version, based on previously selected and configured KPIs.
2FA
Two-step process for verifying the identity of people who log into the platform and for securing your profile.
A/B Test / Experiment
Type of use case that lets you test a simple or complex hypothesis. Users are subjected to one of several alternative versions of a page, element, or workflow in order to identify the best-performing variation.
Automatic rollback
Option that enables you to stop the deployment of a feature and to revert all the changes that have been made in order to ensure that your feature isn’t breaking your customer experience, and therefore your business and conversion rate.
Backup codes
Codes generated after enabling a 2FA method that you can store in a safe location in case you forget or lose your phone.
Boolean
Type of variable with a value of either true or false.
Chance to win
Likelyhood of winning more if you put the variation into production. Calculation is based on the Bayesian confidence interval of the uplift.
Conversion rate
Number of visitors that reach a desired goal (a conversion) out of the total number of visitors.
This section displays the list of all integration API keys that have been generated for your integrations. An integration API key is a unique key that enables a link between Flagship and a third-party tool. The name of each integration API key refers to the name of the third-party tool to which it is linked.
⭐ Good to know
Each API key is unique and will only work with its related third-party tool.
Some integrations do not require an API key.
However, for those requiring an API key, we recommend keeping it safe. Indeed, the API key is displayed when you configure the integration for the first time, but you will not be able to access it anymore after that time. If you have lost your API key, you can still revoke it and generate a new one directly from the integration line of your third-party tool in Flagship.
\
This section enables you to activate an integration with a third-party tool supported by Flagship. The dropdown list displays the available third-party tools. If you would like an integration with a tool that is not on the list, please send us an email with your request. After selecting your tool, you will be asked to configure the integration by filling in the required fields.
This section displays the integrations you have activated with your third-party tools. From there, you can edit the integration configurations, read the integration documentation and delete it.
To retrieve the audiences of a web analytics tool, you must enable and configure its integration in Flagship. From the integrations page, apply the following steps:
From the third-party tool dropdown list, select your tool.
Fill in the required fields (if any).
Click Add tool.
If an API key is requested, a popin appears with the key. Copy it and keep it safe as you won’t be able to retrieve it from the platform once you close the popin. The integration appears in the list.
Configure the integration from the third-party tool. For more on this, refer to the integration documentation of the tool by clicking on Learn more.
Once the integration is activated, you must send the flagship_visitor_id to your third-party tool via one of the methods indicated in the integration documentation.
Once you have activated and configured the integration, you will be able to retrieve your tool’s audiences in Flagship. Note that it may take some time for the audiences to be displayed in Flagship depending on the tool (see the documentation of your tool to learn more). You will be able to use these audiences:
In the targeting step of your use cases to target your visitors.
In the filters of your use case reporting to filter on a specific audience.
🚩 Heads up
In the filters of your reporting use case, you will be able to see all the audiences of the third-party tools integrated in your account. You will be able to filter on any of them, even if they have not been used in your use case. Indeed, if you filter on an audience that is not used in your use case, no results will come up.
Need additional information?
Submit your request at [email protected]
Always happy to help!
You can configure 5 types of Flags:
Flag type
Usage
Text
To modify the text or the configuration of a specific element in your interface.
Boolean
To activate or deactivate a specific part of your code.
Number
To create different variations of an element (i.e.: different prices for a product).
Array
To manage a list of items.
Object
To monitor more complex parts of your code, such as the iterations of a specific feature or a complete product configuration.
To configure your Flag, you must select one of the following modes:
This is the most common method used for configuring a Flag. You need to fill in the name, type and value of your Flag in separate fields, and you can easily add Flags for the other variations/scenarios of your use case.
This mode is designed for users who are comfortable with the JSON interface. It allows you to configure more complex Flags and to be more flexible.
⭐ Good to know
When you save the configuration step of your Flags, the configuration mode (standard/expert) you used will also be saved.
The Standard mode can be used for example by Product Managers who want to use Flags to configure progressive deployment features. They usually want to prioritize their Flags and manage the production of their user stories easily.
The Expert mode (JSON) can be used for example by Tech leaders who want to use Flags for better scalability and safety related to their releases. They usually have a specific method to define the Flags with their team and technical stack that enables them to keep control over their code.
Need additional information?
Submit your request at [email protected]
Always happy to help!
The Flagship demo will require your credentials to let you control it. Below is the process to do so:
On the Flagship platform, go to Settings → Environment setting
You will have access to your API KEY / ENVIRONMENT ID. This pair of keys will allow you to control the demo directly from your account.
Here is the link to access the demo: Flagship demo
To access and have control of the demo, you'll have to enter your API KEY and ENVIRONMENT ID in the dedicated sections.
After putting your credentials, you will have access to the demo.
For this demo, we have created a set of predefined use cases. You'll find them inside the project "Flagship demo" in your account.
Each use case will let you see how Flagship can affect the demo. Here are detailed explanations for each use case :
Use case: test on the "pay" wording of the CTA
This use case is an A/B test. It will show you how to set an A/B test on Flagship. It targets all users and has a targeting of 50/50. This means that you have a 50% chance to get either the original wording (Pay) or the variation one (Order now).
(Original)
(Variation)
Every new visitor has a chance to have each message, to help you review the result of the A/B Test in our demo, we have implemented a way to change your visitor ID (The attribution system we use to differentiate every visitors of your website).
You can put what you want as a Visitor ID, validate, and it will set the new visitor to the page.
For each new visitor IDs, a new attribution will be made, with this you'll be able to test the results of the A/B test.
Use case: Enable PayPal for All
This use case is a feature toggle. It's controlling if the Paypal payment method is active or not on the demo app. This will show you how to enable/disable a feature for all users.
(the PayPal button to show or not on the demo)
Use case: Payment page settings - Header and CTA color
This use case is a feature toggle. It allows you to control some parts of the demo and shows how you can use Flagship as a remote control center to configure and control part of the website remotely and without doing a release.
(The use case is controlling the header color and title + the payment CTA color when it's enabled/disabled)
Use case: Choose Payment Provider Per Device
This use case is a feature toggle. It will show you how to set targeting criteria.
In the targeting section of this use case, we have set 2 types of targeting criteria, iOS users and Android users.
(iOS users targeting)
(Android users targeting)
if the user comes from an Android or an Apple device, we will show the different payment methods for each operating system.
(if the user is an Android user, the website will show the GooglePay payment method)
(if the user is an Apple user, we will show the ApplePay payment method)
We have created a sandbox environment to help developers understand how Flagship is implemented.
The hosted demo and the sandbox share the same code base, so it's the same code on both.
The sandbox also shares the same authentication method. You just have to follow the same steps as shown for the demo.
Here is the access to the sandbox environment: Flagship demo sandbox
🚩
The MFA is an additional level of security during the login process. Your password still needs to be strong and to comply with safety rules.
2FA by SMS
The 2FA by SMS option enables you to confirm the connexion to your account with an authentication code sent to you via SMS. To configure the 2FA by SMS, you need to enter your phone number. You will receive a confirmation code to be typed into the relevant field. When the 2FA by SMS option is configured, you will be asked to enter an authentication code every time you log into the platform.
2FA by Application
The 2FA by Application option enables you to confirm the connexion to your account with an authentication code that you receive in the application of your choice. To configure the 2FA by Application option, you need to scan a QR code. Download an application like Google Authenticator or Authy and enter the confirmation code you have received in the relevant field. When the 2FA by Application option is configured, you will be asked to enter an authentication code every time you log into the platform. To disable the 2FA method on your account, click the 2FA by SMS enabled or 2FA by Application enabled button (depending on chosen method). However, if you have access to an account that requires MFA, you won’t be allowed to access it anymore.\
ℹ️
We suggest generating backup codes storing them in a safe location. This may be useful if you forget or lose your phone. To do so, click Generate Backup codes.
You can restrict the use of your account to users by enabling one of the 2FA or both. To do so, refer to Configuring account restriction with MFA. Need additional information?
Submit your request at [email protected]
Always happy to help!
This section enables you to generate new credentials with specific rights. Once your access is generated, you will see a popin displaying a clientId and clientSecret that you must copy and keep safe.
⭐ Good to know
Each clientId and clientSecret is a unique pair. We recommend keeping these credentials safe as you won't be able to retrieve them once you close the pop-in. Make sure you don't communicate them publicly.
If you have lost your credentials or have any doubt about their usage, you can still revoke them and generate new ones.
This section provides an overview of all previously generated accesses, with their name, creation date, and authorized actions.
For each generated access, you can:
Revoke it, meaning that any service using the credentials won’t work anymore (until you update it with new credentials).
View its details, such as all the authorized rights.
To generate Remote Control API credentials, you must be part of an ENTERPRISE package and be a SUPER ADMIN. From the Remote Control API page, apply the following steps:
Enter a name for your new access.
Select the environment(s) you (Or someone on your team) will be able to act on.
Select the actions you want to authorize for these credentials.
Click Generate.
A pop-in appears: we recommend saving your clientId and clientSecret in a safe place before closing the popin as you won’t be able to retrieve them again.
If you have many accesses, you may want to see all of them to view the details or revoke a specific access. To do so:
Uncollapse the Generated Access section.
Click Details to see the list of authorized rights for an access OR Click Revoke to remove an access.
🚩 Heads up
If you revoke an access, you won’t be able to retrieve it. You will need to recreate the access and will be provided with a new clientId and clientSecret.
Need additional information?
Submit your request at [email protected]
Always happy to help!
The Bucket allocation screen displays two columns:
The use cases (left section)
The buckets (right section)
The left section displays all the use cases that can be placed in buckets, i.e. those you have enabled in the Main information step of your use case.
The attribution column indicates the number of buckets a use case has been placed in. On hover on the line, each bucket in which the use case is attributed is highlighted.
By default, use cases are not placed in any buckets.
🚩 Heads up
If a use case is in the left column but has not been attributed to any buckets yet, it won’t be seen by any visitors (0% of the traffic).
The right section displays all the buckets of your account.
You can use a maximum of 10 buckets and each one represents 10% of the overall traffic; meaning that traffic is evenly distributed between all buckets.
No matter how many buckets are used, they still represent 10% of the traffic. For example, if you fill only 5 buckets, those 5 buckets still include 10% of the overall traffic.
You can place several use cases within the same bucket (as many as you want). This means that a visitor belonging to a bucket will only see the other use cases attributed to the same bucket (if they meet the targeting criteria of the use cases).
However, they won’t be able to see a use case attributed to another bucket, even if they meet the targeting criteria.
For each bucket, you can see the number of attributed use cases at a glance. By clicking ‘see use cases’, you can visualize the names and types of the use cases.
You can also rename your buckets for easy organizing.
For each use case, in the Main information step, you can decide whether or not you want your use case to be attributed to buckets.
If you push the toggle ON: you plan to restrict the visibility of your use case to a specific percentage of traffic (determined by the buckets) and commit to placing it in one or several buckets via the Bucket allocation page.
If you push the toggle OFF: there is no action required on the Bucket allocation page, your use case will be visible to all visitors matching its targeting with no traffic restriction.
To be able to place a use case in buckets, you need to have enabled the toggle from the Main information step of your use case beforehand.
To place a use case in a bucket, click it, select the desired buckets and save your configuration.
⭐ Good to know
If you want your use case to be visible to all of your traffic, you need to untoggle the bucket allocation button from the Main information step of your use case instead of placing it in all the buckets.
Once you have placed your use cases in buckets, you can save your configuration.
If you leave the page without saving, your modifications won’t be taken into account and won’t be applied to your website.
Need additional information?
Submit your request at [email protected]
Always happy to help!
\
It’s bigger, better and more robust than ever! Our developer portal has everything your R&D teams need to get started and go the distance with Flagship: the latest SDKs, documentation, how-tos…
Our Flagship reporting just got better:
Average Value is now an available Sub-KPI. It’s based on the transaction revenue divided by the number of transactions, which gives visibility into the ROI achieved with each campaign.
Reporting filters now allow you to drill down into context keys, values and additional information each time a visitor completes a transaction.
We’ve released our GO SDK! Save time and integrate your applications in the GO programming language with Flagship, without needing to manually configure the Decision API.
Sleep sound knowing your synchronous API calls are configured to timeout, increasing performance and security.
No matter where your end users are, you can be sure to deliver their digital experiences at lightning speed - and with less cost - thanks to bucketing. Available for all of our seven SDKs, and using MurmurHash and a serverless infrastructure with AWS. \
Go beyond simple string/boolean/number value modifications to full JSON modification support (array and object supported).
Don’t want to rely on users refreshing your mobile app? Don’t like restarting your server frequently? Now, you can schedule a bucketing refresh and spend your time focusing on more important tasks.
A much easier way to get your campaign information from any SDKs in use. You can now efficiently obtain:
Campaign Id
Variation Id
Don’t let old or broken flags clog your code. With our new Flag Tracking dashboard, you can easily monitor and edit all your flags that are live, paused, or in draft mode.
From the dashboard, click Create a use case.
Select the Feature Toggling template. &#xNAN;[Basic information]\
Enter the name of your feature and its description.
Choose the primary and secondary KPIs you want to follow.
Click Save and continue. &#xNAN;[Scenarios]
Define your scenarios: edit the name of your first scenario.
Configure your scenarios by defining the group of users who will see each scenario (for more information, refer to the article about configuration) and by defining their flag's name, type (text, number, boolean, array, or object), and value. \
Click Save and continue. &#xNAN;[Overview]
Check that every step has been configured correctly.
(Optional) Notify your teammates that the Feature Toggle/Flag is ready to go.
Let’s say you have developed two new payment features: one for mobile devices and one for desktop. Before releasing them, you want to test them to early adopter users to see if the features fit the original need. In addition, you want to know what their usage rate would be.
In this case, you can create a Feature Toggling:
Create a Feature Toggling use case on your Flagship account.
Choose the KPI you want to follow. Here, you can select the KPI related to a click on the “Proceed to checkout” button. You need to have configured it in your codebase beforehand.
Select conversion rate as a sub KPI type.
In the scenarios step, define two scenarios: one that enables the feature on desktop and one on mobile devices. On each, configure the flag that will enable the new payment method:
Check the overview of your Feature Toggle.
Save and activate your use case via the dashboard.
Need additional information?
Submit your request at [email protected]
Always happy to help!
Project
Master level for gathering use cases aiming towards a similar goal in the same group
Use case
Part of a project, allows you to test a specific hypothesis
+
Used to create new Projects and Use cases
On/Off Toggle
Allows you to start/stop a single use case or all of the ones from a specific project
Name
Name of each variable sent by the server. These Keys will be used by the User to set up targetings
Type
Expected format the value can take: it can either be a string, a number, or a Boolean value (True/False)
Create
Used to create new Keys
Description
Short explanation of what each Key coincides with


⭐ Good to know
Your exported data is updated 24 hours after your last export.

The MFA is an additional level of security during the login process. Your password still needs to be strong and to comply with safety rules.






To further provide the best user experience in Flagship and maintain consistency, we have improved, streamlined but most importantly unified the flag configuration workflow across all use cases.
Since we care about all users and know that some prefer to configure a flag with a JSON format and others prefer to fill in the name, type and value of their flags, we have created 2 configuration modes: standard and expert so that everyone can follow their preferred path.
Want to know more about it?
👉 Consult the
👉 Consult the
👉 Consult the
👉 Consult the
Have you ever had any doubts that some of the problems might have come from Flagship? With the new Status page you can find out if there is an issue with Flagship by visiting . There you will find all information about Flagship services and the product maintenance we are working on. Do you want to know more about the response time of the decision API? You can check out . You will get an overview of the overall response time in different regions.
You may have experienced some performance issues in early December on Flagship. Since providing the best performance to our users is one of our top priorities, we quickly identified the reason (too many database calls) and worked on a solution.
Not only were we able to solve this problem by implementing a new Redis cache management system, but we also improved the overall performance of the platform.
Here are the improvements we made:
We made each API call 30% lighter.
We made the communication with the database smoother,
We lightened the impact on the CPUs
And we implemented a Read Replica so that the queries made by our background processes (CRONs) do not increase the load on the production database.
Stressed out about forgetting you have an experiment to launch or busy with urgent business and not being able to launch the personalization you spent so much time on? What impact would it have on your business if you forgot about it while other stakeholders thought it was done? How much time and money would you lose by moving on to another task in a hurry to belatedly activate an experience or personalization?
Wouldn't it be great if you could agree with all stakeholders, set a date, and stop thinking about it to focus on other things? Flagship scheduler not only allows you to plan your experience or feature launch but also to be in sync with all your stakeholders and avoid any missteps of a GTM launch. Don't waste time or worry anymore about forgetting to toggle on a use case.
Try it now 🚀
Want to know more about it?
👉 Consult the
The Webhooks page is an overview of all the webhooks you have configured on your Flagship account. This page enables you to trigger alerts depending on the type of actions performed on your account.
A Webhook is a way for applications/software to send alerts to third-party applications in real time when an event happens. It is configured to send push notifications to a URL (Hook URL) designated by the tier interested in the event. Each event triggering the Webhook URL will have specific parameters (such as the name of the event) and common ones (such as the date and time). For more information on webhooks, refer to the developer portal.
To access the Webhooks page, go to Settings > Platform Integration > Webhooks tab.
To create a webhook, apply the following steps:
Click Create.
Choose the event you want to be alerted on.
Insert the webhook URL which should receive the alerts.
Insert a short description to remember what this webhook is for.
Here is the list of event types you can receive an alert on:
Let’s say you and your team are planning to launch several features during the next quarter. Five people are managing your Flagship account and working on the features (activation/deactivation, etc.). To be notified when a feature is pushed ON or OFF by any member of your team, you can configure a webhook. To do so, you must create the webhook in your codebase beforehand and thus generate your own hook URL to reach it. Then, you can create a webhook via the Webhooks tabs of your Flagship account:
From the drop-down list, select the feature.status event style.
Fill in the corresponding Hook URL that you generated.
Add a description.
Click Create.
Now you can manage your Flagship features more easily.
Need additional information?
Submit your request at
Always happy to help!
Experience Continuity is a feature that enables your users to keep the same experience across devices and sessions. When a user changes device or signs into their account, Flagship is able to retrieve their visitorID and to assign them the same variation so that their experience on the website is the same.
🚩 Heads up
This feature is compatible with the Decision API V2 only. If you use bucketing and want to benefit from this feature, please contact us.
Experience Continuity enables you to provide your users with a Cross-Session and a Cross-Device experience.
This feature guarantees continuity between your users' sessions. That is to say that your users will see the same variation across their different sessions on your website. For example, let’s say a user visits your website for the first time as an anonymous (without being logged into your website), they are automatically assigned to a variationID corresponding to a variation (variation 1 of your test, for example). Then, they log into your website on the same browser. With the Experience Continuity enabled, Flagship is able to assign the user the same visitorID and thus, they see the same variation (variation 1). Their experience on your website won’t be affected by the different sessions. Without the Experience continuity feature, the user may see the same variation or another one.
This feature enables your users to ensure a Cross-Device Experience, meaning that they will have the exact same experience when browsing on two (or more) different devices. For example, let’s take the exact same user as in the previous example. They log in on a desktop device > assigned to a variationID corresponding to a variation (variation 1 for example). A few minutes later, they log in on their mobile phone. Flagship understands that this visitorID has already seen a variation and the user will be assigned the same variation (variation 1). Their experience on your website won’t be affected by the device change. Based on those two behaviors, a same user browsing on two different devices will be counted as a unique user in our report, and all the conversions they make will be linked to this specific user. Based on the above diagram, the results in the reporting of your feature will be the following:
To enable the Experience Continuity feature, apply the following steps:
Go to your environment settings and toggle the feature ON. \
Integrate the visitor_id reconciliation into the code of your website following our new SDK method or Decision API workflow.
Need additional information?
Submit your request at
Always happy to help!
The development of new integrations requires technical resources for companies. SDKs are mainly developed to build everything a developer would want to directly communicate with the corresponding interface/product. To facilitate Flagship’s implementation, we have created some SDKs.
SDK stands for Software Development Kit, which is a programming toolkit for developers that facilitates the development of software for a particular stack. Since Flagship is a platform that requires code development in your codebase, we have developed SDKs to facilitate its integration with your product.
Each SDK contains a package of pre-built methods designed to communicate with our Decision API or our . With them, you can quickly create the flags, KPIs, target users, and so on, that you want to use on Flagship. Also, if you want to make changes to your SDKs, you can as they are totally open-source (as long as you mention the AB Tasty copyright). To use one of our SDKs, you must first make sure your stack is compatible with one of the ones we offer (if you can't find a suitable SDK, refer to ). Once you have found the right SDK, you will need to download it and import it into your codebase. Then, you will need to initialize the first methods needed to synchronize your codebase with your Flagship account. You will find all the necessary information on the in the category of the SDK you are using. Finally, you will need to implement the methods in your codebase that will allow you to create target users, flags, and KPIs that you will want to use on your Flagship account.
Here is the list of all available SDKs:
Need additional information?
Submit your request at
Always happy to help!
The Flags page is an overview of all the flags you have created on your Flagship account, with an overview of how many live, paused and draft use cases use this flag. All the flags you create in this page will be available in the flag section of your use cases.
A flag is a variable you want to act on with a specific value (Boolean, integer, string, object, array). Each flag displays the number of live, paused, draft features and code-based references in which it is used.
To create a flag, apply the following steps:
Click Create new flag.
Enter the flag name and description.
Select the flag type among the following: Text, Boolean, Numbers, Object, Array.
(Optional) Enter the predefined values of the flag.
Once a flag has been created, it will be displayed in the flag list along with the other, previously created flags.\
And get the following information at first sight:
the flag name;
the flag type;
the creation date;
the flag category
And on click on the line:
the predefined values set up earlier;
the name and status of the use cases in which the flag is being used;
the flag location in the use case;
the information on whether the flag is present in the code or not and how many occurrences there are (if you have correctly set up the codebase analyzer).
To find out the exact location of your flag, you can click on the repository link to be redirected to your versioning tool. To be able to retrieve your flags more easily, you can filter them by creation date and type using the Filter button.
The flags page can be useful to:
Make sure the flag you are using in your use case will be the same as the one in your code (with the list of pre-filled flags).
Let the developers integrate the Codebase Analyser to always have the latest flags implemented in the code and pushed live.
Know how many features a flag is used in, and the name and status of these features from the Usage section.
Know whether a flag is used in your code and where from the Codebase references tab.
Need additional information?
Submit your request at
Always happy to help!
Flagship is now available on the AWS Marketplace, making our leading server-side solution easily available to AWS customers.
Want to know more? 👉 Check it out here! \
Now is the time to start actioning your GA4 strategy! Join our Early Adopter program to target your use-cases with audiences built in GA4.
Contact to get a sneak peek and try it for yourself.
Want to know more? 👉 \
Bring your analytics-driven audiences from Mixpanel into Flagship for even more relevant use-cases. Within Mixpanel, you can build dynamic cohorts that share characteristics, experiences or behaviors: for example, build audiences based on purchase funnel stage, or customer lifecycle behavior. Join the Early Adopter program to target your use-cases with cohorts!
Contact to join our Early Adopter program.
Want to know more? 👉
Join our Early Adopter program to leverage Segment’s unified customer data to create even more personalized Flagship use-cases. Target use-cases with Segment’s traits such as age, gender, account-specific plans, or whether a user has seen a particular A/B test variation.
Contact to join our Early Adopter program.
Want to know more? 👉
Having a lot of different users shouldn't be a barrier to your experimentation or feature management on Flagship. And this is why we added The new list targeting feature 📝.
It will allow you to manage the targeting of your users much more efficiently and will save you precious time during the creation of a use case, especially if you have many different user lists.
You now have three options in the targeting step of a use case:
Manually adding the values of the users you want to target (Users by ID or Key) in the Values field.
Copying and pasting the values of the users separated by a coma, you want to target in the Values field.
Importing the values related to the users you want to target in a CSV file via the Import CSV button.
🧐 Looking for more information?
Consult \
We've heard you and have added another way to export the data (hits) from your use case reports on the report page. To do so, simply click on the CSV export button at the top right of your report and select the data you are interested in. You will then receive an email with a link to download the CSV file. 🧐 Looking for more information?
Consult \
The Personalization and Feature Toggle reports have been updated with some UI and UX improvements! They are now presented in the same way as the AB Test and Progressive rollout, i.e. with: reports by KPI type (primary/secondary), a comparison with the reference variation (for personalization), and a dropdown to switch between scenarios. \
Flagship is further expanding its collection of available SDKs. We have added compatibility for Flutter SDK / .Net SDK / PHP SDK and we have enhanced our existing Java SDK now in V2.0 which includes bucketing CDN management and polling.
🧐 Looking for more information?
Check
Check
Check
You will create a lot of interesting use cases in your projects. But that's no reason to struggle when you're looking for one in particular. That's why we've enhanced our search feature on the dashboard, allowing you to go beyond just searching by project name and help you easily find the use case you’re looking for.
You can now search by:
Project name
CampaignId
CampaignName
VariationGroupId
And filter by:
Status (active/paused)
Use case types
Find what you're looking for immediately.
👉 Consult the
Following our other SDK updates, it’s now the turn of and to be updated and receive a few exciting upgrades in addition to code refactoring.
Option to customize the cache with 3 new methods:
cacheVisitor: instantiate the cache
lookupVisitor: check inside the cache
flushVisitor: empty the cache (i.e: in case a user doesn’t consent)
👉
👉
You can now use ESModules with Javascript, ReactJS
ReactJS is now compatible with ViteJS





Click Create: The created flag appears in a new line.
the number of live, paused and draft use cases in which the flag is being used.
⭐ Good to know
We recommend using a clear name and description for your flag to avoid issues with the flag spelling or type when using it in future use cases.
🚩 Heads up
If you are editing a flag name or type that is already used in one or several use cases, this could break your app/website. For this reason, we don’t recommend editing a flag that is already used in a use case.








Store 2 types of information in the cache:
Tracking hits
Visitor Profile cache (user context, assignation, use cases, consent)
Similarly to other SDKs, we also streamlined the flag management methods:
"getModification" becomes "getFlags" and now allows you to get all the information you need about a specific flag
"synchronizeModifications" becomes "fetchFlags"
"activateModification" becomes "userExposed"
This update also brings the following news for React Native (already available for PHP):
React Native is now compatible with Experience Continuity
Bucketing Mode is now enabled
Automatically detect user consent
And you can now customize the log manager

Click Create: The created webhook appears in a new line.
Event type
Gives an alert when...
Feature.status
The feature status has changed (ON and OFF)
Feature.active
The feature has been turned ON
Feature.paused
The feature has been turned OFF
Flag.new
A new flag has been created in your codebase.
Flag.deleted
A flag has been deleted from your codebase.
Environment.synchronize
A modification has been made on the platform and has an impact on your campaigns
⭐ Good to know
To automate these alerts, you may consider using our Zapier integration.


Variation 1
Variation 2
👤 Visitors
1
1
📈 Conversions
1
1
💵 Transactions
1
0
Variation 1
Variation 2
🔒 Sessions
3
1
📈 Conversions
3
1
💵 Transactions
2
0
🚩 Heads up
Enabling this feature when an Experiment is running may affect the results of your report.









⭐ Good to know
By default, one scenario appears. But you can ass as many as you want by clicking Add scenario.





































.NET
PHP
Flutter
Android
IOS
NodeJS & JS
React
React Native
Python
Go
Java
Filtering by date can be useful when you want to analyze the results of your experiments or feature management use cases over a specific period of time. To do this, you can select the Start and End date of the period you want and then click on the APPLY button:
⭐ Good to know
The conversion rate, transaction, value, uplift and significance are updated, taking the applied filters into account. The number of unique visitors is also updated. It displays the number of unique visitors who match the applied filters.
From the FILTERS button, you can access several filters related to the data you sent. Here is a list of what you can do with each of them, in the only condition that you correctly sent them. \
Filter the results based on Transaction data. The following filters are available:
Shipping method (shipping method used in a transaction)
Payment method (payment method used in a transaction)
Currency (currency used in a transaction)
Coupon (coupon or discount code associated with a transaction)
Transaction ID (unique ID of the transaction)
Affiliation (KPI name you will be able to select inside the Flagship dashboard reporting)
Revenue (total revenue associated with a transaction)
Shipping (total shipping costs of a transaction)
Item count number (number of items included in a transaction)
Filter the results related to the items. The following filters are available:
Transaction ID (link the item to a transaction with a matching Transaction ID)
Item name (name of an item)
Item code (item's SKU or product code)
Item price (price for a single unit of an item)
Item quantity (number of units of an item which have been purchased)
Item category (product category related to an item)
Filter the results related to the events. The following filters are available:
Event category (Action Tracking or User Engagement)
Event action (KPI name you will be able to select inside the Flagship dashboard reporting)
Event label (supplementary description of your event)
Event value (monetary value associated with an event)
In the User context keys section, you have access to all the context keys of your users that have been assigned to your use case. A drop-down list appears when you select the dedicated field as shown here:
You can combine several parameters within the same filter:
And several filters at the same time using the Add a criterion button.
⭐ Good to know
When you apply one or more filters to the reporting results, these may take several seconds to load.
Let's say you want to set up an Experiment on the " Purchase " button of your drone products, on your e-commerce website for all your users.
You create an A/B test, set up your "Purchase" primary KPI as transaction rate, transaction revenue, and average revenue, and launch your test. Once its reliability is reached, you can analyze its results from the reporting.
At the same time, you receive a message from a co-worker asking for the results for the VIP users who paid with the EUR currency specifically.
You could have targeted this specific segment of visitors when configuring your feature but you remember you can use the filters to target the results of the report:
Click FILTERS > Transaction.
Select Currency > EUR.
Click on User Context Keys and select isVIP.
Select true.
Click APPLY.
Need additional information?
Submit your request at [email protected]
Always happy to help!
From the dashboard, click Create a use case.
Select the Progressive rollout template. &#xNAN;[Basic information]
Enter the name of your feature and its description.
Choose the primary and secondary KPIs you want to follow.
Click Save and continue. &#xNAN;[Scenario]
In the next step, define your targeted users for your progressive rollout feature & the flag's name, type (text, number, boolean, array, or object), and value that will control the deployment of your feature. \
Click Save and continue. &#xNAN;[Steps]
Then, configure each step of your feature deployment. You can choose between a classic and a statistical rollout. In the classic rollout, visitors are either assigned to a variation or untracked. No traffic is assigned to the original version, so no comparison is possible between the original version and the variation. In the statistical rollout, you can define deployment steps and configure a rollback KPI which enables you to define, for a specific event, a percentage that you don’t want to exceed from a specific number of visitors. When using this option, you avoid any type of product regression due to the deployment of your feature. For more information on the rollback KPI, refer to . \
Click Save and continue. &#xNAN;[Overview]
Check that every step has been configured correctly.
(Optional) Notify your teammates that progressive deployment is ready to go.
⭐ Good to know
For each type of rollout, you must define the date, time, zone and % of users involved in the first wave of deployment. Then, you will have to choose between a deployment with fixed steps or customized steps by defining the % of users allocated and the frequency of each deployment step.
Let’s say you want to develop a new feature, allowing your users to know the exact location of their package. To mitigate the risk, you want to deploy this feature to your users progressively. In addition, to avoid product regression, you want to keep your conversion rate above 8.2%.
To do so:
Create a Progressive rollout use case on your Flagship account.
Choose the KPI you want to follow. Here, you can select the conversion rate generated by your feature
Configure the flag that will control your new feature.
Set your targeted users to All users so that all your visitors can see the feature.
Configure your deployment steps as a statistical rollout and with fixed steps of 10% of the users every week until you have reached 100%.
Configure your rollback KPI: Select Event as the KPI type and the name of the conversion rate measurement KPI you have chosen for your feature.
Select the < operator and enter the rate (8.2%).
Enter the number of users from which the rollback can be done in case the conversion rate is lower than 8.2%.
Check the overview of your Progressive rollout.
Save and activate your use case via the dashboard.
Need additional information?
Submit your request at [email protected]
Always happy to help!
A culture of experimentation is great but not if it results in disjointed experiences and unreliable data. 😟 How do you ensure a visitor included in an experiment receives a consistent experience before and after logging in? What if this visitor starts their journey on a laptop and finishes on a mobile app? What impact does all this have on the data fueling your experimentation reports?
The answer to all these questions can be answered with Flagship & the new Experience Continuity feature! 🧪
Even if the visitorID changes, Experience Continuity delivers the sophistication required to run experiments without delivering a disjointed experience.
🧐 Looking for more information?
Open the lines of communication, take advantage of your technology stack, and automate workflows with the enhanced Flagship-Zapier integration. ⚡
🧐 Looking for more information?
No Zapier - No Worries! Maintaining a good communication system and flow of data can be challenging and ultimately decrease the achievable value throughout your technology stack. 👨💻👩💻
This is why our cloud-native Flagship architecture supports webhooks. 🔗
These webhooks will listen for Flagship events and take action in real-time. For example, many departments and stakeholders can be invested in an experiment or feature being managed via Flagship without actually utilizing Flagship. A Webhook can be used to automatically send an email notifying relevant stakeholders of a feature deployment or experiment.
🧐 Looking for more information?
🖥️ Git Integration
On the one hand, removing feature flags and managing tech debt must be top of mind however this can also be time-consuming with serious consequences if a mistake is made. 😓
The Flag Tracking dashboard and enhanced Git integration 🖥️ give you the ability to manage tech debt and reference your codebase and all your Flagship Flags. Avoid creating duplicate unnecessary flags and quickly find the flags not used in your code that can be removed.
🧐 Looking for more information?
When creating a use case, you can now choose Pageview or Screenview as the KPI to track. To configure it, you will just have to fill in the name of your KPI and the URL (for websites) or the name of the screen (for mobile applications).
🧐 Looking for more information?
Flagship further expands its collection of available SDKs. Clients working in a Java programming language can now benefit from this SDK!
🧐 Looking for more information?



A Personalization enables you to create several scenarios to display the right content to the right audience at the right time, while tracking their performance over time.
To configure a Personalization, apply the following steps:
From the dashboard, click Create a use case.
Select the Personalization template. &#xNAN;[Basic information]
Enter the name
Let’s say you want to personalize the user experience of your VIPs and new users on mobile and desktop by showing them different discount codes.
To do so:
Create a Personalization use case on your Flagship account.
Choose the KPI you want to follow. Here, you can select the conversion rate generated by your scenarios.
Create four scenarios named:
Need additional information?
Submit your request at
Always happy to help!
Google Analytics is an analytics service that enables you to measure traffic and engagement across your websites and apps. Google Analytics 4 is the latest version of Google Analytics.
The Google Analytics 4 integration allows you to receive the audience created in Google Analytics and to target them with AB Tasty.
When viewing an A/B Test reporting function, you can access several levels of information.
The reporting displays the experiment results in a clear and visual way for easy reading and interpretation. Highlighted information and color codes enable you to quickly identify the best-performing variations.
The metrics shown in the new Flagship reporting layout are those chosen during the KPI configuration of the Basic Information step. If you haven't configured any KPIs, none will be displayed in the reporting layout.






















(Optional) Choose the primary and secondary KPIs you want to follow.
Click Save and continue. &#xNAN;[Scenarios]
Define your scenarios: edit the name of your first scenario.
Define the targeted users.
Configure your scenarios by defining their flag's name, type (text, number, boolean, array, or object), and value. \
Click on Add scenario and repeat steps 6, 7 and 8.\
Click Save and continue. &#xNAN;[Allocation]
If needed, change the percentage of traffic allocated to the control variation for each scenario. By default, for each scenario, 5% is allocated to the control variation. \
⭐ Good to know
We recommend keeping a small portion of traffic on your control variation, as this allows you to verify that the scenario you implemented doesn’t have a negative impact on the performance of the default version of your feature.
Click Save and continue. &#xNAN;[Overview]
Check that every step has been configured correctly.
(Optional) Notify your teammates that the personalization is ready to go.
VIP users on mobile
VIP users on desktop
New users on mobile
New users on desktop
Define the targeted users and the flag (with its value) that will activate each discount code for each scenario. Here is an example with the discount code for VIP users on mobile: \
Set the traffic percentage to 95% for each scenario and to 5% for the control variation (to keep an eye on a small part of your targeted traffic). \
Save and activate your use case via the dashboard.

Audiences are groups of users defined by a chosen set of criteria. Dimensions, metrics, and events can be used to segment practically any subset of users.
For more information on how to use audiences please refer to the Google Analytics 4 documentation.
To achieve Google Analytics 4 audiences targeting, you need to push the Flagship Visitor ID in a user property for every session.
Our integration will then list the value of this user property for the different existing audiences through Google Analytics’s API. Then audiences and their composition are pushed to Flagship at the beginning of the next day.
Thus, the Google Analytics 4 integration set up process is taking place on several platforms :
Google Cloud Platform: to create the credentials to access Google Analytics data.
Google Analytics 4: to set up the collection of the Flagship Visitor ID
Flagship: to effectively set up the integration
An email account with admin access to Google Analytics 4 account is required to complete the setup
To access Google Analytics 4 API programmatically we need to have credentials with granted accesses. Those are OAuth type of credentials and are created within the Google Cloud Platform.
Go to the Google Cloud Platform console
Select an existing project or create a new one. (Documentation to create a new project)
In the Google Cloud Platform interface, open the console left side menu and select APIs & services
On the left, click Library, search for the “Google Analytics Data API” and select it. Click “Enable”.
Before creating the OAuth credentials you need to check that you have an OAuth consent screen setup. If you don’t, you need to set it up (if you just created the GCP project it will be the case). The OAuth consent screen is the screen that will appear when you will give access right to your credentials.
Check the OAuth consent screen: Open the console left side menu and select APIs & services : click Credentials>Create Credentials>OAuth consent screen. If you see an app already exists here, it means the consent screen is set up and you can proceed to the next step: Oauth Credentials creation.
If there is no existing app, you will see the first step of the creation process:
Choose the “Internal” option if you are a Google Workspace user, otherwise choose “External”. Click the create button.
Under App information, enter an App name. It can be something similar to the project name.
User support email: enter your email address (the one used to connect to GCP)
Developer contact information, email address: enter your email address (the one used to connect to GCP)
Other fields are optional, click “Save and continue”.
Click “Add or remove scopes”
Tick the “.../auth/userinfo.email” scope. Validate by clicking the “Update” button.
Click “Save and continue”.
Add your email address (the one used to connect to GCP) as a test user. Click “Save and continue”.
You are at the summary screen, the OAuth consent screen is now ready and you proceed to the OAuth Credentials creation step.
Open the console left side menu and select APIs & services
On the left, click Credentials>Create Credentials>OAuth client ID
Select “Web Application” as the Application type. Enter a descriptive name of your choice e.g. “GA4 to Flagship Audience bridge”.
Under “Authorised redirect URIs” add “https://developers.google.com/oauthplayground”
Other fields are optional, click “Create” to finalise the OAuth credentials creation.
A confirmation message appears, it also displays the Client ID and the Client Secret of your Oauth credentials. Copy-paste and save for later (you can also download them in a json format).
Go to the Google OAuth Playground
Open the configuration panel and tick the “Use your own OAuth credentials”. The “OAuth Client ID” and “OAuth Client secret” fields appear.
Fill the “OAuth Client ID” and “OAuth Client secret” fields with your own (saved from the previous OAuth Credentials step)
In the left panel, Step 1 “Select and authorize APIs”, search for “Analytics Reporting API v4” and tick the 2 items underneath ("https://www.googleapis.com/auth/analytics" and "https://www.googleapis.com/auth/analytics.readonly")
Click “Authorize APIs”
The Google Access Right interface appears : select the account with which you have access to the Google Analytics property and then click “authorize” to grant access.
You are redirected to the Oauth Playground, Step 2. Click “Exchange authorization code for tokens”
“Refresh token” field is now populated, copy and save the content of the field.
Congratulations you now have all the required information to set up the integration on AB Tasty interface (see next step).
For more information on Oauth Playground please refer to this documentation.
For more information on Oauth 2.O please refer to this documentation or this documentation.
In the Flagship integrations settings you have different field to fill in to set up the integration :
Property ID : it is the unique ID of your GA4 property. To retrieve your Property ID go to the Google Analytics interface and click Admin>Property>Property Settings. Property ID appears at upper right. More information here.
GA Measurement ID : it is the unique ID of a data stream (i.e. one of the data sources that provides data to your property). To retrieve your GA Measurement ID go to the Google Analytics interface and click Admin>Property>Data Streams> Web and choose your data stream. GA Measurement ID appears at upper right. More information here.
Client ID: part of the credentials to be able to access Google Analytics Data (see previous steps)
Client secret: part of the credentials to be able to access Google Analytics Data. Copy paste the value saved from the previous steps
Refresh Token: part of the credentials to be able to access Google Analytics Data. Copy paste the value saved from the previous steps
You need to push the Flagship Visitor ID in a user property named “flagship_visitor_id”. Naming is very important because it is what will be pushed back to Flagship.
The user property “flagship_visitor_id” needs to be pushed for every session. This can be achieved thanks to a dedicated event for exemple.
Set the user property:
In the Google Analytics 4, left panel, click “Configure” then “Create custom dimensions”
Enter the “Dimension name” you want to display in Google Analytics 4 e.g. “Flagship Visitor ID”
Select “User” as the scope
Enter a description (optional)
Enter “flagship_visitor_id” as the “User property
Click “Save
For global information on how to retrieve audiences, please refer to this page.
Need additional information?
Submit your request at [email protected]
Always happy to help!
The new report is only available for AB Tests and Progressive Rollout. If you would like to share feedback, please send an e-mail to .
To access the reporting, click Reporting from an A/B Test on the dashboard.
The new reporting features a summary of information on the experiment:
The experiment name;
A toggle for launching or pausing the experiment in the top right corner;
Date and Context key filters;
A Reliability Status, to make sure you can analyze your data;
Your primary and secondary metrics with various tabs (depending on the metrics selected during KPI configuration). For more information, refer to .
The experiment results are based on the metrics you configured during the KPI configuration step. If you haven't configured any KPIs, none will be displayed in the reporting.
By default, results are calculated based on the original version of the experiment. If necessary, you can change the reference variation by selecting the one that interests you in the variation tab of the experiment configuration.
The new reporting displays the primary metric of the experiment, followed by the secondary metrics.
The primary metric serves as a point of reference for the entire experiment and enables you to determine which variation takes precedence over the other(s). This is why it appears at the top of the reporting feature: all future decisions will be based on this metric.
It can only have one tab focused on, either Transaction Rate/Conversion Rate or Transaction Total Revenue/Conversion Total Value.
Secondary metrics are displayed one after the other underneath the primary metric. You can choose to display all variations (by default) or one in particular. To do this, check the variation(s) you want to see in the chart on the list of variations to the right of the relevant goal.
You can display the two tabs for each secondary metric.
Transaction and Conversion KPI can have two tabs each.
Transaction:
Transaction Rate
Transaction Total Revenue
Average Basket (coming soon)
Conversion:
Conversion Rate
Conversion Total Value
Average Value (coming soon)
Each tab shows basic information such as:
The Variation name
The number of unique visitors
The number of unique conversions
Then, depending on the KPI, there is some personalized data:
Transaction Rate and Conversion Rate:
Transaction Rate / Conversion Rate, number of unique transactions/conversions divided by the number of visitors
Uplift, improvement compared to the reference variation, with the confidence interval being calculated using the Bayesian algorithm.
Chances to win, the chances you have to win more if you put that variation into production.
Transaction Total Revenue and Conversion Total Value:
Transaction Total Revenue / Conversion Total Value, indicates how much revenue/value the variation won
Revenue Projection / Value projection, indicates the total revenue/value if all visitors were assigned to the variation
Uplift, improvement compared to the reference variation. This is based on raw data only and should not be interpreted as a statistically valid result.
Potential Value/ Potential Revenue, the difference between the total revenue/value registered for the experiment and the Revenue Projection /Value Projection.
Average Basket and Average Value:
Average Basket / Average Value, addition of all the transaction revenue divided by the number of transactions.
Uplift, improvement made compared to the reference variation. This is based on raw data only and should not be interpreted as a statistically valid result.
The Chances to win enable you to quickly identify the leading variation. This information has three levels:
Green, your experiment is on track, we are 95% sure that it will have benefits
Orange, your experiment might be on track, but we are 95% sure that even if it has benefits, it may also have side-effects.
Red, your experiment isn’t on track at all, we are 95% sure that it will not have any benefits.
Whatever your Chances to win results are, you need to wait 2 business cycles before analyzing your data and having significant results. By default, a business cycle is 5 weekdays and 2 weekends, so 14 consecutive days in total. If you know your business cycle, feel free to adapt the analysis of your test accordingly.
As soon as your reliability status is reliable, this means the data is statistically significant and ready to be analyzed.
The Uplift -- on Transaction Rate and Conversion Rate goals -- enables you to access advanced statistics. This data is based on the Bayesian approach and provides two measurements: confidence interval and improvement gain.
The improvement gain indicator enables you to manage uncertainty related to conversion rate measurements. It indicates what you may really hope to gain by replacing one variation with another.
The data displayed on the reporting is updated at a specific frequency. Here is the frequency schema:
From 0 to 3 days after the last launch of the experiment: every hour
From 4 days to 7 days after the last launch of the experiment: every 4 hours
From 8 days to 14 days after the last launch of the experiment: every 8 hours
From 15 days to 30 days after the last launch of the experiment: every 24 hours
From 31 days to 60 days after the last launch of the experiment: every 48 hours
From 61 days after the last launch of the experiment: every 168 hours (1 week)
Note that during the first 12 hours of the experiment, the data displayed is in real-time.

To ensure the best response time and performance for your users, wherever they are on the planet, we have released a new version of our JS SDK compatible that is optimized for edge environments. This SDK is compatible with JS engine V8, Node.js, Deno.
























Now you can experiment and manage features at edge-level. Bringing you all the performance benefits of working with edge computing.
To ensure that the edge servers are always running the latest version of your application, we have also added a new webhook that will automatically notify edge to rebuild the application with the latest update when a modification is made.
More information: If you want more information you can consult the documentation for Edge Computing
Say goodbye to guessing where conversions are falling short, and hello to pinpoint accuracy as you identify critical drop-off points in the user journey with Heap. Leverage data from this analytics solution to create audiences and target use-cases within Flagship.









Flagship offers an intuitive way to manage teams and members' roles and rights, giving you complete control and flexibility over your organization's access and control.
In this guide, we will walk you through how to manage the roles and rights of your teams at the account and project levels.
Managing Roles and Rights at the Account Level
At the account level, you can manage roles and rights for teams and seats (users). Teams are groups of users that can be assigned to different projects, while seats are the available spots on a team. This means you can have multiple teams, each with a different set of members, and each member can have different rights depending on the team they belong to.
Flagship allows users to manage their accounts with different user roles and rights, ensuring optimal collaboration and preventing usage conflict. Here is an overview of the user roles, rights, and how to manage them.
There are five types of account roles: Account Owner, Super Admin, Project Manager, Member, and Guest. Each role has different rights and privileges.
Account Owner: The Account Owner has the highest level of access and can add, edit or remove team members from different projects. They also have full user rights, including billing (the billing part is valid for Premium Subscription only).
Super Admin: Super Admins have access to all projects and can configure them. The Super Admin role has full user rights in every environment, with the exception of not being able to access the billing details.
To create and manage teams and seats, go to the "Teams" page accessible from Settings. From there, you can view all your teams and seats and edit their settings as needed.
When you reach this page, you will see the Teams section. Here, you can use the search bar and filtering options to search for teams, create a new team by clicking on the CTA, or edit existing teams, both of which will open a window where a team name can be entered or replaced and Team Members section to add members to the team by typing their names or emails and delete them from the team.
In the Seats section, you can search for members using the search bar and filtering options, add new members by clicking on the CTA, and view members with their names, emails, roles, MFA method, teams they are part of, and projects they are part of. A three-dot icon next to each member line opens a drop-down list with options: edit roles, see projects, and remove. The “Edit Roles” option, when clicked, opens a window that allows users to switch roles between Account Owner, Tech Manager, Project Manager, Member, and Guest. The “See Projects” option allows users to view projects accessible to the member.
To get started, navigate to the Teams tab by clicking on "Teams" in the left lateral navigation.
To create a new team, click on the "Create Team" button located on the right side, above the Teams tab. Enter the team name.You can create several teams in your account, and in each team you’ll be able to add users.
You can only add users which were already added in Seats.
Next, in the "Members" area enter the email addresses of the users you want to add. Note that you can only add users who have already been added in "Seats".
After you've added members to a team, you can assign the team to a project. To do this, go back to the Teams tab and select the team you want to assign. Then, click on the "Assign to Projects" button and select the project(s) you want to assign the team to.
You can also edit an existing team's name and members. To do this, click on the team you want to edit and click the "Edit" button. Make your changes and click "Save".
Step 6: Delete a Team
If you need to delete a team, click on the team you want to delete and click the "Delete" button. Note that deleting a team will also remove the project access of all users belonging to that team.
To add members to a seat or team, click on the "Add Member" button and enter the member's email address. You can also assign roles and rights to each member.
To add a user, you can follow those steps:
Go to Teams > Seats tab using the lateral navigation
Click on Add user
Enter the Email address and the [role] you want to give that user
Validate the form, the user will receive an email. \
To remove a user, follow these steps:
Go to Teams > Seats tab using the lateral navigation
Each user is managed separately – click on the 3 vertical dots and click on Remove option
A prompt appear to remind you that this action will completely remove that user from all projects and all environments
Validating the prompt delete the user
❗Caution: Teammates who leave your company should have their Flagship user rights deleted as part of their off-boarding. Allowing former employees to retain access and user rights to the Flagship platform creates risk for your company, especially if they were admins. Flagship by AB Tasty is not responsible for the mismanagement of access to the platform.
To edit a user’s rights, follow these steps:
Go to Teams > Seats tab using the lateral navigation
Each user is managed separately – click the 3 vertical dots and click edits
A drop-down appears to select the role you wish to assign this user: - Select the preferred user type with the dropdown and confirm by clicking on the CTA - Click the cross to cancel
A validation message appears confirming this user’s rights have been edited
The following table lists the rights associated with each role.
Account Settings
The following table lists the rights associated with each role.
Member: Members have limited access rights and can access projects, but may not be able to configure them unless they have accessed the project roles that allow them to do so.
Guest: Guests have limited access rights and can access projects, but may not be able to configure them unless they have accessed the project roles that allow them to do so. The "guest" role has the lowest access level and no rights on changing account parameters.
If the user is currently connected to the platform, the new rights will be operational at the next refresh of the page.
Can edit Account Settings
✅
✅
❌
❌
❌
Can access Teams/Seats
✅
✅
✅
✅
✅
Can add/edit/delete a Team
✅
✅
❌
❌
❌
Can add/edit a user
✅
✅
✅
❌
❌
Can access Platforms Integrations
✅
✅
✅
✅
❌
Can edit Platforms Integrations
✅
✅
❌
❌
❌
Access/Enable/Disable Panic Mode
✅
✅
❌
❌
❌
Can Create/Edit/Delete Environment
✅
✅
❌
❌
❌
Environment Settings
Action
Account Owner
Super Admin
Project Manager
Member
Guest
Can access Environment settings
✅
✅
✅
✅
❌
Dashboard
Persona
Action
Account Owner
Super Admin
Project Manager
Member
Guest
Can access the persona Keys
✅
✅
✅
✅
✅
Flags
Action
Account Owner
Super Admin
Project Manager
Member
Guest
Can access Flags management tab
✅
✅
✅
✅
✅
❌
Can rename/delete project
✅
✅
✅
Can't see projects by default
Can't see projects by default
❌
❌
❌
Can view members on project
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
✅
✅
Can add members on project
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
❌
❌
Can edit/delete members on project
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
❌
❌
Can launch/pause a project
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
❌
❌
Can create a use case
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
✅
❌
Can edit a use case not launched
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
✅
❌
Can edit a use case launched
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
✅
❌
Can delete a use case
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
✅
❌
Can duplicate a use case
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
✅
❌
Can access to the details
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
✅
✅
Can access to the report
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
✅
✅
Can launch/pause a use case
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
✅
❌
Can archive a use case not launched
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
✅
❌
Can archive a use case launched
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
❌
❌
Can access archived use cases
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅
✅
✅
Can move a use case to another project
✅
✅
✅
Can't see projects by default
Can't see projects by default
✅ if admin access to both project
❌
❌
💡 Good to know
Once you did that, you’ll be able to directly add a team to a project from the dashboard. You can also delete a team, but beware, deleting a team will also remove the project access of all users belonging to those teams.
Action
Account Owner
Super Admin
Project Manager
Member
Guest
Can access Account settings
✅
✅
✅
✅
Action
Account Owner
Super Admin
Project Manager
Member
Guest
Admin
User
Viewer
Can create project
✅
✅
✅
Can't see projects by default
Can't see projects by default
❌

❌
❌

❌
Can move an archived use case to another folder
✅
✅
✅
❌
❌
Can edit Environment Settings
✅
✅
❌
❌
❌
Can see sensitive info (API Keys, IDs)
✅
✅
❌
❌
❌
Action
Account Owner
Super Admin
Project Manager
Member
Guest
Can delete an archived use case
✅
✅
✅
❌
❌
Can create/edit/delete an archived folder
✅
✅
✅
Can add a Key
✅
✅
✅
✅
❌
Can edit/delete a Key not used
✅
✅
✅
✅
❌
Can edit/delete a key already used
✅
✅
❌
❌
❌
Can create a flag
✅
✅
✅
✅
❌
Can edit/delete a flag not used
✅
✅
✅
✅
❌
Can edit/delete a flag already used
✅
✅
❌
❌
❌
❌





















