Measurement Protocol – новая возможность Universal Analytics

Universal Analytics предлагает массу возможностей для отслеживания посетителей сайта, а также сопоставление действий пользователя на сайте и последующее совершение целевых действие в оффлайне.

Для этих целей используется Measurement Protocol или Протокол передачи данных. В каких случаях вы можете использовать эту возможность? Приведу пару примеров.

Первый вариант – посетитель приобретает у вас на сайте товар или услугу, при этом выбирает вариант оплаты “безналичный расчет”. Мы можем предположить, что процесс покупки по ряду причин может быть и не завершен, по этому передача в Google Analytics сведений о транзакции после завершения процесса оформления заказа/покупки, некорректна. Данные должны быть переданы после фактического поступления оплаты.

Второй вариант – оплата наличными курьеру при доставке товара. Покупка считается завершенной после получения оплаты курьером.

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

Решить обозначенную проблему нам поможет новая возможность появившаяся в Google Analytics с выходом Universal Analytics, под названием Mesurement Protocol.

В чем заключается принцип работы протокола. Все достаточно просто. Необходимо отправить специальным образом сформированный запрос на определенный URL.

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

Разберем подробнее параметры подлежащие передаче.

Первое – это URL, на который должен быть отправлен запрос, он должен принимать значение

для незащищенного соединения, и

для протокола SSL.

Второе – обязательный набор из 4 параметров:

  1. v – версия протокола, в настоящей момент используется значение равное 1;
  2. tid – идентификатор кода отслеживания (ресурса) Google Analytics в виде UA-XXXX-Y;
  3. cid – анонимный Client-ID;
  4. t – тип хита.

Если первый и второй параметр не должны вызвать сложностей, то третий и четвертый требуют уточнений.

Параметр cid, это анонимный client-id или идентификатор клиента. Если посетитель просматривает ваш сайт с помощью браузера, Universal Analytics сохранит значение client-id в cookie, если вам не известно значение, используйте любое свое.

Обратите внимание, если вы используете client-id, который получен из cookie файла, переданные данные будут сопоставлены с другими действиями посетителя, если передаете свое значение, то будет просто зафиксирован некоторый хит нового посетителя (операции под одним client-id приписываются одному посетителю). Для иллюстрации сказанного посмотрите на изображение:

Демонстрация clid

Демонстрация clid

Просмотр страницы под номером 1, это первое посещение сайта, просмотр 2 сгенерирован с помощью Mesurement Protocol по клику на кнопке, при этом использовался clid из cookie установленного в посещении номер 1. У нас по отчету на сайте будет 1 посетитель.

Просмотр 3 также как и просмотр 2 сгенерирован при клике на кнопку, при этом в качестве clid передано значение 12345, что приводит к появлению на сайте второго посетителя. У нас по отчету уже 2 посетителя. Просмотр 4 полностью аналогичен просмотру 2. Т.е. действие посетителя номер 1, который ранее осуществил просмотры 1 и 2.

Вернемся к параметрам, следующий параметр t, это тип хита. Он может принимать ограниченный круг значений - ‘pageview’, ‘appview’, ‘event’, ‘transaction’, ‘item’, ‘social’, ‘exception’, ‘timing’. Наиболее часто используемые значения:

  • pageview – просмотр страницы;
  • event – событие;
  • transaction – транзакция;
  • item – элемент транзакции.

Уже сейчас вы имеете возможность передачи в Universal Analytics данных с помощью Measurement Protocol. Но для того, чтобы нам получить в отчетах достоверную и полную информацию, необходимо выполнить еще два действия.

  1. Получить client-id посетителя сайта и сохранить его в CRM вместе с данными о заказе (сопоставить активность пользователя на сайте и его оффлайн действия).
  2. Дополнить запрос дополнительными параметрами, позволяющими работать нам с передаваемыми данными в отчетах.

Получить clien-id можно из cookie Universal Analytics:

Cookie Universal Analytics

Cookie Universal Analytics

Вы можете самостоятельно, либо с помощью разработчиков получить нужное значение. Я в своей деятельности пользуюсь следующим кодом на языке PHP (автор Matt Clarke):

Что касается дополнительных параметров. Их достаточно много, некоторые из них с описанием на русском языке вы найдете здесь, полный список доступен в официальной документации Google Analytics.

Рассмотрим некоторые из параметров, которые относятся к ранее обозначенным типам хитов.

  • dh – доменное имя сайта;
  • dp – адрес страницы относительно доменного имени сайта;
  • dt – заголовок страницы;
  • ec – категория события;
  • ea – действие по событию;
  • el – ярлык события;
  • ti – идентификатор транзакции;
  • ta – название филиала или магазина;
  • tr – общая сумма транзакции;
  • in – название товара;
  • ip – стоимость товара;
  • iv – категория товара.

Теперь, когда мы имеем все необходимое для использования Measurement Protocol (протокола передачи данных) можно попробовать на практике приобретенные знания. Мы с вами воспользуемся всеми типами хитов, которые были названы ранее. Я буду демонстрировать передачу данных отправляя запросы с помощью JQuery.

Отправка данных о просмотре страницы:

Отправка данных о событии:

Отправка данных о покупке:

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

В какой момент вам необходимо передавать данные с помощью Mesurement Protocol? Для примеров, которые я привел в самом начале публикации, моментом передачи данных может быть перевод заявки в CRM из статуса заказ доставляется в заказ оплачен. Разработчикам, при наличии необходимых данных, не составит особого труда отправить сформированный запрос по определенному действию или событию на сайте.

Как видите сложного в использовании этого функционала Universal Analytics нет. Используйте его для сбора достоверных данных и оптимизации вашего бизнеса.

Для получения полной и официальной информации обратитесь к документации.

В заключении приведу пример ролика, который демонстрирует фиксацию событий и передачу сведений в Universal Analytics для датчика движения:

Кейсы и инструкции по настройке в вашем ящике. Подпишитесь сейчас!
я даю согласие на обработку персональных данных

47 комментария(ев) к “Measurement Protocol – новая возможность Universal Analytics

  1. Здравствуйте

    Вы использовали MP для WAP ресурсов заточенных под фичфоны? В справке ссылаются на MP c использованием прокси. Не совсем понятно, что они имели в виду. Заранее спасибо.

  2. Здравствуйте.
    Подскажите пожалуйста, эти данные должны поступать в отчет электронной торговли UA или куда-то ещё? Если да, то не будет ли конфликта передачи данных, если на сайте уже установлен тег Электронной торговли с теми же параметрами?

    • @Павел, какие конкретно данные? События идут в отчеты по событиям, торговля – в торговлю и т.д.

      • Сморите отчет по конверсиям и по электронной торговле или создайте свой собственный

  3. Добрый день.
    Пришлось перевести сайт на Universal c переработкой кучи событий.
    Пытаемся отправить транзакцию с сервера, получаем код 200 в ответе и пиксель, но транзакции в отчете не появляются. С чем это может быть связано?

    • Дмитрий, добрый день! Вы информацию в каких отчетах просматриваете? Проверьте в реальном времени

  4. Насчет получения CID то сам гугл уже советует использовать другой метод.

    ga(function(tracker) {
    clientId = tracker.get(‘clientId’);
    });

    Говорит, что куки не круто, так как формат может быть изменен в любое время.

    У меня пару вопросов.
    - Как посмотреть отчеты по эти событиям. Хочу посмотреть история похода по сайту пользователя с этим CID не никак.
    - И так же есть задача передавать информацию о том, что транзакция была не удачное. Иными словами возврат денег. Как это сделать через этот протокол?

    ЗЫ: Спасибо за статью. Отличный метод делать запросы через jQuery

    • Александр, по cid нельзя построить отчет, использование идентификаторов для персонализации действий пользователя – нарушение правил Google Analytics. Возврат может быть оформлен также с помощью протокола, используйте минусовые значения, об этом есть информация в официальной документации

  5. Насчет минусовых значений, то не отображается в возвратах. Мне таки удалось сделать передачу возврата через этот протокол. вся сложность в том, что у гугла есть задержка по времени в полчаса-час на такие действия.

  6. Иван, не можем добиться отображения суммы транзакции в отчётах GA/ данные передаются через Measurement Protocol (Enhanced Ecommerce). Все параметры есть, кроме суммы транзакции. Может Вам известны ссылки на описание “особых” кейсов с передачей этого параметра?

  7. Здравствуйте. Есть два вопроса по ClientId:
    1. Вы пишете, что значение ClientId предварительно получается с помощью функции PHP (автор Matt Clarke). То есть она должна срабатывать при загрузке страницы (помещаем в отдельный файл php), а не при нажатии кнопки отправки?
    2. Значение ClientId необходимо отправить в CRM Битрикс24. ClientId необходимо копировать в скрытое поле через параметр Value=””? А что нужно писать в значении параметра Value, чтобы ClientId скопировался и отправился в CRM? Пишем Value=”$contents['cid'];”?
    Форма:
    А затем передача в CRM по PHP:
    $postData = array(
    ‘IM_OTHER’ => $leadData['IM_OTHER'],
    );

    • Здравствуйте, Алексей! Получить clienId можно различными способами, описанный в материале служит для иллюстрации такой возможности. По второму вопросу Вам лучше проконсультироваться с Вашими разработчиками, как в шаблонизаторе подставить необходимое значение

  8. Дмитрий Захарченко 08.07.2015 в 02:03 - Ответить

    Сколько времени гугл “хранит” информацию по clientId?
    Настроена интеграция сервиса коллтрекинга с UA. Нет возможности посмотреть отчет по lp (50% данных имеют значение “not set”).
    Вот ответ техподдержки:
    “чем больше данных и времени с момента посещения проходит(минут), тем меньше данных ua может сопоставить по отправленным client id.
    Часть событий ua сопоставляет в отчетах, часть нет в частности по целевым страницам.”
    Насколько правдив ответ?

    • Дмитрий, вероятно на Ваш вопрос Вам смогут ответить технические специалисты из Google Analytics. Не вся информация находится в открытом доступе.

  9. Здравствуйте, господа.
    Поделитесь, пожалуйста, советом. Странная ситуация с measurement protocol.
    На веб версии стоит UA через GTm, на мобильной версии сайта measurement protocol.
    Ситуация в том, что measurement protocol не считывает utm метки и все переходы по доменам 3 уровня считает рефералами. Везде стоит один счетчик.

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

  10. Алексей, добрый день.

    Скажите, пожалуйста, возможно ли с помощью Measurment передавать маржу по заказам, при этом по прежнему передавая сумму заказа?

    • Геннадий, дополнительные данные по транзакции передать не получится по умолчанию, но можно использовать пользовательские параметры и показатели для подобных целей

  11. Здравствуйте,

    Может быть что-то подскажете?
    Настроена передача данных для эл. коммерции через Measurement Protocol.
    Данные успешно передавались, каждый высланный запрос был принят Аналитиксом.
    Вдруг на днях, Аналитикс перестал принимать данные.
    Хиты идут также, как шли (в синтаксисе никаких изменений, запросы уходят), но данных а Аналитиксе нет. Что интересно, все настроено аналогично для 2 сайтов, передача данных отвалилась только для одного.
    Пример запроса, который Аналитикс не принял:
    http://www.google-analytics.com/collect?&v=1&tid=UA-********-1&cid=730101859.************&t=transact
    Пример запроса, который Аналитикс успешно принял ранее :
    http://www.google-analytics.com/collect?&v=1&tid=UA-********-1&cid=249034866.************&t=transact
    (идентификаторы tid совпадают).
    Как Вы думаете, что может быть причиной?

    • Анна, начните с проверки фактической отправки запроса, а также настроек фильтров в Google Analytics

  12. Иван, спасибо за подсказку! Вопрос решен, дело было действительно в фильтрах. Оказалось, что данные не принимались из-за включения фильтра для отсечения спам реффереров: https://www.adwordsrobot.com/en/tools/ga-referrer-spam-killer . Включила чужой фильтр не вдумываясь, вот и получила :). Фильтры выключила, данные эл. коммерции пошли. НО возник вопрос, как бы фильтровать запросы к Аналитиксу, то есть сделать так, чтобы Аналитикс принимал данные, отправленные только с моего сервера (например по IP), а с других серверов не принимал (я имею ввиду данные, отправленные по Measurement Protocol). Смотрела в этих злосчастных фильтрах, нет там ничего, что бы этим управляло… Может подскажете как сделать? или как искать (не совсем погимаю, как это правильно назвать)?

  13. Добрый день.

    Спасибо за статью.

    Подскажите пожалуйста, что за в переменной prid в Enhanced Ecommerce?
    https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters?hl=ru#pr_id
    Его можно задать от 1 до 200, значит всего можно передать данные о 200 товарах, если каждому мы присваиваем свой индекс?

    Спасибо

  14. Скажите где в ГА можно в итоге это всё посмотреть? Облазил весь не нашёл. Может что-то не включил?

  15. Как присваивать правильный канал при загрузке, сейчас по умолчанию идет (direct) / (none).
    Отсылаю данные из 1С.

      • Norm Iridium 08.06.2016 в 16:22 -

        А какие не подскажите, пожалуйста. На dl пробовал отсылать url входа? Или как то ещё?

      • Для фиксации URL, с которого перешли на Ваш сайт можно использовать возможности встроенных переменных

  16. Добрый день! Используем в работе CRM-систему, которая при определенных условиях сама отправляем клиентам письма. С помощью протокола передачи данных настроили, чтобы можно было следить сколько писем было открыто. А также настроили цели, чтобы отследить переходы и целевые действия. Скажите, как настроить код, чтобы в аналитику передавалась информация, сколько всего писем было отправлено? Код, который сформирован для отслеживания открытых писем –

    • Яна, нужно использовать тип хита event либо pageview, а вот в нем действие расширенной торговли purchase

  17. Здравствуйте.
    Необходимо точно получать данные по покупке ключей программы. Чаще всего пользователи сначала качают тестовую версию программы, а затем через какое-то время (от нескольких часов до нескольких дней) покупают лицензионный ключ. Основная задача видеть конверсии реальных покупок в адвордс, чтобы оптимизировать рекламную компанию.
    Сейчас мы при скачивании пользователем программы получаем идентификатор его в аналитике и затем когда активируется купленный ключ в этой программе мы передаем данные через протокол в аналитику в которых указываем идентификатор пользователя аналитики, выполнение события покупки и цену цели. В итоге покупки в аналитике учитываются, но источник всегда определяется как (direct) / (none). Компания в адвордс пока не настроена, но есть подозрения, что не будет необходимых данных для оптимизации компании по этой конверсии.

    • Добрый день! Вы можете настроить передачу данных об источнике дополнительными параметрами в запросе, в этом случае они будут связаны с хитом

Добавить комментарий

Current month ye@r day *