Feature availability: This feature is available with the Wingify Feature Experimentation Pro and Enterprise plans.
This article covers the following:
- Overview
- Initial Steps (for All Procedures)
- Define Target Audiences (Pre-segmentation)
- Analyze Experiment Results by Segments (Post-segmentation)
- Troubleshooting
- FAQs
Overview
Wingify’s Feature Experimentation offers advanced segmentation controls, enabling you to define audiences based on user attributes before an experiment begins (pre-segmentation) and further analyze results by filtering reports (post-segmentation).
This article outlines how to leverage both, standard and custom segments to achieve more granular control over your feature experiments.
Initial Steps (for All Procedures)
- Log in to your Wingify account.
- From the main panel on the left, go to Feature Experimentation > Feature Flags. Select the feature flag you want to work with. Alternatively, you can create a new feature flag.
- Navigate to the Rules tab and select the rule you want to work with.
Define Target Audiences (Pre-segmentation)
You can apply pre-segmentation to all rule types, including Rollout, Testing and Personalize, and Debugger.
Using Standard Segments
The steps below demonstrate how to configure pre-segmentation using standard segments in an existing A/B Testing rule.
- Complete the Initial Steps before proceeding.
- Click the hamburger icon on the right, and select Modify rule.
- In the Audience section, click the pencil icon and select Standard Segments. Alternatively, select My Segments to use a previously saved segment.
- Select the segment All Traffic.
Note: For pre-segmentation, Wingify supports only the standard All Traffic segment. - Click Save to apply the segment. Your A/B test will now target all visitors.
Wingify recommends combining conditions to achieve more powerful targeting. Combine multiple built-in and custom segment conditions using 'AND'/'OR' logic in the segment editor.
Using Custom Segments
You can configure pre-segmentation with custom segments using Wingify’s built-in custom attributes or additional attributes defined through custom variables.
Prerequisites
- To set up pre-segmentation using custom variables, you must pass the custom variable values within the user context of your application code. This allows the Wingify SDK to identify users who are eligible for the specific feature or test variation. For example, to pass an attribute for a user with variable age, you must define the user context as:
// Define the user context object to identify and provide user-specific details
WingifyContext userContext = new WingifyContext();
// Set User ID - mandatory
userContext.setId("user-id");
// Set IP Address
userContext.setIpAddress("1.1.1.1");
// Set User Agent
userContext.setUserAgent("visitor_user_agent");
// Set Custom Variables
Map<String, ?> customVariables = new HashMap<String, Object>() {
{
put("age", 25);
}
};
userContext.setCustomVariables(customVariables);Tip: If you call the postSegmentationVariables API when passing the custom variable info through the user context, the information is sent to Wingify as an unregistered attribute. You can later register it and use the same user information for post-segmentation.
For more information on how to define the user context, refer to the implementation steps for the following supported SDKs: Node.js, Java, PHP, Python, .NET, Ruby, Android, iOS, React Native, Flutter, and React.js.
- For server-side SDKs, integrating the Wingify gateway service is mandatory to use certain attributes for pre-segmentation. Once enabled, the gateway auto-infers information such as browser, OS, device type, and location from the visitor’s user agent and IP address, which you can then use for segmentation. For more information, see Wingify’s Feature Experimentation Gateway Service.
The steps below demonstrate how to configure pre-segmentation using custom segments in an existing A/B Testing rule.
- Complete the Initial Steps before proceeding.
- Click on the right, and select Modify rule.
- In the Audience section, click the pencil icon and select Custom Segment.
- From the dropdown list, select a built-in attribute or select Custom Variable.
- If you selected a built-in attribute, choose an operator and enter the value. For example, to target users on app version 2.1.0 or higher, select App Version, set the operator to is greater than or equal to, and enter 2.1.0 as the value.
- If you selected a custom variable, enter the name of your custom variable, choose an operator, and specify the value. For example, to show an experience only to users who log in via SSO from your company domain, create a custom segment using custom variables, such as email and SSO, select the operator (for example, contains, or is equal to), and enter the value you want to target (for example, vwo for email, true for SSO).
- Click Save to apply the condition. Your A/B test will now target only those users who meet these criteria.
Tip: Click Save Segment to save it for future use. The saved segment will be listed under My Segments.
Analyze Experiment Results by Segments (Post-segmentation)
Post-segmentation allows you to filter and analyze experiment reports based on attributes after a campaign has run. This helps you gain deeper insights by understanding how specific user segments interacted with your feature.
Using Standard Segments
The steps below demonstrate how to configure post-segmentation using standard segments in an existing A/B Testing rule.
- Complete the Initial Steps before proceeding.
- Click View Report.
- Suppose you want to analyze how a new feature is performing only for visitors who arrive on the test page from desktop devices. On the report header, click All Visitors and select Standard Segment.
- In the segment editor, select the built-in attribute Device Type from the dropdown list, and then select Desktop Traffic.
Note: For post-segmentation, Wingify supports only the standard Device Type and Operating System segments. - Click Filter.
The report displays data based on the selected filters.
Using Custom Segments
For post-segmentation with custom segments, you can filter reports using:
- Built-in attributes provided by Wingify (for example, Operating System, Browser).
- Custom attributes that you define within the Wingify app. For more information, see Working with Attributes in Wingify.
- Custom attributes that you defined and passed during pre-segmentation (for example, planType, paymentMethod).
Prerequisites:
- To use custom attributes that you defined and passed during pre-segmentation, you must register them within the Wingify platform. For more information, see How to Register Custom Attributes for Post-Segmentation?
- Pass the custom attributes using a specific function from your code. For more information, see How to Pass Custom Attributes for Post-Segmentation?
How to Register Custom Attributes for Post-Segmentation?
Wingify recommends registering your custom attributes promptly. As soon as you start sending new custom attributes to Wingify, register them. This ensures they are available for analysis as soon as your reports are populated.
After passing the custom variables from your code, they appear as unregistered attributes in the Wingify platform under Data 360 > Attributes > Unregistered Attributes section.
To register them:
- Log in to your Wingify account.
- From the left panel on the dashboard, go to Data360 > Attributes > Unregistered Attributes.
- Click on the unregistered attribute (for example, userType).
- On the attribute details page, click on Register Attribute.
- Provide a Type and an optional Data Rule.
- Click Create to complete the registration.
How to Pass Custom Attributes for Post-Segmentation
To ensure your (registered) custom attributes are available for filtering in reports, you must pass them using a specific function for post-segmentation.
Method to Call:
userContext.postSegmentationVariables(List.of(Pair("planType", "premium"), Pair("paymentMethod", "CreditCard")));This function allows you to pass multiple attributes whose values you want to see in the post-segmentation reports. Variables used only for pre-segmentation do not need to be passed here unless you also want them to appear in the reports.
The steps below demonstrate how to configure post-segmentation using custom segments in an existing A/B Testing rule.
- Log in to your Wingify account.
- From the main panel on the left, go to Feature Experimentation > Feature Flags. Select the feature flag you want to work with. Alternatively, go to Feature Experimentation > Flag Testing and select the feature flag you want to work with.
- Complete Initial Steps before proceeding.
- Click View Report.
- On the report header, click All Visitors and select Custom Segment.
- In the segment editor, select the built-in or custom attribute from the dropdown list.
- If you selected a built-in attribute, choose an operator and enter the value. For example, to target users on app version 2.1.0 or higher, select App Version, set the operator to is greater than or equal to, and enter 2.1.0 as the value.
- If you selected a custom variable, enter the name of your custom variable, choose an operator, and specify the value. For example, to evaluate how a new feature performed for premium users paying via credit card, apply a custom segment in your report using variables such as planType and paymentMethod. Select the operator (for example, is equal to) and enter the values you want to filter by (for example, Premium for planType, CreditCard for paymentMethod). Note: If a custom attribute is not registered in Wingify, it will not appear in the dropdown list.
- Click Filter.
The report is updated to show the data only for the specified user segment.
Troubleshooting
| Issue | Solution |
|---|---|
| Custom attribute not appearing in the report filters. | Make sure you have registered the attribute. Unregistered attributes will not be available for post-segmentation. |
| Data is not getting populated for a built-in attribute. | Verify that your Wingify SDK is correctly integrated and that the attribute data is being captured. For mobile-specific attributes like App Version, ensure you are using the correct mobile SDK. |
| Segmentation condition not working as expected. | Double-check the logic of your segmentation rule. Pay close attention to the operators (for example, is equal to, contains) and the values you have entered. |
FAQs
-
Do I need to update my SDK to use these features?
Yes, to use all the latest features (including auto-inferring capabilities), ensure you use the latest SDK version for the best performance and feature support. For more information about the change history in all SDKs, see History of changes that went live in different SDKs.
-
Can I use these attributes for feature rollouts as well?
Yes, all these segmentation capabilities are available for both feature experiments and feature rollouts.
Need more help?
For further assistance or more information, contact Wingify Support.