В предыдущей статье мы настраивали интеграцию с CallTouch и говорили о том, что для использования более функциональной интеграции необходимо подключить и настроить интеграцию с Google Analytics. К слову данная интеграция будет полезна вам и в дальнейшем и принесет массу плюсов.

Как в retailCRM будет использоваться интеграция:

  1. Для построения аналитических отчетов, объединяющих данные из системы и web-аналитики
  2. Для роста дохода с каждого клиента и посетителя за счет персонализации и учета поведенческих характеристик клиента

Чем вам будет это полезно?

Представим ситуацию первую:

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

Так же вы можете:

  • Отправлять SMS
  • Создавать уведомления для менеджеров
  • Автоматически создавать исходящие телефонные вызовы
  • Изменять любые данные по клиенту или заказу
  • Автоматически создавать задачу на менеджера (к примеру связь с клиентом)

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

Добавляем сайт в Google Analytics

Для регистрации вашего сайта в Google Analytics вам нужно завести аккаунт Google.

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

Теперь создадим аккаунт Universal Analytics.

Universal Analytics — это настраиваемый функционал для Google Analytics.

Google советует создавать для каждого сайта отдельные аккаунты Universal Analytics.

Если аккаунт Universal Analytics уже имеется, вам необходимо сразу перейти к пункту Настройка отслеживания электронной торговли аккаунта Universal Analytics.

Если аккаунт отсутствует необходимо его создать в Google Analytics. Нажимаем на кнопку « Зарегистрироваться» и заполняем все необходимые пункты. Для того чтобы добавить дополнительные аккаунт Universal Analytics, далее переходим в раздел «Администратор». В верхней части страницы вы увидите надпись: «Создать новый аккаунт» нажмите на нее.

Создаем аккаунт Universal Analytics:

  1. Выберите. что хотите отслеживать: Web-сайт или мобильное приложение (IOS, android)
  2. Напишите название вашего сайта URL
  3. Укажите определенные направления бизнеса вашего сайта
  4. Выберете часовой пояс, по этому времени будут отслеживаться дни в отчетах
  5. Придумайте и укажите название нового аккаунта
  6. Укажите необходимые настройки доступа к данным
  7. Нажмите на кнопку «Получить идентификатор отслеживания».

Как только вы создадите аккаунт Universal Analytics вас автоматически переведут на страницу вашего профиля Google Analytics. Там будет название вашего сайта, номер аккаунта формата (UA-XXXXXXXX-X). Данный код является уникальным для каждого вашего ресурса, который вы желаете отслеживать.

Настраиваем отслеживание электронной торговли.

Следующим этапом настройки Universal Analytics, является настройка отслеживания электронной торговли.

Обратите внимание! Загрузка из Google Analytics не выполняется в демо-версии системы.

Настройка Google Analytics

Для подключения отслеживания электронной торговли в Google Analytics, необходимо произвести следующие шаги:

  1. Зайти в раздел «Администратор»
  2. В столбце «Представление» необходимо нажать «Настройка представления»
  3. В пункте «Настройки электронной торговли» нажмите на кнопку «Отслеживание электронной торговли»
  4. Далее сохраняем настройки нажимая на кнопку «Применить».

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

Код отслеживания Universal Analytics

Код отслеживания — это скрипт, написанный на языке Javascript. Благодаря скрипту все данные о действиях посетителей будут отправляться в Google Analytics.

Для получения данного кода необходимо:

  1. В верхней части страницы перейти в раздел «Администратор»
  2. В столбце «Ресурс» нажать на «Код отслеживания».

Вам выведется следующий код:

<script type="text/javascript">
 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
 })(window,document,'script','//<a href="http://www.google-analytics.com/analytics.js">www.google-analytics.com/analytics.js</a>','ga');
 ga('create', 'UA-XXXXXXXX-X', 'example.com');
 ga('send', 'pageview');
</script>

Необходимо скопировать из Universal Analytics ваш личный код отслеживания. Примерно такой формы с вашим личным номером отслеживания ( UA-XXXXXXXX-X).

Настройка сайта.

Следующим шагом необходимо добавить код отслеживания на страницы вашего сайта. В этом вам помогут клавиши (Ctrl + C (скопировать) Ctrl + V(вставить)). Вставить код нужно перед закрывающимся тегом .

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

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

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

Нужно модифицировать код отслеживания Universal Analytics как представлено ниже:

<script type="text/javascript">
 ...
 ga('send', 'pageview'); // здесь оканчивается немодифицированный код отслеживания. Добавляем следующие команды:
 ga('require', 'ecommerce', 'ecommerce.js'); // функция, которая подключает модуль электронной торговли. 
 ga('ecommerce:addTransaction', {
 'id': '1234', // ID транзакции
 'affiliation': 'example.com', // Название магазина
 'revenue': '1500', // Общая стоимость заказа
 'shipping': '250', // Стоимость доставки
 'tax': '' // Налог
 });
 // метод addItem нужно вызвать для каждого товара (позиции) в заказе:
 ga('ecommerce:addItem', {
 'id': '1234', // ID транзакции
 'name': 'Mouse Logitech', // Название товара
 'sku': 'AAA000', // Артикул или SKU
 'category': 'Wireless', // Размер, модель, категория или еще какая-то информация
 'price': '750', // Стоимость товара
 'quantity': '2' // Количество товара
 });
 ga('ecommerce:send'); // Отправка данных
</script>

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

Давайте подробно разберем, что за функции в коде:

ga(‘require’, ‘ecommerce’, ‘ecommerce.js’); — эта функция подключает модуль электронной торговли.

ga(‘ecommerce:addTransaction’, — эта функция передает всю информацию о заказе.

Поля которые, мы передаем в функцию:

ID транзакции — это обязательный параметр, в нем указывается идентификатор заказа к примеру: “174695”.

Affiliation — строка, является необязательным параметром, тут хранится название магазина.

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

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

Tax — число, является необязательным параметром, тут хранятся данные о размере налога.

ga(‘ecommerce:addItem’, — эта функция передает всю информацию о товарах заказа.

Поля, которые необходимо передать в функцию:

ID транзакции — является обязательным параметром, здесь располагается идентификатор заказа.

Name — является обязательным параметром, здесь располагается наименование товара.

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

Category — так же является необязательным параметром, здесь хранится категория товара.

Price — данный параметр является необязательным, здесь хранится информация о стоимости товара.

Quantity — данный параметр является необязательным, здесь располагается информация о количестве товара.

ga(‘ecommerce:send’); — эта функция, отвечает за подтверждение отправленных данных.

Интеграция с retailCRM

Обратите внимание! Вся информация о выгрузке заказов из интернет-магазина в retailCRM осуществляется с стороны сайта вашего магазина. Для настройки выгрузки обратитесь к разработку сайта или web-мастеру REST API.

Выгружаемые заказы содержат в себе:

  1. Внешний ID (externalId)
  2. Внутренний ID (id)
  3. Номер заказа (number)

Из вашего интернет-магазина в Google Analytics данные выгружаются со стороны клиента. Это значит, что данные выгружаются с компьютера посетителя интернет-магазина.

Выгружаемые данные состоят из двух частей:

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

Вторая. Транзакции, содержат информацию о заказах.

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

Все транзакции имеют уникальный идентификационный номер «ID транзакции». Он должен соответствовать внешнему или внутреннему ID, или номеру заказа данных, выгружаемых в retailCRM. Все это необходимо для связи данных транзакций Google Analytics с данными внутри системы.

Для успешной интеграции системы и вашего аккаунта Universal Analytics нужно в точности следовать шагам писанных ниже:

Шаг первый.

Необходимо получить идентификатор представления интернет-магазина в Google Analytics. Чтобы это сделать необходимо в Google Analytics перейти в раздел «Администратор -> Настройки представления и скопировать -> Идентификатор представления».

Второй шаг. В retailCRM нужно зайти в раздел: «Администрирование -> Интеграция».

Шаг третий. Нужно выбрать интеграцию с Universal Analytics. Чтобы активировать интеграцию поставьте галочку.

Шаг четвертый. Необходимо указать, каким данным выгружающимся из интернет-магазина в систему, соответствует ID транзакции.

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

Шаг пятый. Необходимо добавить пользовательский параметр, который используется для хранения данных.

В Universal Analytics — custom dimension является пользовательским параметром. Необходимо перейти в раздел: «Администратор -> Ресурс -> Пользовательские определения -> Пользовательские параметры». Там выбрать параметр retailCRMVisitorID. У него будет номер индекса, который нужно запомнить.

Необходимо указать идентификатор профиля/представления Universal Analytics.

Шестой шаг.
Помимо идентификатора профиля/представления Universal Analytics, при настройке интеграции необходимо ввести номер индекса, который появится лишь при добавлении пользовательского параметра.

Обратите внимание! Активная галочка «Переводить распространенные имена источников и каналов» позволит отображать источники и каналы.

Седьмой шаг. Необходимо скопировать имя пользователя системы. Речь идет о роботе, который собирает данные из Google Analytics для retailCRM.

Восьмой шаг. Необходимо добавить пользователя в аккаунт Universal Analytics. Для этого нужно в Google Analytics перейти в раздел: «Администратор -> Аккаунт -> Управление пользователями». Такой пользователь должен обладать правами «Читать и анализировать».

Девятый шаг. Нужно добавить код счетчика в Universal Analytics

/**
 * Get cookie value by name. retailCRM integration with Universal Analytics uses it.
 * Name should match pattern [a-zA-Z0-9_]+
 *
 * @param string name
 *
 * @return mixed
**/
function getRetailCrmCookie(name) {
 var matches = document.cookie.match(new RegExp(
 '(?:^|; )' + name + '=([^;]*)'
 ));
 return matches ? decodeURIComponent(matches[1]) : '';
}
ga('set', 'dimension1', getRetailCrmCookie('_ga'));

Вставить код необходимо перед ga(‘send’, ‘pageview’); в коде отслеживания на все страницы вашего сайта.

Обратите внимание! В последней строке добавляемого кода, ga(‘set’, ‘dimension1’, getRetailCrmCookie(‘_ga’));, единицу в конце dimension1 нужно заменить на индекс пользовательского параметра в случае, если он не равен 1.

Google Analytics идентифицирует посетителей сайта за счет временных файлов — cookie, которые хранятся в персональном компьютере у пользователя. Один из которых содержит уникальную метку пользователя. Скрипт, который добавляется в код отслеживания, читает уникальную метку и после этого отправляет это значение в Google Analytics, где она сохраняется в пользовательской переменной (Client ID в Universal Analytics).

Cookie _ga содержит уникальный идентификатор в формате GA1.2.XXXXXXX.YYYYYY, например, GA1.2.1129978185.1425645525, где саму метку составляет только значение 1129978185.1425645525 (clientId). В retailCRM можно передавать как полное значение cookie, так и только clientID без префикса.

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

  • Источников
  • Визитов
  • Событий воронки

Выгрузка данных из retailCRM в Google Analytics

У интеграции есть возможность передавать из retailCRM в Google Analytics информацию по офлайн-заказам. Для этого нужно в блоке «Способы оформления для выгрузки» отметить галочками все способы оформления заказов, информацию о которых нужно передавать в Google Analytics. С помощью активной/не активной галочки «Не выгружать заказы без товаров» можно установить выгрузку заказов, в составе которых отсутствуют товары.

Во время совершения заказа, у клиентов известен Client ID, с периодичностью раз в 2 часа данные передаются на аккаунт Universal Analytics, офлайн-транзакции выгружаются только по тем клиентам, чьи Client ID знает система, т.е. клиент должен до этого сделать хотя бы один заказ или заявку через сайт.

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

Чем еще полезен Client ID клиента

Какие встречаются сценарии использования:

  1. При совместной интеграции с CallTouch. Заказ оформляется по телефону, при этом CallTouch через свои системы передает некоторые данные (Client ID, источник) в системе, и мы отправляем их в Universal Analytics.
  2. С помощью Client ID осуществляется стандартная интеграция с Universal Analytics. Если в системе есть Client ID клиента, полученный из Universal Analytics после получения нового заказа от этого клиента он создается по телефону, а благодаря знанию Client ID мы можем отправить его в Universal Analytics, как если бы он был создан на сайте.

Во примере не имеет значения, откуда был получен Client ID - из Google Analytics или из первого случая.

Если Client ID пришел к клиенту не из Universal Analytics, а, например, из CallTouch, то при очередной загрузке данных из Universal Analytics система попробует подтянуть данные по этому клиенту.

Загружка в Google Analytics

Такая настройка помогает указать, насколько давние записи будут считываться при загрузке за более короткий срок. Это нужно для аккаунтов Universal Analytics с большими нагрузками, данные в которые попадают с запозданием.

Для того чтобы активировать данную настройку нужно проделать следующие шаги: «Администрирование -> Интеграция -> Universal Analytics». В поле «Запаздывание данных» выставите необходимое время считывания.

Настройки интеграции с InSales

InSales – это самая удобная CMS для интеграции для настройки клиентского сайта. Чтобы реализовать интеграцию необходимо зайти в раздел «Настройки». Код отслеживания добавляется в поле javascript-код для вывода на всех страницах магазина. Ниже привожу пример (во всех примерах UA-XXXXXXXX-X необходимо заменить ваш идентификатор):

<script>
 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
 })(window,document,'script','//<a href="http://www.google-analytics.com/analytics.js">www.google-analytics.com/analytics.js</a>','ga');
 ga('create', 'UA-XXXXXXXX-X', 'auto');
 function getCookie(name) {
 var matches = document.cookie.match(new RegExp(
 "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" 
 ));
 return matches ? decodeURIComponent(matches[1]) : "";
 }
 ga('set', 'dimension1', getCookie("_ga"));
 ga('send', 'pageview');
</script>

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

Пример приведен ниже:

<script>
 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
 })(window,document,'script','//<a href="http://www.google-analytics.com/analytics.js">www.google-analytics.com/analytics.js</a>','ga');
 ga('create', 'UA-XXXXXXXX-X', 'auto');
 function getCookie(name) {
 var matches = document.cookie.match(new RegExp(
 "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" 
 ));
 return matches ? decodeURIComponent(matches[1]) : "";
 }
 ga('set', 'dimension1', getCookie("_ga"));
 ga('send', 'pageview');
 // UA transaction upload code starts here
 ga('require', 'ecommerce', 'ecommerce.js');
 ga('ecommerce:addTransaction', {
 'id': ,
 'affiliation': 'site.ru', // заменить на реальное доменное имя
 'revenue': 
 });
 {% for item in order.items %}
 ga('ecommerce:addItem', {
 'id': ,
 'price': ,
 'quantity': 
 });
 {% endfor %} 
 ga('ecommerce:send');
</script>

Обратите внимание! Во время интеграции с InSales в настройке аналитики необходимо указать “Связывать транзакции через Номер заказа”, что не совпадает с настройкой по умолчанию. В настройке InSales есть также поле Код Google Analytics для анализа посетителей на сайте. Его заполнять не нужно!


Удачных продаж! :) На все вопросы всегда рад ответить тут :
hello@retailcrmguru.ru.
Буду ждать Ваших писем!

Евгений Коваленко
Создатель RetailCRMGuru


Есть вопрос по RetailCRM?
Обратись ко мне и я дам подробную консультацию!