Once a user has participated in an experiment, they will continue to see the same variant that they were first bucketed into due to a consistent ID tied to the user. Apptimize strongly recommends identifying your users with our setCustomerID API so that variant consistency can be ensured, even across platforms. Below are the details on how variant consistency behaves in cases where you have not identified the users and those where you have.
When the User is not Identified
- By default, Apptimize automatically associates a unique identifier know as the GUID or anonId with each instance (or "new user") of your application
- This identifier is used by the SDK to determine the allocation and distribution of users into various experiments, Feature Flags, and Instant Updates.
- A new anonId or GUID is generated if the user deletes and re-installs the app
- If a user has multiple devices, each device will have a separate anonId associated to it
- Apptimize uses the device id to ensure that the device falls into the same bucket in every session.
Unidentified users on mobile would continue to see the same variant across sessions as long as they are using the same instance of the app. If they reinstall the app or are participating in the experiment on another platform anonymously, they get a new GUID assigned, so they are no longer guaranteed the same variant bucketing.
Unidentified users on web should see the same variant as long as they do not clear their local storage, as this is where the Apptimize GUID is contained within our metadata file.
When the User is Identified
- Apptimize allows you to use your own identifier to associate with a user (you may already be using one internally or with other platforms for allocation and targeting purposes)
- If you identify a user with the setCustomerId API, this ID will be used instead of the GUID/anonId for all operations of the Apptimize SDK
- If a user was anonymous and then identified with a user ID, Apptimize will associate prior activity (experiment participation, tracked events) from the anonymous device with the provided userId. This enables us to seamlessly support experiments that span both logged-in and logged-out states (for example, an experiment impacting the user on-boarding flow).
Identified users on mobile will always see the same variant they were originally bucketed into, regardless of app re-installs or device. Using the same customer identification ID across platforms ensures that the same experience is maintained.
Please see our documentation on how to identify users with our Customer User ID API.