Расчет стоимости корзины в Google Analytics

15 июня, 2020

Простое решение, которое позволяет рассчитать стоимость товаров в расширенной электронной торговле (Enhanced Ecommerce), добавленных в корзину, с отправкой в Google Analytics.

Решение о покупке того или иного товара люди принимают по-разному. Иногда человек может искать, присматриваться в течение долгого периода времени (дней, недель, месяцев). А бывает, что пользователь заходит на сайт и делает покупку в течение нескольких минут. Есть те, кто приходит на сайт за конкретным товаром, а есть категория посетителей, которая долго путешествует по страницам в течение одной пользовательской сессии в поисках товаров разных категорий, попутно то добавляя, то удаляя товары из своей корзины. Причем действия, связанные с ценностью корзины, могут быть непредсказуемыми.

Например, человек положил товар в корзину, затем передумал и удалил его. Потом снова вернул, добавил еще 2-3 новых товара. На шаге оформления заказа он вдруг вспомнил, что один из них ему не нужен, и снова удалил, а после завершил покупку. Или на сайте проходит акция - бесплатная доставка от 5000 руб. И посетитель начал добавлять товары в свою корзину. Но превысив нижний порог на 600 руб., решил изменить корзину таким образом, чтобы получилось 5001 руб., а не 5600 руб. Вариантов много.

А что, если мы хотим узнать, какие товары пользователи добавляли в корзину и удаляли из нее, и тем самым подсчитать итоговую ценность корзины? Это можно сделать, получив в отчете Google Analytics такую статистику:

Расчет стоимости корзины в Google Analytics

Расчет стоимости корзины в Google Analytics

По умолчанию в Google Analytics заложено очень много метрик для расширенной электронной торговли. Например:

  • количество добавлений товара в корзину / Product Adds To Cart (показывает, сколько раз товар добавлялся в корзину покупок);
  • количество товара, добавленного в корзину / Quantity Added To Cart (отображает количество единиц товара, добавленных в корзину);
  • количество товара, удаленного из корзины / Quantity Removed From Cart (определяет количество единиц товара, удаленных из корзины);
  • количество удалений товара из корзины / Product Removes From Cart (подсчитывает, cколько раз товар был удален из корзины покупок);
  • коэффициент выбранных товаров / Cart-to-Detail Rate (количество добавлений товара в корзину, разделенное на число просмотров информации о товаре);
  • и другие.

Часть этих метрик доступна в отчетах Конверсии – Электронная торговля – Эффективность списка товаров, а часть только через создание специального отчета. Но ни одна из них не рассчитывает итоговую стоимость корзины, хотя является одним из важных показателей, поскольку позволяет определить наибольшую разницу между стоимостью корзины и полученным доходом от конкретного продукта. И тогда в зависимости от максимального расхождения работать с каждым товаром или группой товаров в отдельности.

На примере выше видно, что у 4 товаров стоимость корзины выше, чем доход от продукта, который положили в корзину. Можно сделать вывод о том, что часть пользователей покидает сайт, так и не оформив покупку. Единственный товар, по которому стоимость корзины равна доходу от продукта (и положили в корзину, и купили) - это Apple iPhone 11 Pro Max 512 ГБ серый космос. При бОльших данных расхождения в отчете будут заметнее. Тогда мы сможем найти товары определенной "группы риска".

Реализация в Google Analytics достаточно простая. И в этом нам помогут специальные показатели. Предполагается, что на момент прочтения этого материала у вас настроена расширенная электронная торговля (Enhanced Ecommerce) с помощью уровня данных (dataLayer) согласно официальной документации Google.

Последовательность действий:

  • создать специальный показатель в Google Analytics;
  • добавить строчку кода в сформированный dataLayer для отслеживания действий добавления товара в корзину и удаления товара из корзины во всех местах на сайте, где это необходимо.

Создание специального показателя

Для этого в Google Analytics необходимо перейти на уровень ресурса в раздел Пользовательские определения - Специальные показатели - +СПЕЦИАЛЬНЫЙ ПОКАЗАТЕЛЬ.

Расчет стоимости корзины в Google Analytics

Специальный показатель

Указываем:

  • имя для специального показателя (в моем примере Стоимость корзины)
  • область действия - Товар;
  • тип форматирования - Валюта (десятичный формат);
  • активная - галочка.

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

Расчет стоимости корзины в Google Analytics

Индекс специального показателя

Добавление строчек кода в сформированный dataLayer

На этом шаге нам необходимо модифицировать код уровня данных для событий addToCart и removeFromCart. Если до момента этой настройки на сайте у вас был код такого вида для addToCart:

то теперь он будет выглядеть вот так (с 'metric1' : '15.25'):

, где metric1 - наш специальный показатель с индексом из Google Analytics. В моем примере - это 1.

Это строчка добавляется в массив products (продуктов). То есть при каждом добавлении товара в корзину у нас в metric1 будет добавляться значение цены данного товара.

Тоже самое нужно добавить для события removeFromCart, только с отрицательным значением (с 'metric1' : -'15.25'):

Это строчка также добавляется в массив products (продуктов). При каждом удалении товара из корзины у нас из metric1 будет отниматься значение цены данного товара.

Вот и все! Для реализации нам потребовалось создать 1 специальный показатель в Google Analytics и добавить 1 строчку кода в уровне данных для каждого из двух событий (add и remove). Основная сложность заключается в том, чтобы добавить коды с уровнем данных на все элементы на сайте. Например, в моем тестовом интернет-магазине есть кнопки добавления товара в корзину:

  • на главной странице;
  • на странице товара;
  • в категории товаров;
  • на странице корзины;
  • на странице оформления заказа.
Расчет стоимости корзины в Google Analytics

Отслеживание добавления товаров в корзину на разных элементах

Аналогично с удалением товаров из корзины:

  • на странице корзины;
  • на странице оформления заказа;
  • в раскрывающемся меню при клике на кнопку корзины.
Расчет стоимости корзины в Google Analytics

Отслеживание удаления товаров из корзины на разных элементах

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

В качестве примера прикладываю скриншот того, как сформирован dataLayer у меня на одной из кнопок Купить:

Расчет стоимости корзины в Google Analytics

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

Последней строчкой, как и было написано ранее, идет metricX с индексом 1 и значением:

Здесь с помощью функции parseInt (переводит из строки в число) и арифметической операции перемножаются quantity (количество) и price (цена товара), поскольку пользователь мог добавить в корзину сразу несколько товаров.

Уровень данных для удаления товаров из корзины в моем проекте выглядит так:

Расчет стоимости корзины в Google Analytics

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

Последней строчкой идет metricX с индексом 1 и отрицательным значением (со знаком минус '-'):

Арифметическая операция та же самая. Если пользователь удалил 5 товаров, то итоговым значением будет произведение количества удаляемых товаров (5) на цену одного товара с отрицательным значением.

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

  • мы добавили в корзину один уникальный товар в количестве 5 штук на 100 000 руб. (20 000 руб. - 1 шт.). В этом случае сработало событие addToCart, и данные отправились в Google Analytics со стоимостью корзины +100 000 руб.
  • затем пользователь решил купить не 5 штук товара, а 3. Он удалил два товара на сумму 40 000 руб. В этом случае сработало событие removeFromCart, и данные отправились в Google Analytics с отрицательным значением со стоимостью корзины -40 000 руб. Итого наша стоимость корзины равняется: 100 000 - 40 000 = 60 000 руб.
  • в результате пользователь оплатил 3 штуки общей стоимостью 60 000 руб. Сработало событие purchase (Покупка), и данные отправились в Google Analytics с доходом от продукта 60 000 руб.

Таким образом, в Google Analytics в специальном показателе напротив этого товара будет стоять значение 60 000 руб., а в метрике Доход от продукта будет также отображено значение 60 000 руб. При желании, можно не передавать отрицательное значение в событии remove, а настроить только на добавление товаров в корзину. Имея это значение, а также доход от каждого продукта, можно проделать с этими данными различные расчеты в сторонних программах (Excel, Google Таблицы и т.д.).

В этом материале я рассмотрел один из самых простых способов расчета стоимости корзины в Google Analytics. При такой реализации может быть много подводных камней. Например:

  • данные не передаются;
  • в отчете вы видите отрицательные значения стоимости корзины;
  • ограничения, связанные с тем, что с помощью такого способа можно передавать данные только в Google Analytics, а в Яндекс.Метрику или другие сторонние счетчики аналитики нет;
  • работает только для расширенной электронной торговли (Enhanced Ecommerce).

Несмотря на все это модификация кода и настройка расчета стоимости корзины не такая уж сложная задача. А результат, который вы получите после внедрения, вас приятно удивит.

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике