Автор: Корякин Павел, специалист агентства контекстной рекламы 1jam.ru

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

Проблема, которую решает статья

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

Агентство: внедряйте AmoCRM, будем интегрировать с Google Analytics

Клиент: у нас нет такого объема лидов, это дорого, долго и сложно

Агентство: ок, тогда мы не можем ничего сделать

Как решает

С помощью webhook пушим лиды в Google Sheets через Zapier, а из Google Sheets пушим данные в Google Analytics с помощью того же Zapier.

Теперь поэтапно настроим все под ключ

Пробежимся по логике

Какие у нас могут быть источники лидов?

  • Формы на сайта
  • Коллтрекинг
  • Онлайн-чаты
  • Обратные звонки

У 80% сервисов есть такая функция, как webhook, например, при звонке на динамический номер, коллтрекинг отправляет данные о посетителе на URL, который мы укажем.

Какой URL нам указывать? — Нам нужен механизм, который может принять данные, выбрать из них, что нам нужно, и вставить их в Google Sheets в виде новой строки. Эту задачу выполнит сервис Zapier, будучи коннектором.

Далее нам нужен механизм, который будет проверять изменения в Google Sheets и при изменениях отправлять строки в Google Analytics.

Итого:

Источник > Zapier > Google Sheets > Zapier > Google Analytics

Логичнее всего будет начать с источников, давайте на реальном примере реализуем связку. В нашем случае в качестве источников выступает коллтрекинг Roistat и формы на сайте.

Начнем с «Источник > Zapier > Google Sheets»

Переходим на сайт zapier.com и регистрируемся, нажимаем Make a Zap!

 

После этого откроется рабочее окно, давайте разберемся в интерфейсе:

  1. Домашняя страница, где расположены все Zap’ы (далее «коннекторы»)
  2. Логика коннектора, например 1 — принимаем, 2 — вытаскиваем значения, 3 — отправляем
  3. Рабочее окно выбранной слева вкладки, сейчас нам предлагают выбрать первый виджет
  4. Активен/неактивен коннектор

Создаем коннектор для Roistat

Выбираем встроенный коннектор:

Нажимаем Catch Hook и Save + Continue:

Переходим на вкладку Set Up Webhook и копируем URL для приема вебхук, пусть пока лежит в буфере.

Переходим на Set Up Options и нажимаем  Continue:

Теперь нам предлагают сделать тестовый запрос по вебхуку, мы параллельно открываем ROIstat и переходим в настройки сценария коллтрекинга:

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

По документации ROISTAT вебхук передает следующие данные

После звонка вы увидите в Zapier, что он получил вебхук, нужно нажать Continue и сделать следующий виджет.

Задаем название для коннектора Get from ROISTAT, пока не забыли. В поиске вводим и выбираем Google Sheets

Далее во вкладке Find or Create Row выбираем Lookup Spreadsheet Row:

Далее подключаем свой аккаунт в Gmail:

Создаем у себя в Google Drive новую таблицу, где у нас будут храниться все данные и вводим названия колонок. В нашем случае это:

  • Источник лида
  • Дата
  • Имя
  • Контакт
  • Email
  • Google Client ID
  • Источник
  • URL
  • Выручка
  • Статус сделки
  • Качество лида
  • Комментарий (если есть)

Далее в Zapier во вкладке Edit Options выбираем название созданной таблицы и внутреннюю вкладку в ней:

Нужно понимать, что по коллтрекингу у нас есть повторные звонки, и было бы неправильно создавать новые лиды (строки), которые дублируют предыдущие. Для этого перед каждым добавлением строки (лида) мы по колонке Контакт (номер телефона) ищем, есть ли в ней уже такой номер телефона, который мы хотим добавить. Напомню, что номер телефона мы до этого уже получили по вебхуку.

Далее в поле Lookup Column указываем название колонки, в которой будем искать дубль, а в поле Lookup Value само значение, которое будем искать:

Далее ставим галочку на Create Google Sheets Spreadsheet Row if it doesn’t exist yet? (Хотите ли вы добавлять новую строку, если дубль не найден?)

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

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

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


Нажимаем Continue и отправляем тестовую строку Fetch & Continue:

Все, теперь Zapier предлагает нам активировать коннектор, что мы с радостью делаем. Первый коннектор готов:

Взаимодействие клиента с таблицей

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

Для этого ранее мы создали 4 колонки:

С выручкой все понятно, как сделать фиксированный набор значений, для этого создаем отдельный лист и для каждого поля делаем набор значений для выбора:

Нажимаем правой кнопкой мыши на ячейку статуса и выбираем Data validation:

Появляется окно с настройками, в нем нажимаем на табличку, чтобы выбрать значения для выбора:

Выбираем диапазон статусов:

Все, теперь у нас в поле «Статус» есть фиксированный набор:

Аналогично делаем с колонкой «Качество лида» и выбираем грейдинг лида, лучше делать это в цифрах.

Далее отправляем клиенту такую вот инструкцию по взаимодействию с таблицей.

Реализуем связку «Google Sheets > Zapier > Google Analytics»

Для этого создаем новый коннектор Make a Zap!

Задаем имя коннектора Google Sheets to Google Analytics, выбираем Google Sheets в качестве виджета, как делали ранее, но теперь выбираем не создание новой строки, а New or Updated Spreadsheet Row (Проверка новых или обновленных строк):

Выбираем аккаунт, как делали ранее, повторяться не будем, далее выбираем тот же документ на Google Drive, лист и Trigger Column (Триггер-колонка). Суть в том, что коннектор каждые 15 минут проверяет лист и смотрит  на триггер-колонку, в нашем случае, это «Статус сделки», если значение в ней изменилось, то он отправляет данные в Google Analytics.

Например, у нас был лид, мы добавили по нему статус «Продано», коннектор видит это и отправляет данные в Analytics. Ок, но как отправлять только при изменении на «Продано» и не отправлять «В обработке»?

Нужно сделать условия и фильтры:

Тестируем виджет, нажимаем Fetch & Continue, чтобы получить данные для создания следующего виджета.

В качестве следующего виджета выбираем Filter:

Выбираем Only continue if..

Выбираем в первом поле колонку «Статус сделки», далее (Text) Contains и «Продано»,

Итого у нас получается условие:

            Если у новой или обновленной строки значение в колонке Статус сделки содержит слово «Продано», то мы отправляем данные в Google Analytics, а если нет, то нечего не делаем.

Но нам нужно отправлять данные в Google Analytics в 3-х случаях: «Отказ», «Продано» и «Думают». Сейчас мы отправляем только при «Статус сделки» = «Продано», поэтому добавляем еще два условия OR на «Отказ» и «Думают».

Нажимаем Fetch & Continue и видим, что он проверил последнюю строку и говорит, что она не подходит ни под одно условие, нам так и нужно, так как у нас нет условия на статус «В обработке».

Наш следующий виджет, это Google Analytics:

Выбираем Create a Measurement:

Авторизация через аккаунт, далее выбираем ваши Account (аккаунт) и Property (сам счетчик), для Type (тип) выбираем Event Tracking:

Далее задаем параметры события:

Event Category (Категория события) — Пишем константу «Статус сделки»

Event Action (Действие события) —  Передаем значение

Event Label (Просто еще одно поле) — Передаем показатель качества лида

Event Value (Сумма, которую принесло событие) — Просто цифра, в нашем случае, мы хотим передать сумму сделки.

Custom User ID (Google Client ID) — без этого значения GA не поймет, с какого канала пришел клиент, то есть мы не сможем понять, что изначально клиент пришел с контекста.

Нажимаем Continue и Send Test To Google Analytics, важно заметить, что мы не увидим событие в Google Analytics, так как коннектор отправляет запрос в дебаг-моде, это как бы тестовый режим GA, чтобы не портить реальную статистику тестами.

В ответ мы получим такое окно, нам важно, чтобы valid было равно true, это значит, что запрос в GA валидный.

Если есть проблемы, то можно поискать их в hit, это сам запрос, который был составлен.

Активируем коннектор:

Тестируем коннектор

Меняем значение последней строки в таблице на «Продано»:

Переходим на домашнюю страницу Dashboard в Zapier и у нашего нового коннектора нажимаем Run (запустить):

Появится уведомление, что коннектор обнаружил уведомления в 2-х строках и отправил 2 события в GA:

Проверим, что GA получил эти события:

Создаем цель в GA на событие «Статус сделки» — «Продано»:

Создаем аналогичные цели для других статусов:

Формы на сайте > Google Sheets

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

Для этого ставим разработчику проекта задачу сделать webhook при отправке форм с сайта, это простая задача, которая не требует много времени.

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

  • На сайте должен быть установлен Google Analytics, чтобы передавать Google Client ID
  • По умолчанию при отправке webhook’a у нас нет источника в виде UTM-меток, откуда изначально пришел лид, поэтому мы написал небольшой скрипт на Github, который сохраняет UTM-метки первого визита посетителя в Cookie и при отправке формы можно их использовать.Скрипт можно установить на сайт через GTM в виде Custom HTML тега, либо отдать на установку разработчику проекта.
  • Перед постановкой задачи нужно создать коннектор, который будет принимать webhook разработчика и отправлять данные в Google Sheets. Лучше сразу сориентировать разработчика, какие поля и по каким формам вы хотите получать в таблицу.

Передаем формы с сайта  в Google Sheets

Процедура аналогична настройке коннектора для ROIStat, поэтому постараемся без подробных описаний. Создаем новый коннектор Make a Zap и выбираем Webhooks виджет, в нем Catch Hook:

Ссылку для приема вебхуков отдаем разработчику, нажимаем Continue и в разделе Edit Options тоже Continue, далее нам предлагают протестировать URL, для этого нужно как-то эмитировать вебхук — заходим на hurl.it

Вставляем URL в поле Destination и выбираем POST из выпадающего списка:

Далее в блоке Parameters нажимаем Add Parameters и добавляем параметры (колонки), которые мы хотим передавать, в значениях указываем тестовые значения и нажимаем Launch Request.

Ниже получаем:

Это значит, что запрос ушел и был принят, теперь в Zapier нажимаем OK, I did this:

Следующий виджет, это Google Sheets, в нем выбираем Create Spreadsheet Row:

Далее выбираем Gmail аккаунт, документ и лист внутри, как делали ранее. Во вкладке Edit Template указываем соответствие между поступающим запросом с колонками в таблице:

Далее тестируем и смотрим, как в GS появится новая строка с лидом. После того, как мы убедились, что коннектор работает, можно еще раз отправить вебхук с hurl.it

Траблшутинг

Zapier

Как тестировать запросы на URL в коннектор на предмет добавления лидов в Google Sheets

hurl.it

Невалидный запрос в GA

Копируем запрос:

Заходим на Hit Builder, вставляем запрос и нажимаем Validate hit:

Сбиваются настройки полей в коннекторах

При добавлении нового столбика все настройки сбиваются в виджетах. Можно смотреть историю работы коннекторов в Task History

Google Analytics

Как посмотреть состав событий, которые приходят в GA

Создаем отчет:

Настраиваем:

Учтите, что события в отчете будут отображаться с задержкой минут 15.

У меня аккаунт GA в долларах

Как посмотреть срабатывают ли цели в GA

Журналист, новостной редактор, работает на сайте с 2009 года. Специализация: интернет-маркетинг, SEO, поисковые системы, обзоры профильных мероприятий, отраслевые новости рунета. Языки: румынский, испанский. Кредо: Арфы нет, возьмите бубен.

6
Прокомментировать

avatar
5 Цепочка комментария
1 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
6 Авторы комментариев
Кушнеров ЮрийИван СтрамыкVladislavPavel KoryakinDenis Sobolev Авторы недавних комментариев
  Подписаться  
новее старее большинство голосов
Уведомление о
Seb
Гость
Seb

Интересно и полезно. Спасибо!

Denis Sobolev
Гость
Denis Sobolev

Подскажите, а информация по выручке со сделки не передается в GA? Реализовать подобное, только на уровне электронной коммерции возможно? Особенно интересна отмена транзакций.

Pavel Koryakin
Гость
Pavel Koryakin

Скорее всего возможно, так как через тот же Zapier можно формировать кастомные POST запросы, я еще не пробовал, но планирую.

Vladislav
Гость
Vladislav

Интеграция с Google Analytics уже не бесплатно….

Иван Страмык
Гость
Иван Страмык

Больше спасибо за такой подробный мануал! Сделал не за 20 минут, конечно 🙂 но в течении 1,5 часа вместе с настройкой вебхука с транзакциями.

Кушнеров Юрий
Гость

Добрый день
Не подскажите, столкнулся с тем, что ClientID обрезается на 2 последних цифрах, или округляется, непонятно, иногда так, иногда так… Ерунда какая-то. Где-то может настроить разрядность? Хотя передается как текстовое поле… Данные из амосрм в google analytics и в google sheets пробовали передавать через Zapir, и там и там одинаково неверные цифры…