Как визуализировать воронку продаж в Google Data Studio?

Если вы используете Google Data Studio для создания отчетности, то вам наверняка приходила идея визуализировать последовательность определенных событий на сайте и посчитать коэффициенты конверсии для определенных этапов воронки.

И скорее всего вы столкнулись с трудностями и ограничениями Data Studio, после чего забросили эту идею. Но не расстраивайтесь, выход есть!

Прежде чем приступить, нам необходимо создать пользовательский параметр содержащий в себе идентификатор сеанса {{Session ID}}, так как считать мы будем количество сессий в которых произошло то или иное нужное нам событие и уже из этих данных строить воронку.

Как создать идентификатор сеанса?

Для идентификатора сеанса мы будем использовать рандомно создаваемую строку, которая будет отправляться с каждым хитом в Google Analytics.

Создаем пользовательский параметр:

Важно! Не ошибитесь, пользовательский параметр должен быть на уровне сессии. Так как наша рандомная строка будет изменяться с каждым просмотром страницы. Но поскольку вы отправляете его в пользовательский параметр, ограниченный сеансом, только последнее отправленное вами значение будет применено к хитам в сеансе.

Далее идем в GTM и добавим переменную JavaScript содержащую следующий код:

function() {
    return new Date().getTime() + '.' + Math.random().toString(36).substring(5);
}

Этот скрипт создает уникальный идентификатор сеанса. Комбинируя Unix-время и случайный набор буквенно-числовых символов.

И наконец, дополняем тег просмотра страницы в GTM в разделе «Дополнительные настройки > Специальные параметры»:

Сохраняем, публикуем и теперь у нас с вами есть уникальный идентификатор, при помощи которого мы можем «сшить» между собой все хиты (просмотры страниц или события) в каждом конкретном сеансе.

Считаем воронку

Допустим, у нас на сайте есть последовательность из 4 целевых действий, которые мы и хотим посчитать как воронку:

  1. Просмотр карточки товара (за первый шаг воронки будем считать просмотр страницы товара)
  2. Нажатие кнопки «В корзину» (за второй шаг — событие, срабатывающее при нажатии на кнопку добавления в корзину)
  3. Переход на страницу «Оформление заказа» (за третий шаг — просмотр страницы оформления заказа)
  4. Переход на страницу «Спасибо за покупку» (и наконец за четвертый шаг — просмотр страницы с благодарностями).

Переходим в Data Studio и создаем новое вычисляемое поле используя формулу из комбинации COUNT_DISTINCT (для подсчета уникальных идентификаторов сеанса) и CASE (подробнее о CASE в справке):

COUNT_DISTINCT(
CASE 
WHEN REGEXP_MATCH (Страница, ".*/tovar/.*") // тут используем регулярное выражение для подсчета количества просмотров страниц содержащих товары
THEN Session ID
WHEN Действие по событию = "addToCart" // тут считаем количество событий добавления в корзину (естественно, отслеживание этого события у вас должно быть настроено)
THEN Session ID
WHEN Страница = "/cart/" // тут считаем количество просмотров страницы оформления
THEN Session ID
WHEN Страница = "/thank-you/" // тут считаем количество просмотров страницы "Спасибо"
THEN Session ID
ELSE ""
END)

// Важно! Комментарии Data Studio не поддерживает, поэтому удалите их при создании вычисляемого поля.

В результате этих манипуляций мы получили показатель, который можно выводить на графике. Однако, Data Studio не позволяет вывести показатель без параметра, поэтому создадим параметр с названиями шагов нашей воронки используя все тот же CASE:

CASE 
WHEN REGEXP_MATCH (Страница, ".*/tovar/.*")
THEN "Просмотр страницы товара"
WHEN Действие по событию = "addToCart"
THEN "Добавление в корзину"
WHEN Страница = "/cart/"
THEN "Оформление заказа"
WHEN Страница = "/thank-you/"
THEN "Спасибо за покупку"
ELSE "Другое"
END

Теперь все готово для визуализации.

Визуализация воронки

Для визуализации будем использовать вертикальную гистограмму. Добавляем ее на страницу и выводим ранее созданные параметр и показатель:

И в итоге получаем вот такую визуализацию:

Красиво, но чего-то не хватает.

Добавим коэффициенты конверсии для каждого шага. Для этого придется заводить отдельные вычисляемые поля, чтобы можно было поделить один шаг воронки на другой:

COUNT_DISTINCT(
CASE 
WHEN Название полей воронки = "Просмотр страницы товара" // Считаем количество уникальных сеансов для первого шага воронки
THEN Session ID
ELSE ""
END)

Для всех остальных шагов делаем по аналогии. После чего считаем сам коэффициент конверсии шага разделив один показатель на другой:

И выводим показатели с коэффициентом конверсии в виде отдельных сводок в нашу визуализацию (не забыв поменять число на процент), а также убираем фильтром атавизм «Другое», сетку и название показателя:

Можно и дальше наводить красоту, придумывать другие способы фиксации шагов воронки и ее визуализации, но как мне кажется основную суть я до вас донес.

Пробуйте и не стесняйтесь задавать вопросы в комментариях!

P.S. Если вы еще не знакомы с Data Studio, то вначале советую прочитать статью «Data Studio — базовые знания».

Роман Романчук

Веб-аналитик. Сертифицированный специалист Google Analytics, Google AdWords и Яндекс Директ.