Павел Корякин , 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

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

Хотите дальше узнавать новое про контекстную рекламу для интернет-магазинов?
Подписывайтесь на наш канал в телеграме.

Перейти на канал
Другие материалы по теме
Основные стратегии Яндекс.Директа 2023 для управления рекламными кампаниями
Основные стратегии Яндекс.Директа 2023 для управления рекламными кампаниями
Лучшая стратегия — та, которая решает задачи бизнеса. Если верно поставить цели и определиться с KPI, настроить рекламу будет проще.
5 типичных проблем в контексте, которые мы видим у 90% клиентов
5 типичных проблем в контексте, которые мы видим у 90% клиентов
Мы провели аудит более чем для 100 интернет-магазинов и постоянно видим одни и те же ошибки. Например, клиент хочет масштабироваться, поднимает бюджет — и реклама начинает работать в минус.
За 2 года подняли контекст с минусов до 330 тысяч ₽/месяц магазину тканей, хотя Google ушел и автостратегии не работали
За 2 года подняли контекст с минусов до 330 тысяч ₽/месяц магазину тканей, хотя Google ушел и автостратегии не работали
Какие инструменты использовали, какие гипотезы тестировали, чем компенсировали уход Google из России и почему не для всех подходят автостратегии и товарные площадки.
Пакетные стратегии в Яндекс Директ: для чего нужны и как настроить
Пакетные стратегии в Яндекс Директ: для чего нужны и как настроить
Как работают пакетные стратегии и как их настраивать — с примерами из практики
Модели атрибуции в Яндекс Директе: как использовать в аналитике и какую выбрать при настройке рекламы
Модели атрибуции в Яндекс Директе: как использовать в аналитике и какую выбрать при настройке рекламы
Объясняем на картинках, что такое модели атрибуции в Директе и как они помогают анализировать рекламу и обучать автостратегии.
Ретаргетинг в Яндекс Директ: что это такое, какой бывает и как настроить
Ретаргетинг в Яндекс Директ: что это такое, какой бывает и как настроить
Пошаговая инструкция, как собрать аудиторию и настроить ретаркетинг на поиске и в РСЯ.
читать наш блог

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

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

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

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



Пишите на — или в Телеграмм