Павел Корякин , 28 Марта 2018

Сквозная аналитика бесплатно за 20 минут: Google Sheets + Google Analytics + Zapier

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


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


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

Агентство — внедряйте 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:

Колонка Вебхук
Источник лида  Звонок (это константа)
Дата Date
Имя
Контакт Caller
Email  
Google Client ID  google_client_id
Источник marker
URL landing_page
Выручка  
Статус сделки  
Качество лида  
Комментарий (если есть)  

Все, теперь 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

Сквозная-аналитика

Подпишитесь на Facebook или Телеграмм, чтобы не пропустить новые статьи

Разделяешь наш подход? Вступай в команду!
Другие материалы по теме
Ошибка при внедрении автостратегий Яндекс ВИДЕО
Ошибка при внедрении автостратегий Яндекс
После успешного применения автоматической стратегии на небольшом проекте решили сделать то же на еще одном интернет-магазине, но допустили серьезную ошибку.
Перевод РСЯ на автоматические стратегии ВИДЕО
Перевод РСЯ на автоматические стратегии
Перевели РСЯ кампанию на автоматические стратегии. Рассказываем о нюансах настройки и даем свои рекомендации.
Как популярность бренда и уровень жизни влияют на конверсию интернет-магазина ВИДЕО
Как популярность бренда и уровень жизни влияют на конверсию интернет-магазина
На примере одного из наших клиентов показываем как популярность бренда и зарплаты в регионах влияют на конверсию сайта.
Визуализация данных Яндекс Директ в PBI HOWTO
Визуализация данных Яндекс Директ в PBI
В предыдущей статье мы рассказали как выгрузить данные из Яндекс Директ с помощью Python в CSV таблицу. Теперь построим на этих данных красивый и полезный отчет.
Интеграция клиента и агентства HOWTO
Интеграция клиента и агентства
В статье расскажем, как происходит интеграция клиента и агентства, и как выстраиваются коммуникации.
Выгрузка данных из API Яндекс Директ через Python HOWTO
Выгрузка данных из API Яндекс Директ через Python
Рассказываем как выгрузили 30 млн. строк данных для последующего анализа в Power BI.
читать наш блог

Оставьте заявку

После того, как вы оставите заявку: интервью ~15 минут → гостевые доступы для аудита ~15 минут → аудит в течении 2-х дней → согласование предложения → начало первой итерации. По нашему опыту реально начать что-то делать уже через 2-3 дня.

Менеджер проектов Александр
Александр

Менеджер проектов



Пишите на — info@1jam.ru , звоните в скайпе — jam.agency , или по телефону — 8 (800) 551-85-03