Используйте Google Analytics для A/B-тестирования с тем же URL-адресом


Я хочу знать, можно ли выполнить A/B-тест для разных версий одного и того же URL-адреса с помощью Google Analytics.

До сих пор я проводил A/B-тесты на разных URL-адресах, таких как xxx1.html и xxx2.html, а затем сравнивал оба.

Но что я хочу сделать, так это провести A/B-тест с тем же URL-адресом, но с текущей версией и предстоящей версией. Возможно ли это?

Author: Stephen Ostermiller, 2016-10-18

3 answers

Вы можете сделать это с помощью API контента. Его немного сложно настроить, но вот несколько советов, следующих за этим руководством: https://developers.google.com/analytics/solutions/experiments-client-side

Сначала вам понадобится скрипт javascript/jQuery в области заголовка (иш) вашего шаблона. Каждый function() в пределах expVers[] является вариантом эксперимента. Вы можете делать столько, сколько захотите, однако 2 или 3, по-видимому, работают лучше всего, причем один из 3 быстро взвешивается Google (несколько дней). Это псевдокод для добавления красного или оранжевого класса в btn:

<!-- Include the content API snippet above this. The Google hosted snippet can fail for some reasons so I paste it in. -->

<script type="text/javascript">
    // Set variants as indices
    var getIndex = cxApi.chooseVariation(),
        expVers = [
            function() {
                log = 'Variant 1';
                $('.btn').addClass('red');
            },
            function() {
                log = 'Variant 2';
                $('.btn').addClass('orange');
            }
        ];
</script>

Итак, они определены, теперь нам нужно фактически инициировать изменение для пользователя после загрузки DOM. Это немного проще, поместите его ниже, как в нижнем колонтитуле:

<script type="text/javascript">
    // Trigger and show variant to user
    $(function() {
        expVers[getIndex]();
        console.log(log);
    });
</script>

Теперь есть 3 вещи, которые следует учитывать, о которых на самом деле не говорится в руководстве.

1) Вы не можете удалить прошлые эксперименты [без использования API аналитики]. Итак, создайте новое свойство для тестирования вместо того, чтобы делать это на ваше главное имущество. Вы же не хотите портить свое основное имущество экспериментами, которые предназначались для тестирования, провалились или что-то в этом роде.

2) Убедитесь, что ваш IP-адрес игнорируется фильтром Google Analytics, иначе результаты вашего тестирования могут быть неверными. Эти эксперименты основаны на файлах cookie. Поэтому при тестировании вы можете проверить варианты переключения или взвешивания, удалив файл cookie GA и обновив его. Или если вы используете этот метод, вы можете выполнять строки запроса, чтобы "принудительно" отображать вариант, пока тестирование. Кроме того, в приведенных выше фрагментах есть ведение журнала. Это важно по разным причинам, таким как более неоднозначные или "скрытые" изменения, которые не обязательно легко увидеть. Нажмите F12 (инспектор Chrome) и перейдите на вкладку консоль. Вы увидите, какой вариант сработал, или любую другую информацию, которую вы хотите добавить в журналы.

3) Поскольку этот эксперимент проводится на стороне клиента, на мгновение может возникнуть/возникнет ситуация FOUC, когда страница сначала загружается по крайней мере для 1 пула вариантов. что я под этим подразумевается, что вы тестируете 3 цвета кнопок. По умолчанию они синие, и вы также проводите эксперимент, чтобы протестировать красный и оранжевый варианты. Таким образом, пользователь нажимает, на мгновение видит синие кнопки, затем включается JS и меняет их на красные или оранжевые. Это происходит из-за задержки до готовности DOM (JS не запускается до DOM, скажем).

Существуют различные способы справиться с этим, такие как сделать кнопки невидимыми с помощью CSS или наложить загрузку, пока JS не будет загружен и не сделает видимый. Для каждого экземпляра/сайта/темы может потребоваться другой способ "замазывания" этого, чтобы избежать FOUC или любого мерцания и т. Д. Если это всего лишь незначительное изменение, возможно, вы сможете с этим смириться.... но FOUC/мерцание с большими изменениями может немного повлиять на результаты вашего эксперимента. Подумайте, например, о мерцающем логотипе. Или пользователь с очень медленным соединением, у которого огромная задержка перед запуском JS. Удачи в экспериментах!

 1
Author: dhaupin, 2016-10-18 14:23:06

Да.

Один из способов - использовать API экспериментов с контентом: https://developers.google.com/analytics/solutions/experiments-client-side . По сути, вы будете использовать Javascript для создания вариантов и позволять API указывать странице, какую отображать. Если вам удобно с JS, похоже, это тот путь, которым вы хотите идти.

Конечно, есть и другие сервисы, такие как Optimizely, VWO, Unbounce и т. Д., Которые Могут обрабатывать большую часть этого процесса, поэтому вы не нужно написать JS. Однако не каждый из них, скорее всего, будет работать в вашей конкретной ситуации.

 1
Author: conan, 2016-10-18 11:28:27

Альтернативный метод

В моем случае серверное приложение обрабатывало обслуживание A/B, и они были отдельными шаблонами. Я бы предпочел не использовать JavaScript для управления DOM для моих изменений... это кажется ограниченным, а также страдает от ситуации с FOUC, как указано в выбранном ответе.

То, что мы сделали, было отправлено пользовательское событие в Google Analytics после отправки "просмотра страницы".

Сначала отправьте пользовательское событие в Google Аналитика

// For an "A" visitor:
ga('send', 'pageview');
ga('send', 'event', 'Visitor Variant', 'A', '', { nonInteraction: true });


// and for a "B" visitor:
ga('send', 'pageview');
ga('send', 'event', 'Visitor Variant', 'B', '', { nonInteraction: true });

Флаг "Невмешательство" необходим, иначе это событие будет засчитываться как второй просмотр страницы, искусственно снижая ваш показатель отказов до 0% для всех посетителей.

Затем сравните A/B в Google Analytics по сегментам

Для отчетности просто создайте сегменты в Google Analytics, используя "Категорию событий" "Вариант посетителя" и "Действие события" "A" или "B". Метки "Вариант для посетителей", "A" и "B" являются пользовательскими, и вы можете изменить их на все, что вы хотите, при условии, что они совпадают в JavaScript выше и в Google Analytics.

Отказ от ответственности

Вероятно, это не каноническое использование пользовательских событий Google Analytics, но для меня это сработало.

 0
Author: Aaron Cicali, 2018-11-29 16:42:13