Возврат на сайте: как правильно отменить транзакцию в Google Analytics

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

Чтобы исправить этот недочет, нужно вместе с программистом реализовать доработку, при помощи которой данные из CRM будут передаваться в Google Analytics. Можно реализовать отправку данных так, чтобы после изменения статуса заказа отправлялся HTTP запрос через Measurement Protocol в Google Analytics.

А если возвратов очень мало — можно делать вручную через Hit Builder.

В статье мы расскажем, что такое Measurement protocol, а также как отменить транзакцию в стандартной и расширенной электронной торговле.

Что такое Measurement Protocol

Это протокол передачи статистических данных Google Analytics. С его помощью можно отправлять сырые данные напрямую в Google Analytics через HTTP запросы.

Более подробно о Measurement Protocol на странице справки.

Какие задачи решает протокол

При помощи Measurement Protocol можно связать онлайн и оффлайн действия пользователей, отправлять данные о просмотрах, транзакциях, событиях, отменять транзакции. В общем, практически всё.

Основная задача протокола — передавать в Google Analytics те данные, которые не подтягиваются туда из приложения/сайта автоматически.

Типы хитов, которые можно передать:

За что отвечает?Название хита
Отслеживание страницpageview
Отслеживание событийevent
Отслеживание расширенной электронной торговличерез pageview,event
Отслеживание стандартной электронной торговлиtransaction и item
Социальные взаимодействияsocial
Отслеживание ошибокexception
Отслеживание пользовательского времениtiming
Отслеживание приложений/экрановscreenview

Т.е. под каждый тип взаимодействий есть свой хит, а у каждого из них, в свою очередь, есть набор параметров, которые можно передать.

Например, для хита event есть следующие параметры:

ПараметрДля чего используется?
v=1Версия, всегда указывается 1.
tid=UA-XXXXX-YИдентификатор отслеживания
cid=123456ClientID, можно указать любое значение
t=eventтип хита
ec=servicesEvent Category
ea=orderEvent Action
el=car-washEvent Label
ev=300Event Value

Также можно комбинировать параметры из других хитов. Это не полный список.

Чтобы ознакомиться со всеми возможными параметрами, которые можно передавать, необходимо изучить справку.

Как сформировать запрос

Сформировать HTTP запрос можно при помощи Hit Builder, проверить там же его валидность и отправить в Google Analytics.

Пример запроса на отправку события:

Возврат на сайте: как правильно отменить транзакцию в Google Analytics

Теперь нужно проверить валидность хита и если всё верно, отправить данные об этом событии в Google Analytics.

Возврат на сайте: как правильно отменить транзакцию в Google Analytics

Запрос получился следующий:

v=1&t=event&tid=UA-128507111-1&cid=12345&ec=services&ea=order&el=car-wash&ev=300

Как «отменить» транзакцию в стандартной электронной торговле

Теперь рассмотрим как отменить транзакцию в стандартной электронной торговле. Для этого необходимо отправить несколько запросов: transaction и item по каждому товару.

Т.е. сначала нужно отправить данные о транзакции в целом, а потом информацию по каждому купленному товару. За счет идентификатора транзакции данные свяжутся автоматически, поэтому запросы можно отправлять просто по очереди через Hit Builder.

Следует учитывать, что в стандартной электронной торговле нет возможности отменить транзакцию, можно только создать новую с отрицательным значением цены. Это проблема, потому что возвраты искусственно увеличивают количество транзакций, что, в свою очередь, негативно влияет на качество данных.

Покажем, как «отменить» транзакцию в стандартной электронной торговле на примере. Представим, что у нас на сайте оформили заказ на создание двух белых рубашек, по 500 грн каждая. Но Inweb предоставляет услуги только по SEO & PPC, а никак не по пошиву рубашек, поэтому нам придется отменить заказ этого клиента.

Сначала нужно отправить хит transaction с общей информацией о транзакции.

Обращение типа Transaction имеет следующие параметры:

ПараметрДля чего используется?
ti*Идентификатор транзакции.
taНазвание магазина или филиала.
trСумма транзакции.
tsСтоимость доставки.
ttНалоги.
cuВалюта транзакции.

Обязательные параметры отмечены звездочкой.

Возврат на сайте: как правильно отменить транзакцию в Google Analytics

Пример запроса:

v=1&t=transaction&tid=UA-128507111-1&cid=123456&ti=123456&ta=Inweb%20Store&tr=-1000&ts=0&tt=0&cu=UAH

Далее необходимо сделать хит item по товару, который был куплен.

Обращение типа item имеет следующие параметры:

ПараметрДля чего используется?
ti*Идентификатор транзакции.
in*Название товара.
ipСтоимость товара.
iq*Кол-во товаров.
icИдентификатор товара.
ivКатегория товара.
cuВалюта.

Обязательные параметры отмечены звездочкой.

Возврат на сайте: как правильно отменить транзакцию в Google Analytics

Пример запроса:

v=1&t=item&tid=UA-128507111-1&cid=123456&ti=12345&in=
%D0%A0%D1%83%D0%B1%D0%B0%D1%88%D0%BA%D0%B0%20%D0%B1%D0%B5%D0%BB%D0%B0%D1%8F&ip=
-500&iq=2&ic=12345&iv=%D0%A0%D1%83%D0%B1%D0%B0%D1%88%D0%BA%D0%B8&cu=UAH

Отправив по очереди 2 запроса transaction и item, мы передали данные о поступлении транзакции с доходом минус 1000 грн.

Теперь необходимо подождать (достаточно долго, до 30 минут) и мы получим данные в Google Analytics:

Возврат на сайте: как правильно отменить транзакцию в Google Analytics

Как отменить транзакцию в расширенной электронной торговле

В расширенной электронной торговле очень удобно реализована возможность возвратов. Можно сделать полную отмену транзакции или убрать из транзакции конкретный товар.

Т.е. в отчетах Google Analytics будет удалена транзакция, а не добавлена ещё одна с отрицательной суммой.

В этом одно из основных преимуществ расширенной электронной торговли для ведения аналитики продаж.

Как отменить транзакцию:
Для совершения возврата по транзакции необходимо отправить запрос со следующими параметрами:

ПараметрДля чего используется?
v=1*Указание версии, всегда =1.
tid=UA-XXXXX-Y*Идентификатор отслеживания.
cid=555*ClientID.
t=event*Отправляем событие.
ec=Ecommerce*Event Category.
ea=Refund*Event Action.
ni=1Указываем «не взаимодействие».
ti=3123*Идентификатор транзакции.
pa=refund*Указываем, что это возврат.

Обязательные параметры отмечены звездочкой.

Возврат на сайте: как правильно отменить транзакцию в Google Analytics

Пример запроса:

v=1&t=event&tid=UA-123159846-1&cid=555&ec=Ecommerce&ea=Refund&ni=1&ti=T12345&pa=refund

После отправки запроса будет оформлен возврат по данной транзакции.

Как сделать возврат одного товара из транзакции:

ПараметрДля чего используется?
v=1Указание версии, всегда =1.
tid=UA-XXXXX-YИдентификатор отслеживания.
cid=555ClientID.
t=eventОтправляем событие.
ec=EcommerceEvent Category.
ea=RefundEvent Action.
ni=1Указываем «не взаимодействие».
ti=T12345Идентификатор транзакции.
pa=refundУказываем, что это возврат.
pr1id=P12345ID товара.
pr1qt=1Кол-во товаров.

Возврат на сайте: как правильно отменить транзакцию в Google Analytics

Пример запроса:

v=1&t=event&tid=UA-123159846-1&cid=555&ec=Ecommerce&ea=Refund&ni=1&ti=T12345&pa=refund&pr1id=P12345&pr1qt=1

При реализации возвратов через Measurement протокол обязательно использовать ClientID из куки при формировании запроса. В противном случае канал возвратов будет Direct, а транзакция могла поступить из organic, например. Это создает существенную проблему при аналитике каналов продаж.

Если этот нюанс упустить, то будет такая ситуация:

Возврат на сайте: как правильно отменить транзакцию в Google Analytics

Выводы:

  1. При помощи Measurement Protocol можно передавать практически все виды данных в Google Analytics из CRM/вручную.
  2. Отменить транзакцию в стандартной электронной торговле нельзя, можно только создать дополнительную транзакцию с отрицательной суммой.
  3. В расширенной электронной торговле есть возможность сделать как полный возврат транзакции, так и отдельного товара из транзакции.
  4. Обязательно нужно заполнять ClientID заказа для совпадения канала транзакции.
  5. Для стандартной электронной торговли необходимо отправлять несколько запросов (transaction + item для каждого товара) и связываются они вместе благодаря ID транзакции.

Материалы:

  1. Справка по Measurement protocol.
  2. Hit Builder.
  3. Очень крутая и подробная статья на блоге Netpeak про Measurement Protocol.
  4. Справка по всем доступным параметрам.