Предотвратить перекрытие между двумя экспериментами в Google Optimize?

Не могли бы вы помочь мне с правилом, которое может исключать пользователей, которые уже подвергались одному из других экспериментов в Google Optimize?

Каков наилучший подход?

Я думаю об использовании сторонней переменной cookie или какой-либо другой пользовательской переменной, которая пометит пользователя как "открытого", чтобы другой эксперимент не повлиял на него.

Кроме того, я могу использовать "запускать собственный"JavaScript в визуальном редакторе Optimize, который создаст такой файл cookie. Это решит проблему?

Также я не могу понять, как предотвратить запуск двух экспериментов одновременно. Так что пользователь, который видит эксперимент A, не увидит эксперимент B или C (бесплатная версия ограничена 3 экспериментами). Есть ли какие-либо правила или конфигурации, которые могут помочь с этим?

1 ответ

Просто надо было с этим разобраться! Подход @swapnil-jain, казалось, работал на поверхностном уровне, но, к сожалению, имел некоторые проблемы.

Когда Optimize оценивает, следует ли включать нового пользователя в список экспериментов, он создает _gaexp cookie один раз для всех подписок, он не создает его, а затем обновляет между подписками.

Итак, он ищет _gaexp cookie, оценивает подписку на Exp A (does not contain <expBId>) и выбирает пользователя для Exp A. Затем он оценивает выбор для Exp B (does not contain <expAId>) и выбирает пользователя для Exp B. Затем он создает файл cookie, читающий что-то вроде GAX1.3.<expAId>.<expDate>.<value>.<expBId>.<expDate>.<value>.

Проблема в том, что при втором посещении пользователь будет исключен из просмотра вариантов для любого эксперимента, потому что теперь они не соответствуют условиям таргетинга на аудиторию. Их файл cookie теперь содержит оба<expAId> а также <expBId>!

У меня были похожие проблемы при попытке настроить таргетинг на _gaexp cookie с регулярным выражением, поскольку cookie создается сразу для обоих экспериментов после принятия решения о включении.

Мое текущее рабочее решение - создать собственное правило JavaScript под названием rand100. Для первого пользователя он генерирует случайное число от 0 до 100. Если это число меньше 50, они оцениваются для опыта A, и сохраняется файл cookie, содержащийrand100ценность. Если они равны или больше 50, они оцениваются для Exp B. Для вернувшихся пользователей извлекается cookie, и предыдущее значениеrand100 возвращается вместо нового, и поэтому они по-прежнему соответствуют условиям таргетинга для эксперимента, в котором они участвовали.

Один файл cookie используется совместно для оценки подписки, поскольку он запускает пользовательский JavaScript во время оценки Exp A, и поэтому файл cookie доступен для оценки Exp B. Срок действия файла cookie истекает через 90 дней, что является сроком действия по умолчанию для отслеживания Optimize.

Я провожу эти эксперименты на 100% трафика, но технически они видят только 50% трафика из-за rand100. Трафик делится на 25%/25%/25%/25% между control/v1/control/v1.

Когда мы создаем любой эксперимент, Google создает идентификатор эксперимента, который мы можем найти в разделе деталей. Кроме того, когда для пользователя запускается эксперимент, он устанавливает_gaexp файл cookie, который содержит этот идентификатор эксперимента (помимо других идентификаторов).

Итак, если вы хотите провести два взаимоисключающих эксперимента, все, что вам нужно сделать, это исключить пользователя из эксперимента, если _gaexpсодержит идентификатор другого. Вот шаги:

  • В таргетинге на аудиторию добавьте правило и выберите First-party cookie
  • Создайте переменную и установите для нее значение _gaexp
  • Выбрать does not contain вариант и добавьте идентификатор другого эксперимента в значение
  • Сохранить

Повторите те же шаги для другого эксперимента.

Это одна из причин, по которой я до сих пор использую Google Experiment. Это обеспечивает намного больше контроля с его API. С учетом вышесказанного вы сможете достичь желаемого результата, установив файл cookie в браузере пользователя. Вот как я это вижу:

  • Все экспериментальные файлы cookie имеют одинаковые имена, но разные значения, чтобы избежать создания нескольких файлов cookie.
  • После нового сеанса проверьте наличие файлов cookie.
    • Exists - метка огня для инициализации соответствующего эксперимента.
    • Не существует - определите, в какое экспериментальное ведро поместить пользователя и использовать метку для инициализации соответствующего эксперимента.

Я знаю, что в Optimizely есть алгоритм, позволяющий объединять экспериментальных пользователей таким образом, чтобы каждый пользователь мог участвовать в нескольких экспериментах, но я не верю, что в Google Optimize такой функциональности пока нет.

Другие вопросы по тегам