Передача данных о продажах из amoCRM в Google Analytics с помощью Integromat

Статья от 08.01.2020

В первую очередь, для того, чтобы передавать данные о продажах (транзакциях) в Google Analytics нужно:

  1. Настроить передачу Google ClientID (CID) посетителей сайта в Custom Dimensions счётчика Analytics.
  2. Проверить, что у вас в настройках счётчика Analytics включена Электронная торговля.
  3. В amoCRM в карточках сделки хранить CID посетителей сайта, оставивших заявку.

Что такое CID, для чего он нужен, как настроить передачу ClientID с сайта в счётчик Analytics — можно почитать в интернете. Статей на данную тему написано очень много и нет смысла их пересказывать.

Что касается amoCRM, то значение CID хранится с помощью дополнительного текстового поля в карточке Сделки.

В идеале, по всем обращениям с сайта, вне зависимости от их способа (форма, звонок, онлайн-чат, письмо), должен фиксироваться и передаваться в amoCRM и ClientId. Тогда данные аналитики будут максимально полными.

Что касается онлайн-чатов, коллтрекингов, трекинга электронной почты, то тут надо устанавливать на сайте только те сервисы, которые умеют «прокидывать» в amoCRM не только обращение клиента, но и его CID.


Немного про отправку данных о транзакциях в Google Analytics

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

Measurement Protocol позволяет отправлять необработанные данные напрямую на серверы Google Analytics посредством HTTP-запросов практически в любой среде. С помощью этого протокола разработчики могут решать следующие задачи:

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

Как работать с Measurement Protocol

Данные отправляются в виде POST-запроса на https://www.google-analytics.com/collect

Полный список параметров, которые можно использовать в запросе есть в справке от Google:

https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters?hl=ru

Сконструировать и проверить отправляемый запрос можно в специальном инструменте от Google — Hit Builder:

https://ga-dev-tools.appspot.com/hit-builder/

При отправки данных выходит конструкция такого рода:

https://www.google-analytics.com/collect?v=1&t=transaction&tid=UA-XXX-1&cid=1687150648.1556982067&tr=1234&ti=1&cu=RUB

Где:

  • &tid=UA-ХХХ-1 — номер счётчика Google Analytics
  • &cid=1687344648.1556982067 — Google Client Id
  • &tr=1234 — бюджет сделки (стоимость)
  • &ti=1 — номер сделки в amoCRM

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

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


Что такое Integromat и почему удобнее работать именно с ним

Integromat — это платформа автоматизации, позволяющая в автоматическом режиме передавать данные из одного сервиса в другой, аналог популярного Zapier.

Его основные преимущества:

  • Визуальная и понятная настройка интеграций сервисов между собой.
  • Гораздо более адекватная ценовая политика, чем у конкурирующих сервисов.
  • Неограниченное количество сценариев, состоящих из любого количества шагов. Даже на самом дешёвом платном тарифе.
  • Удобно делать отладку своих интеграций. Детально можно посмотреть какие данные откуда и куда «ходят». И где конкретно вдруг потерялись 😁

Ещё одна интересная особенность, что Integromat позволяет не только интегрировать разные приложения и сервисы между собой, но и преобразовывать передаваемые при этом данные.


Алгоритм работы интеграции amoCRM »» Google Analytics

  1. При переносе сделки в статус «Успешно реализовано» amoCRM автоматически отправляет вебхук сервису Integromat c ID этой сделки.
  2. Зная номер сделки, мы запрашиваем её подробные данные у amoCRM.
  3. Проверяем в полученных данных, что поле ClientId у сделки заполнено.
  4. Формируем POST-запрос к серверу Google Analytics с данными о продаже.

В целом, решение в интерфейсе Integromat выглядит так:


Шаг первый: Отправка вебхука из amoCRM в Integromat

Сначала в Integromat мы создаём новый сценарий, добавляем в нём первый модуль Webhooks и формируем адрес для приёма данных из amoCRM.

Затем идём в amoCRM и в настройках нужной воронки на этапе «Успешно реализовано» добавляем отправку Webhook.

Проверяем отправку и приём вебхуков. Запускаем сценарий в Integromat в тестовом режиме.

А в amoCRM передвигаем одну из сделок с заполненным ClientID в этап «Успешно реализовано». Если всё в порядке, то в сплывающем окне с логами Integromat-а мы увидим что-то наподобие такого:

В самом модуле Webhooks можно будет посмотреть подробную информацию о том, какие данные мы в итоге получили из amoCRM.

Видим, что ID сделки получен.


Шаг второй: запрашиваем подробные данные по сделке

Добавляем в Integromat новый модуль amoCRM и выбираем в нём, что нам требуется «Get Leads» или «Get Lead Info». И в том и в другом варианте мы сможем запросить информацию по конкретной сделке.

Сразу при добавлении модуля вам потребуется настроить соединение с amoCRM. Надо выбрать вид соединения «AmoCRM OAuth 2.0» и указать ваш адрес в amoCRM.

После этого нам нужно в поле Lead ID передать значение с номером сделки, которые мы получили в результате работы 1-го модуля Webhooks.

В большинстве случаев, при щелчке в поле появляется всплывающее окно, в котором мы можем быстро выбрать нужную переменную.

Если всплывающее окно не появляется, то нужно активировать переключатель «map» рядом с полем.

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


Шаг третий: проверяем наличие CID в данных сделки

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

Если всё правильно настроено в amoCRM, то в Integromat и так будут отправляться данные только тех сделок, в которых есть Google Client Id.

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

И так, сначала добавляем новый модуль «HTTP — Make a request».

После этого кликаем по линии между модулями «amoCRM» и «HTTP», появится всплывающее окно с фильтром.

В условии фильтра указываем, что в поле Google Client Id существует какое-то значение.

Как конкретно будет называться данное поле зависит от настроек вашей amoCRM. В любом случае, оно будет находиться внутри группы Custom Fields.


Шаг четвёртый: формируем и отправляем POST-запрос в Google Analytics

При щелчке по модулю «HTTP» появится всплывающее окно, в котором надо указать:

  1. В поле URL — https://www.google-analytics.com/collect
  2. В поле Method — выбираем POST.
  3. В поле Body type — выбираем Application/x-www-form-urlencoded
  4. В разделе Fields мы конструируем запрос по примеру, который приводили в начале статьи:
https://www.google-analytics.com/collect?v=1&t=transaction&tid=UA-XXX-1&cid=1687150648.1556982067&tr=1234&ti=1&cu=RUB

При этом, значения «v», «t», «tid», «cu» мы указываем вручную, т.к. они никогда не меняются.

А значения «cid», «tr» и «ti» выбираем из списка предложенных Integromat-ом переменных. У нас будет возможность посмотреть какие данные по сделке мы получили на втором шаге и из них указать нужные.


Активируем сценарий и проводим окончательную проверку

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

После этого в amoCRM переводим на этап «Успешно реализовано» несколько сделок, в которых есть заполненное поле с CID и пару сделок без него. Обязательно запишите какие конкретно сделки вы перемещали.

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

Часик гуляем :0) Затем:

  1. В интерфейсе Integromat смотрим не выскочило ли у нас каких-то уведомлений об ошибках.
    В самом сценарии по подсказкам у нас должно быть видно сколько раз он сработал. По идее, количество сработок должно совпадать с количеством сделок с CID. Значит, amoCRM правильно отправляет данные.
  2. В счётчике Google Analytics смотрим отчёт: Конверсии »» Электронная торговля »» Эффективность продаж.

Если всё в порядке, то мы увидим что-то наподобие:

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

Проверяем что все сделки у нас отобразились в отчёте Analytics и данные с номером сделки и бюджетом совпадают.


Итоги

У одного из наших клиентов данное решение работает уже больше года и за это время ни разу не дало сбоя. В среднем в месяц отправляются данные по 200-300 транзакциям.

Примечательно, что при таком количестве сделок (продаж) мы укладываемся в лимиты бесплатного тарифа Integromat. Впрочем, даже если придётся переходить на платный тариф, то цена вопроса всего 9 USD.