MVT Deterministic Treatment Assignment

Overview 

Instead of relying on the mvtid that is created and stored in cookies by Algonomy Omnichannel Personalization, you should switch to an algorithm that systematically selects MVT treatments based off a separate, stable ID.

You can choose to use the external session ID (client managed), external user ID (client managed) or user GUID ( Omnichannel Personalization managed and cookie based). The user will always land in same treatment so long as the chosen ID does not change.

This eliminates the need to record treatment assignment in the cookie, which our legacy approach relied upon. That legacy approach has led to instability, test bias, and problems with server-side integrations.

You can choose to use the session ID (client managed), external user ID (client managed) or user GUID (Omnichannel Personalization managed, and cookie based). The user will always land in same treatment so long as the chosen ID does not change. This eliminates the need to record treatment assignment in the cookie, which our legacy approach relied upon. That legacy approach has led to instability, test bias, and problems with server-side integrations.

External Session ID is the best choice, however there are other options. The CS team needs to work with Analytics to determine what is the right seed.

The seed type chose is what is used to drive the analysis for MVT testing.

What is the best practice?

The new MVT deterministic user hashing site configuration should be checked if you intend to run MVTs, unless you have discussed with Science and have a strong reason to go with the legacy cookie-based solution instead.

How do I choose which kind of ID to use?

The CS team needs to work with analytics to understand the data available for the site—which type of ID is more stable for this site? Are the user IDs consistent? The session IDs. Which type of ID makes sense for the MVTs you want to run? There are some prototype tools to assist with answering this question, but they are not yet in a self-service state.

  • Typically, External Session ID is the best choice. (External User ID is typically not populated for a considerable amount of traffic on many clients, and User GUID is cookie-based, which gets us back to some of the same difficulties with the legacy solution).

  • If the client enforces login or is super diligent about providing the External User ID, then it may be the preferred choice instead of External Session ID.

  • User GUID is a fallback, if we believe the client is not capable of systematically and correctly tracking most of their traffic.

If you intend to use User GUID and the client is using a server-side integration (which applies to all Discover and Find clients), then you should only use User GUID if you are positive that full cookie pass-through is happening as part of the integration. That is, the Omnichannel Personalization managed cookies from the customer's browser are being passed through from the client into our server-side API, and we are updating the contents of that cookie, passing it back to the client, and they are updating the cookie on the customer's browser.

Are there other implications?

The chosen seed type will be used as the basis for analysis in the MVT reporting. A "visit" will be a sequence of customer page views which share the same id during a time period without any long gaps. If you choose external session ids for treatment assignment, these visits data will be grouped on external session id; similarly for the other ID options.

Making Changes

  1. Work with analytics to choose the most reliable ID to use (the stable ID).

  2. End all currently running MVTs, or wait until they finish. You can set up the MVTs you want to run after you turn on the single ID feature, but none of the tests can be running when you turn it on.

  3. Enable the MVT deterministic user hashing site configuration.

  4. Use the mvt seed type site configuration to select the stable ID you want to use:

  • External User ID

  • External Session ID

  • RR User GUID ​

  1. Start your new MVTs.

Note: You can set mvt seed type even if mvt deterministic user hashing is not checked. The seed type setting will be ignored in this case.

Graphical user interface, text, application

Description automatically generated