Feature availability: This feature is available with the Wingify Feature Experimentation Pro and Enterprise plans.
This article covers the following:
- Overview
- Types of Segmentation Supported in Wingify Feature Experimentation
- Types of Segments in Wingify Feature Experimentation
- Advanced Custom Segmentation using Custom Variables
Overview
Segmentation refers to the strategic classification of your website or app visitors into distinct cohorts. The classification can be based on shared characteristics such as behavior, demographics, or technology attributes. This targeted grouping enables you to deliver controlled feature rollouts, run targeted experiments, and deliver personalized experiences tailored to each segment’s unique needs and interests. Beyond targeting, you can also use these cohorts during experiment report analysis. This helps in filtering and interpreting results based on user attributes, regardless of how the traffic was initially segmented during rollout.
Here’s an example to provide more clarity.
A food delivery app wants to test a new one-click reorder feature. The team first tests it out for users in New York City (pre-segmentation by location), where order frequency is already high.
Implementation using Segmentation The feature flag ensures only NYC users see the new reorder option. Next, the team uses post-segmentation by device type to see how adoption differs between desktop users (who often order from offices) and mobile users (who typically order on the go).
Outcome The analysis shows mobile users in NYC adopt the one-click reorder much more than desktop users. This insight confirms that the feature is most valuable for mobile-heavy contexts, and the team decides to optimize the UI for smaller screens before expanding to other regions.
Types of Segmentation in Wingify Feature Experimentation
Wingify Feature Experimentation supports two types of segmentation to enhance experiment precision and analysis:
- Pre-segmentation is applied during data collection, ensuring that only users who meet specified targeting conditions are exposed to the feature or included in the experiment.
- Post-segmentation is used during analysis, allowing you to filter and interpret experiment results based on user attributes or behavior, regardless of how the traffic was originally segmented.
You can apply segmentation at different stages of an experiment (while setting it up or analyzing the results), but it also depends on the type of segment you define. Let’s review the segment types Wingify Feature Experimentation supports.
Types of Segments in Wingify Feature Experimentation
Feature Experimentation supports three types of segments: Standard Segments, My Segments, and Custom Segments.
Standard Segments
Standard Segments provide predefined visitor groups you can readily use in your experiments. They allow you to target specific cohorts, such as visitors by device type or operating system, without creating custom segments.
Note: For pre-segmentation, only the All Traffic standard segment is available. For post-segmentation, you can use standard segments based on Device Type and Operating System.
My Segments
My Segments allow you to access and manage the visitor groups you have previously created and saved. They provide a quick way to reuse segments across experiments without redefining rules each time. You can edit, clone, or delete your saved segments as needed.
For more information on how to do this, see What are Saved Segments in Wingify?.
Custom Segments
Custom Segments let you define visitor groups based on specific user attributes.
Wingify provides several standard attributes out of the box, for example, Device Type, Operating System, Browser, OS Version, Browser Version, and App Version. These attributes represent common visitor details that can be used to create segments.
- In client-side SDKs, these attributes are automatically available, and many of them are auto-inferred (for example, Wingify can detect the visitor’s browser and device type without requiring you to explicitly pass the data).
- In server-side SDKs, since Wingify does not inherently capture user device or browser context, you must enable the Gateway Service to fetch and evaluate these attributes. See how to enable Wingify’s Feature Experimentation Gateway Service.
user context Object
When using custom segments, Wingify relies on the user context object to target and assign users to campaigns. This context requires an ID (a unique identifier for each user), which helps Wingify deliver consistent experiments to users across sessions. Along with this unique identifier, it also includes details such as:
- custom-variables: User-specific data points for targeting and personalized experiences.
- userAgent: Information about the user's device, browser, or operating system.
- ipAddress: Location-based data to enable geo-targeting.
Wingify relies on these details to ensure correct targeting and segmentation. The unique ID is mandatory, while the other details are optional and only included if passed.
Wingify provides the following built-in attributes you can use while defining a custom segment.
| Client-side SDKs | |||
|---|---|---|---|
| Attribute Name | Description | Mobile/Web Support | Auto-infer? |
| App Version | Use this to segment visitors based on the app version they used to arrive on your test page. | Mobile | Yes |
| Browser Version | Use this to segment visitors based on the browser version they used to arrive on your test page. | Web | Yes |
| OS Version | Use this to segment visitors based on the operating system version they used to arrive on your test page. | Mobile + Web | Yes |
| Manufacturer | Use this to segment visitors based on the visitor's mobile device manufacturer. | Mobile | Yes |
| Location | |||
| Device Model | Use this to segment visitors based on the device model they used to arrive on your test page. | Mobile | Yes |
| Locale | Use this to segment visitors based on the locale they were in when they arrived on your test page. | Mobile | Yes |
| User ID | Use this to segment visitors based on their unique ID, thereby viewing the data for specific visitors. | Mobile + Web | Yes |
| IP Address | Use this to segment visitors based on their IP address. | Mobile + Web | No |
| User Agent | Use this to segment visitors based on the information stored by the User Agent (typically the browser and operating system-related info). Please specify a string value for User Agent. | Mobile + Web | No |
| Custom Variable | Use this to segment visitors who qualify for the custom variables and conditions you specify. | Mobile + Web | No |
| Feature Flag | Use this to segment visitors based on a feature flag. | Mobile + Web | No |
| Server-Side SDKs | |
|---|---|
| Attribute Name | Description |
| Operating System | Use this to segment visitors based on the operating system they were using when they arrived on your test page. |
| Browser | Use this to segment visitors based on the browser they used to arrive on your test page. |
| Device Type | Use this to segment visitors based on the type of device they were using when they arrived on your test page. |
| Location | Use this to segment visitors based on their geographic location. |
| Custom Variable | Use this to segment visitors who qualify for the custom variables and conditions you specify. |
| Feature Flag | Use this to segment visitors based on a feature flag. |
Note: Wingify auto-infers attribute values only when the following information is available in the user context:
- userAgent - Provides details about the user’s device, browser, and operating system
- ipAddress - Enables location-based data for geo-targeting.
Auto-infer caveats for Client-side SDKs (Mobile & Web):
- For web and mobile SDKs, Wingify auto-infers the attribute values when you provide the userAgent.
- However, for web SDKs (such as, JavaScript, React), if you don’t provide a user agent, Wingify auto-infers it by default.
- For the locale attribute, Wingify auto-infers values only if you provide both, the userAgent and ipAddress.
Auto-infer Settings for Server-side SDKs:
- Passing a userAgent is mandatory.
- For attributes such as Operating System, Browser, and Device Type, Wingify auto-infers values only if you provide the userAgent.
- For the Location attribute, Wingify auto-infers values only if you provide ipAddress.
Ensure you define the user context object to identify and provide user-specific details. See Defining User Context in Node.js for an example. For other SDKs such as Java, Python, and more, refer to the respective setup guides.
Advanced Custom Segmentation using Custom Variables
If you want to target visitors using attributes beyond the built-in ones, or based on your own business-specific information, you can define a custom variable. Wingify also allows you to use the same visitor data (passed through custom variables) for reporting and analysis in post-segmentation by passing the variable as a custom attribute. For more information, see How to Pass Custom Attributes for Post-Segmentation. Once they are passed and registered, they become available in reports for post-segmentation. This allows you to control both, who sees an experiment and later break down the results to understand how different user groups performed.
Note: While built-in attributes are automatically available in client-side SDKs, custom variables require developer implementation to ensure the necessary user data is sent to Wingify.
The next step is to start applying the segments in your experiments. For more information on how to leverage these features for pre-segmentation and post-segmentation, see Configure Segmentation in Wingify Feature Experimentation.
Need more help?
For further assistance or more information, contact Wingify Support.