Передача данных о продажах из amoCRM в Google Analytics с помощью Integromat
В первую очередь, для того, чтобы передавать данные о продажах (транзакциях) в Google Analytics нужно:
- Настроить передачу Google ClientID (CID) посетителей сайта в Custom Dimensions счётчика Analytics.
- Проверить, что у вас в настройках счётчика Analytics включена Электронная торговля.
- В 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
- При переносе сделки в статус «Успешно реализовано» amoCRM автоматически отправляет вебхук сервису Integromat c ID этой сделки.
- Зная номер сделки, мы запрашиваем её подробные данные у amoCRM.
- Проверяем в полученных данных, что поле ClientId у сделки заполнено.
- Формируем POST-запрос к серверу Google Analytics с данными о продаже.
В целом, решение в интерфейсе Integromat выглядит так:
Шаг первый: Отправка вебхука из amoCRM в Integromat
Сначала в Integromat мы создаём новый сценарий, добавляем в нём первый модуль Webhooks и формируем адрес для приёма данных из amoCRM.
Затем идём в amoCRM и в настройках нужной воронки на этапе «Успешно реализовано» добавляем отправку Webhook.
Проверяем отправку и приём вебхуков. Запускаем сценарий в Integromat в тестовом режиме.
А в amoCRM передвигаем одну из сделок с заполненным ClientID в этап «Успешно реализовано». Если всё в порядке, то в сплывающем окне с логами Integromat-а мы увидим что-то наподобие такого:
В самом модуле Webhooks можно будет посмотреть подробную информацию о том, какие данные мы в итоге получили из amoCRM.
Шаг второй: запрашиваем подробные данные по сделке
Добавляем в 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» появится всплывающее окно, в котором надо указать:
- В поле URL — https://www.google-analytics.com/collect
- В поле Method — выбираем POST.
- В поле Body type — выбираем Application/x-www-form-urlencoded
- В разделе 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 есть ограничения по скорости срабатывания сценария.
- В интерфейсе Integromat смотрим не выскочило ли у нас каких-то уведомлений об ошибках.
В самом сценарии по подсказкам у нас должно быть видно сколько раз он сработал. По идее, количество сработок должно совпадать с количеством сделок с CID. Значит, amoCRM правильно отправляет данные. - В счётчике Google Analytics смотрим отчёт: Конверсии »» Электронная торговля »» Эффективность продаж.
Если всё в порядке, то мы увидим что-то наподобие:
Данные в отчётах по электронной торговле появляются с опозданием, так что может придётся «погулять» и побольше часа.
Проверяем что все сделки у нас отобразились в отчёте Analytics и данные с номером сделки и бюджетом совпадают.
Итоги
У одного из наших клиентов данное решение работает уже больше года и за это время ни разу не дало сбоя. В среднем в месяц отправляются данные по 200-300 транзакциям.
Примечательно, что при таком количестве сделок (продаж) мы укладываемся в лимиты бесплатного тарифа Integromat. Впрочем, даже если придётся переходить на платный тариф, то цена вопроса всего 9 USD.