Решение для объединения данных Google Analytics и amoCRM
Здравствуйте, меня зовут Жданов Андрей и вместе со своей командой #Zhdanov , я занимаюсь веб-аналитикой на базе сервиса myBI Connect. К предстоящему Хакатону коллеги предложили рассказать о том, как можно связывать данные CRM (на примере amoCRM) и Google Analytics для получения максимально детальных сведений.
Многие конструкторы и скрипты передачи заявок позволяют передать utm-метки в соответствующие поля CRM. Мы хотим пойти дальше, а именно - организовать сбор данных для последующего анализа отдельных визитов пользователей, поиска визитов, которые привели к целевым действиям на сайте и построению различных моделей атрибуции.
Итак начнем. Основой для связи данных Google Analytics и amoCRM является уникальный идентификатор пользователя Client ID, который создает Google Analytics для каждого посетителя сайта. Но если просто передать один Client ID в CRM систему:
то мы узнаем пользователя, но не cможем сказать, какой именно из его визитов привел к целевым действиям - заполнению формы на сайте, звонку или сообщению. Для этого существует возможность использовать еще один идентификатор, называемый идентификатор заявки. Идентификатор заявки, это уникальный номер, который генерируется на сайте в момент выполнения целевого действия пользователя (в нашем случае, заполнение заявки на сайте). Данный идентификатор одновременно отправляется в CRM систему в качестве дополнительного поля в сделку или контакт:
а также в Google Analytics в качестве события. Данное событие можно идентифицировать по категории и действию, к примеру:
- Заявка - категория;
- Получена - действие;
- Идентификатор заявки - ярлык.
В результате мы получаем один и тот же идентификатор, проброшенный между двумя системами, который позволяет определить как конкретную заявку в CRM, так и сессию, в течении которой эта заявка была оставлена.
Давайте посмотрим как это выглядит на практике. Для этого настроим источники данных в myBI Connect и соберем модель данных для отчета в Power BI.
При подключении источника amoCRM нам надо создать 2 пользовательских поля для хранения Client ID и идентификатора заявки. Это не обязательное действие, сервис myBI Connect позволяет выгрузить все дополнительные поля в отдельной таблице, но заполнив данные поля мы получим их уже в самой таблице сделок.
Далее мы создаем необходимые пользовательские поля в самом Google Analytics и прописываем их в источнике Google Analytics. Галочка “Загружать сведения” по событиям позволит дополнить выгрузку соответствующими данными:
На этом настройка источников будет закончена. Мы подразумеваем, что скрипт по сбору и отправке Client ID и ID заявки на сайте уже настроен и работает.
Теперь можно собирать модель данных в Power BI.
Модель данных будет состоять из нескольких блоков. Первый блок, это amoCRM. Главной таблицей будет таблица “AMO Сделки”, которая тянет за собой пару справочников “AMO Параметры сделок”, “AMO Дополнительные параметры сделок” и таблицы для контактов - “АМО Контакты”, “АМО Дополнительные параметры контактов”, “Амо Параметры Контактов”.
В данном примере нам больше ничего не будет нужно, но для дополнительной аналитики сервис myBI Connect позволяет выгрузить много разной информации из amoCRM:
- задачи
- компании
- примечания сделок, контактов, компаний, задач
Второй блок нашей модели данных, это данные из Google Analytics. Меня интересуют таблицы:
- “GA Посещения сайта”
- “GA Достигнутые события”
- “GA Достигнутые цели”
и связанные с ними справочники:
- “GA Параметры устройств”
- “GA Параметры событий”
- “GA Параметры целей”
Третий блок нашей модели данных, это общие справочники. Преимущество сервиса myBI Connect в том, что подключив разные источники мы получим общие справочники для них, такие как “SHD Параметры дат” (календарь), “SHD Параметры трафика” (UTM-метки), “SHD Параметры сайтов” (доменные имена), “SHD Параметры посетителей” (Client ID).
Именно справочники являются связующим звеном между таблицами фактов из различных источников. Данные справочники формируются автоматически в момент подключения и загрузки источников в сервисе myBI Connect.
Отдельно нам нужно самостоятельно сформировать собственный справочник “GA Заявки с сайта”:
“GA Заявки с сайта” это копия таблицы “GA Достигнутые события” с фильтрами:
- “GA Параметры событий.Категория события” = “Заявка”
- “GA Параметры событий.Действие события” = “Получена”
Это позволяет по Идентификатору заявки связать таблицы фактов amoCRM с таблицами Google Analytics через общие справочники и узнать всю информацию по данной заявке - UTM метку, доменное имя, устройство пользователя, его сессию и т.д.
Построив модель данных предлагаю заняться их изучением. Давайте посмотрим, какие данные мы можем получить из amoCRM и Google Analytics.
Простая таблица сделок выглядит следующим образом:
Мы знаем Воронку, Статус сделки, Дату создания, Контакт, Уникальный идентификатор посетителя сайта и идентификатор заявки (позволяет определить конкретный визит пользователя, приведший к заполнению формы на сайте).
Данные в Google Analytics представляют собой следующий вид:
Мы знаем идентификатор заявки, пользователя и источники трафика, откуда он пришел, количество сессий, долю отказов и продолжительность сессии.
Напомню, что сейчас данные amoCRM и Google Analytics у нас уже связаны общим календарем и общими справочниками “SHD Параметры трафика”, “SHD Параметры местоположений” и другими через идентификатор заявки и идентификатор посетителя сайта. В результате такой связи мы можем ответить на вопрос, с каких источников трафика пришел пользователь который оставил заявку. С какого сайта была создана заявка и с какого типа устройства. Сколько у пользователя было визитов, какой процент отказов и времени на сайте провел этот пользователь.
Например на рисунке ниже, мы видим что сделка была создана 06.11.2019, заявка была создана на странице сайта connect.mybi.ru, куда посетитель перешел из социальной сети Facebook по рекламной кампании announcemet. Этот визит был одиночным и занял по времени 211 секунд, был использован смартфон, а не персональный компьютер.
Таким образом, путем не самых сложных манипуляций мы в компании BI Analytics c помощью сервиса myBi Connect подготавливаем модель данных для последующего изучения и построения сквозной аналитики по разным моделям атрибуции, с разными уровнем детализации и объединением данных из различных источников. Вот пример более крупной модели, которая объединят в себе полный спектр данных amoCRM, а также данные из Яндекс Директ:
Далее в нашем цикле статей мы детально рассмотрим все составляющие такой модели и что нужно сделать, чтобы собрать такую модель самостоятельно.
-
Здравствуйте!
"“GA Заявки с сайта” это копия таблицы “GA Достигнутые события” с фильтрами:
- “GA Параметры событий.Категория события” = “Заявка”
- “GA Параметры событий.Действие события” = “Получена” "
Подскажите пожалуйста, как будет выглядеть функция наложения данных фильтров на таблицу.
-
Коллеги, в данном случае было реализовано через Power Query редактор, где просто правой кнопкой мыши щелкаешь на таблицу и нажимаешь Дублировать. Потом накладываешь фильтры через столбцы
Хотя да, можно сделать через Dax формулы, вот примерно так это делается:
Table = SUMMARIZE ( 'Table1', 'Table1'[project Code], 'Table1'[last_name], "Budget approved", CALCULATE ( FIRSTNONBLANK ( 'Table1'[actual_date], 1 ), FILTER ( 'Table1', 'Table1'[milestone_name] = "Budget approved" ) ) )
-
Здравствуйте! Мне кажется, что в статье допущена опечатка:
"“GA Заявки с сайта” это копия таблицы “GA Достигнутые события” с фильтрами:
- “GA Параметры событий.Категория события” = “Заявка”
- “GA Параметры событий.Действие события” = “Получена” "
Должно быть указана не таблица “GA Достигнутые события”, а таблица “GA Параметры событий”. Тогда действительно можно наложить на столбцы фильтр таким образом. И в таблице "GA Достигнутые события" нет "Идентификатора заявки", а в таблице “GA Параметры событий” есть столбец "Метка события", которая имеет похожие значения в таблице "АМО Параметры сделок" в столбце "Идентификатор заявки" (Возможно это так только в базе "Хакатона" )
-
Артем, нет опечатки нет, просто использовали SQL запрос для формирования этой таблицы на лету в Power Query,где провели соединение 2 таблиц “GA Достигнутые события” и “GA Параметры событий”. Вам рекомендую проделать тоже самое в графическом редакторе Power Query, где к таблице GA Достигнутые события” присоедините таблицу “GA Параметры событий”, потом наложите фильтры на “GA Параметры событий.Категория события” и “GA Параметры событий.Действие события”, а далее скопируйте данную таблицу в “GA Заявки с сайта”.
select
[GA Параметры событий].[Метка события] as [Идентификатор заявки],
[GA Достигнутые события].[Идентификатор сайта],
[GA Достигнутые события].[Идентификатор клиента],
[GA Достигнутые события].[Идентификатор типа устройства],
[GA Достигнутые события].[Идентификатор источника трафика],
[GA Достигнутые события].[Идентификатор местоположения]
from
[GA Параметры событий],
[GA Достигнутые события]
where
[GA Параметры событий].[Категория события] = 'Заявка'
and [GA Параметры событий].[Действие события] = 'Получена'
and [GA Достигнутые события].[Идентификатор события] = [GA Параметры событий].[Идентификатор события] -
1. Подскажите, пожалуйста по этой части:
"Для этого существует возможность использовать еще один идентификатор, называемый идентификатор заявки. Идентификатор заявки, это уникальный номер, который генерируется на сайте в момент выполнения целевого действия пользователя (в нашем случае, заполнение заявки на сайте)"
Подскажите код какой системы его генерирует? amoCRM?
2. И зачем вот это делать?
"Далее мы создаем необходимые пользовательские поля в самом Google Analytics и прописываем их в источнике Google Analytics."
-
Почему нельзя сделать проще, без всех манипуляций с созданием таблицы "GA Заявки с сайта",
если просто не соединить "AMO Дополнительные параметры сделки" с "SHD Параметры посетителей" (по clientID)
Вот так - http://joxi.ru/bmo4K6kU3VlZ02
-
Ярослав, здравствуйте.
1. Идентификатор заявки генерирует скрипт на сайте. Он самописный, одновременно передает данные и в amoCRM и в Google Analytics. Возможно MyBI нам в будущем даст возможность посмотреть на этот скрипт.
2. По этому поводу в сервисе myBI есть инструкция https://support.mybi.ru/hc/ru/articles/360001705198-%D0%9F%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B0-Client-ID-%D0%B2-Google-Analytics-%D0%B2-%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D0%B3%D0%BE-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0
Дело в том, что по умолчанию Google Analytics таких данных не собирает.
-
Ярослав, относительно вашего последнего комментария. Консультировался с техническим директором MyBI Connect, его ответ:
"Да, у нас была в одном из отчетов подобная реализация, но это неправильно. Основная причина в том, что Client ID идентифицирует пользователя, а не конкретную его сессию, поэтому если их было несколько то однозначно определить в течении которой была оставлена заявка будет невозможно.
В случае данных хакатона это не очень показательно, так как пользователи в основном не посещают страничку хакатона несколько раз прежде чем оставить заявку, но на практике одной лишь связи по Client ID не достаточно."
Войдите в службу, чтобы оставить комментарий.
Комментарии
Комментариев: 8