Про digital

Конспект докладов конференции 8P 2019, часть 1: поток для PPC-специалистов

В субботу прошла самая летняя конференция по интернет-маркетингу 8Р. А мы уже спешим поделиться с вами полезными докладами, как и в прошлые годы. Читайте, как использовать Google Таблицы для нужд специалистов по контекстной рекламе и веб-аналитике, по каким показателям лучше судить об эффективности кампаний и какие продвинутые метрики для этого существуют.

Как PPC-специалисту полюбить Google Sheets и получить взаимность

Андрей Осипов, веб-аналитик, лектор в Школе веб-аналитики

Google Таблицы подходят для бизнеса любого масштаба. Их можно использовать, даже если на проекте всего один маркетолог и есть повторяющиеся задачи, которые нужно автоматизировать. Это можно сделать с помощью Google Scripts. Я последнее время написал много решений на его базе и о некоторых из них сегодня расскажу.

Google Таблицы или Google Spreadsheets — это текстовый продукт, как и Excel. Но в отличие от последнего, у него есть дополнительные плюсы:

  • хорошо интегрирован с другими сервисами Google; 
  • возможности для расширения функционала; 
  • готовые аддоны; 
  • возможность написать собственный код, который будет решать важные для вас задачи.

Полезная статья по теме — «Базовые советы для удобной работы в Google Spreadsheets»

Что можно делать с помощью Google Таблиц

  1. Автоматически выгружать данные из Google Analytics или других систем и загружать в таблицы — есть готовые механизмы, которые позволяют это сделать.
  2. Стриминг конверсий и пользовательских данных из GTM в Google Таблицы. Для этого я написал решение, которое позволяет из Google Analytics. Вам не нужны базы данных, дополнительные системы, и это бесплатно.
  3. Отправка данных из Google Таблиц в Google Analytics. Это позволяет сделать что-то простое, типа CRM или сквозной аналитики и управлять заказами.
  4. Google Scripts для любых функций работы с данными.

Полезные расширения

Сначала поговорим о готовых расширениях, которые в основном бесплатны, но есть и несколько платных. Я последнее время увлекаюсь большими данными, и не всегда в интерфейсе bigQuery удобно стримить данные и забирать данные. И есть бесплатные расширения, которые позволяют положить данные в Google bigQuery, чтобы с ними работать. Например, BigQuery Uploader for Sheets.

Чтобы разобраться, как это работает, вы можете загрузить какие-то данные из таблиц в bigQuery. Например, плановые показатели, чтобы свести план и факт или собрать данные по рекламным расходам, справочники. bigQuery — сложный инструмент, но такой способ даст вам возможность познакомиться с ним. Берем табличку с нужными данными, описываем в схеме, что нужно брать из нее. И внизу данные из таблицы уже появляются в bigQuery.

Передача данных в BigQuery

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

Читайте о работе с этим расширением «Пошаговый мануал: упрощаем передачу данных из Google Analytics в Google Таблицы»

Расширение для забора данных из bigQuery и отправки в Google ТаблицыOWOX BI BigQuery Reports. Позволяет написать сиквел-запрос прямо в таблицы и выгрузить в них данные из bigQuery. В результате есть удобный понятный интерфейс Google Spredsheets, куда мы можем данные и загрузить, и достать, и делать на них основе графики, презентации. Это хороший способ начать работать с bigQuery — ведь все движется в сторону больших данных.

Расширение для забора данных из bigQuery и отправки в Google Таблицы

Другие полезные аддоны:

Google Scripts 

Благодаря Google Scripts мы можем создать свой код на JavaScript, который будет совершать полезные нам действия и может работать и с Google Таблицами и с другими продуктами в GSuite. Это супер-полезная штука, потому что мы можем работать с Ads API, собирать простые API, которые будут забирать данные, преобразовывать в нужный формат и отправлять, например, в Google Analytics. Это частая задача — передать туда данные о рекламных расходах. 

Google Scripts

Я писал простенькие API, которые позволяли «постучаться» через Google Scripts в таблицы. Например, у меня блоге есть счетчик посещаемости. Как он работает? Я беру из Google Analytics данные о просмотрах страниц, складываю в Spreadsheets. И когда загружается страница, я из Google Tag Manager иду в таблицы, используя Google Scripts, и забираю данные о просмотрах этой страницы. 

Другие возможности

  1. Автоматическая чистка и преобразование данных. Сейчас появляются готовые функции для таблиц, которые позволяют вытащить данные, преобразовать, посчитать или поделить и проверить валидность данных.
  2. Объединение базы данных.
  3. Загрузка данных из других API по расписанию. Можно создать мини-базу данных для хранения какой-то информации, например, из CRM и управлять продажами, делать сквозную аналитику. 

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

Мы можем работать с множеством API Google. Мы можем забирать данные из Google Ads, считать, смотреть и складывать их в таблицы. Запускать скрипты по расписанию — чтобы раз день, например, в три утра программа вытаскивала данные и складывала. И использовать возможности Google Cloud по хранению и обработке данных, но это уже следующий шаг.

Первое решение — для выгрузки данных о рекламных расходах из Facebook в Google Analytics. Вам не нужно платить за это деньги, предоставлять кому-то доступ. В формате этого решения вы можете реализовать различные решения. Например, для Bing и других рекламных сервисов я уже видел готовые. Это позволит понимать эффективность расходов на маркетинг с точки зрения конверсии и затрат.

Я также давно написал решение, которое позволяет создать что-то вроде мини-CRM. Как только пользователь оплатил, мы нажимаем кнопку «Отправить в Google Analytics» и данные об оплате отправляются туда в качестве события. Это позволяет сделать аналог сквозной аналитики на базе таблиц.

Передача событий из Google таблиц в Google Analytics

Решение, о котором я уже рассказывал. Возможность из Google Tag Manager с вашего сайта идти в таблицы, забирать данные — например, просмотры, и отправлять прямо на сайт пользователя в режиме реального времени. Интеграция всего со всем на базе Google Scripts — это великая вещь, и здорово, что это можно легко сделать.

Для Google Ads вы можете писать много скриптов и решения для автоматизации рутинных задач по настройке кампаний. Это может работать также по триггерам, которые происходят в ней.

Используем Google Data Studio 

В нем есть возможность визуализации прямо из таблиц. Можете задать нужный диапазон, лист и т. д. Поэтому вы сможете визуализировать данные так, как вам нужно. Например, вы можете собрать  на одном листе данные Google Ads, bigQuery, Google Analytics и самих таблиц. Это позволяет собрать полноценный дашборд по кампаниям на Google Data Studio.

Google Data Studio

Читайте на нашем блоге другие лайфхаки от Андрея Осипова:

Заметки аналитика про платное привлечение

Павел Левчук, Data Expert

Когда я был CMO LeBoutique, мы ежедневно встречались, чтобы оценить успехи по платной рекламе. Тогда я разработал отчет, который позволял сводить информацию в разрезе: канал, кампания, группа объявлений. Это позволяло мне на разном уровне понимать: 

  • какие расходы я несу; 
  • какое количество регистраций; 
  • какова их стоимость;
  • количество клиентов;
  • доход за период — т. к. у нас была подписочная модель;
  • валовая маржа — ведь мы не можем положить доход в банк, а только прибыль
  • юнит экономики —  CAC и LTV;
  • ROI.
Павел Левчук, доклад 8P

Мой доклад связан с данными, которые я из такого отчета вытягивал. В том объеме данных, которыми я оперировал, было приблизительно 230 кампаний из них 12 брендовых, почти 2500 объявлений и 90 групп объявлений. Давайте посмотрим, к каким выводам я пришел.

Никогда не оперируйте средним значением стоимости регистрации — CPR 

Что мы видим по стоимости регистрации? Есть большая вариативность: например, брендовые кампании стоят 4,9 гривны, а у других намного больше. Поэтому работать со средним не очень хорошо. Мне повезло, потому то я использовал в Excel сводные таблицы и язык DAX, который позволял мне на каждом уровне канала, кампании и группы объявлений делать взвешенные расчеты. 

Если же этого не делать, а просто выгружать данные в Excel, может быть следующая ситуация. Берем все эти кампании и по каждой из них стоимость регистрации, усредняем и получаем 15 гривен за регистрацию — но это неверно. На какие-то кампании вы тратите маленькую сумму, а на какие-то большую. Поэтому нужно работать со средневзвешенным значением. Тогда оно по этим кампаниям не 15 гривен, а 12,3 гривны.

Павел Левчук, доклад 8P

Казалось бы, мы решили, как правильно оценивать среднюю стоимость регистрации. Но на самом деле мы решили только математическую проблему, но не проблему бизнеса. Почему? Справа мы можем оценить, как стоимость регистрации варьируется вокруг средневзвешенного значения. Мы видим, что семь кампаний намного меньше по стоимости. Есть ряд кампаний, которые намного выше. Поэтому средневзвешенное значение не поможет оптимизировать рекламу.

Павел Левчук, доклад 8P

Всегда опускайте стоимость регистрации до минимального уровня. Обычно это происходит так: есть канал, кампания, группа объявлений и ключевые слова. Никогда не пытайтесь информацию с одной группы перенести на другую, чтобы принимать решение. Скорее всего, оно будет неверным. 

Павел Левчук, доклад 8P

Следующий момент. Допустим, вы запихнули все данные в одну большую простыню с названием кампаний. Какая возможна проблема? Если вы не маркируете брендовые кампании, то получаете очень оптимистичную, с точки зрения бизнеса, стоимость регистрации клиента.   

На этом графике по горизонтали идут биды, регистрации сгруппированы с шагом по 10 гривен. Видим, что практически все регистрации из брендовых кампаний находятся в самой левой части графика — они самые дешевые. Как только мы их изымаем из анализа, стоимость регистрации сразу очень сильно повышается, на 28%. Это опять-таки указывает, что плохо анализировать списки кампаний, имеет смысл работать точечно с каждой кампанией или группой объявлений. 

Никогда не оптимизируйте CAC про CPR

Почему я так не люблю стоимость регистрации? Потому что, допустим, она у вас 10 гривен и 20% регистраций у меня конвертируется, то я могу легко вычислить стоимость привлечения клиента. Но так ли это на самом деле? Посмотрим на следующий график. На этом же аккаунте построим матрицу. По вертикали в ней есть биды по регистрациям — от 10 до 20 гривен и т. д. По горизонтали идут биды по стоимости привлечения клиента.

Павел Левчук, доклад 8P

Что мы видим? Даже если мы будем стараться сделать стоимость регистрации до 10 гривен, у нас нет никакой гарантии, что мы будем попадать в достаточно узкий промежуток в стоимости привлечения клиента. Например, обратите внимание, на графике видно, что все регистрации до 10 гривен — это приблизительно 53,3% всех регистраций, которые мы получили. Но только там где 14,9 и 14,5 только 55% этих регистраций очень скучкованы.

Еще 45% очень сильно размазаны. Есть первый кост, от 1000 гривен до 2000 гривен и есть второй — ближе к 3000 гривен. Поэтому давным-давно доказано, что, обладая одной метрикой, например, стоимостью регистрации, и без других сигналов нельзя пользоваться правилом «большого пальца». Вы не сможете точно предсказать стоимость привлечения клиента.

Никогда не оптимизируйте ROI по CPR

Другой момент: допустим мы замахнулись оценить ROI регистраций, которые мы закупили. Часть из них активируется в покупателей, часть сделает повторные покупки, мы заработаем какую-то сумму за период и посмотрим — окупается оно или нет. И здесь стоимость регистрации работает еще хуже. 

Павел Левчук, доклад 8P

Первый месяц 2014 года, стоимость регистрации — 14,9 гривен. Принимается решение: давайте мы ее оптимизируем. Логика следующая — у нас достаточно высокая стоимость регистрации, мы оптимизируем кампании, стоимость регистрации уменьшим, а клиенты будут покупать, как и покупали. Наш ROI вырастет. Но как на самом деле?

Стоимость регистрации упала на 20%, количество регистраций упало на 40%. Затраты упали, вроде как все успешно. Но давайте посмотрим, как это работает с точки зрения ROI. Оказалось, что практически никак. Если мы берем второй месяц, добавляем еще пятый месяц — это низкий сезон для тех, кто покупает одежду. И даже не считая этого, ROI таким и остался, и даже стал хуже. 

Если вы будете оптимизировать кампании по стоимости регистрации, то это абсолютно не гарантирует, что вы сможете улучшить показатели. Как бы мы ни пытались более точно рассчитать стоимость регистрации, это не помогает ни со стоимостью привлечения клиента, ни с эффективностью вложенных денег, которую мы хотели бы получить. Так на чем же фокусироваться?

Простой способ ранжирования кампаний для оптимизаций

У многих конверсия и стоимость регистрации взаимосвязаны. Я покажу вам пример, где я буду не просто ранжировать кампании по конверсиии, а буду перевзвешивать конверии на тот объем регистраций, который у меня есть. Почему? Как мы видели раньше, эти цифры очень вариативны. Объем данных, на которых мы получаем эти стоимости, маленький. В результате есть большая погрешность. 

У нас есть таблица с теми же кампаниями. Как обычно работает PPC-специалист. Он думает: «Меня спросят в первую очередь про кампании, в которых тратится больше всего денег». Здесь первые две кампании отвечают где-то за 33% всего бюджета. Топ-6 кампаний отвечают за половину. Специалист думает: «Я отсортирую их по стоимости, буду идти сверху вниз и уделять больше внимания кампаниям, где потратил больше денег. И так смогу улучшить свои показатели». Такой подход неэффективен.

Я предлагаю сортировать не по объему костов, которые вы тратите, а по конверсиям, которые вы будете перевзвешивать на тот объем регистраций, который у вас есть. Обратите внимание на четвертую снизу строчку, где конверсия 3,8%. По большому счету, это вторая конверсия на этот скрине, но мы видим, что она находится в нижней части списка. 

Павел Левчук, доклад 8P

Почему? Перед тем, как пойдем по горизонтали влево, мы увидим, что там было всего 53 регистрации. На таком объеме эта конверсия может быть случайностью, «шумом». Принимать решение, что эта кампания очень успешна — нельзя. Когда мы перевзвешиваем, у нас получается другая картина. Как это делать, описано в статье по ссылке.     

Допустим, мы перевзвесили и отсортировали по перевзвешенным конверсиям — от лучших к худшим. Обращаем внимание, что худшие конверсии действительно подхватили за собой ROI. Видим, достаточно много кампаний, у которых он плохой. Внизу кампании с достаточно большим бюджетом. Казалось бы, ну и что, просто по-другому отсортировали. 

Павел Левчук, доклад 8P

Чем этот способ лучше? Внизу я вывел цифры, которые показывают, как тот топ кампаний отличается от этого. С точки зрения бюджета, мы тратим на них около 50% и там, и там. 92 000 и 94 000 — очень близкие. Видим, что наши топовые кампании дали меньше регистраций. Но самое интересное, что стоимость таких регистраций возросла. Тоже очень часто нам хочется оптимизировать по стоимости регистрации. Мы думаем, что чем дешевле мы ее купим, тем лучший результат мы получим. А вот и нет.

Здесь регистрация стоит дороже, но при этом стоимость привлечения клиента почти в два раза меньше, чем у худших кампаний, LTV у них лучше. И того, мы получили из этой половины бюджета ROI в 96%. Мы в два раза заработали больше денег, чем потратили. При этом у кампаний, которые остались внизу, совокупный ROI -20%. И если с ними поработать, какие-то кампании мы можем выбросить или оптимизировать и получить лучший результат. 

Еще один аргумент в пользу такого способа. Посмотрите на финальный слайд. Логика в следующем:

  • первая колонка слева — сортировка;
  • есть два оператора desc — в порядке уменьшения, и ask — в порядке увеличения.
Павел Левчук, доклад 8P

Сортируем по костам от больших затрат к меньшим, т. е. делаем то, что и многие PPC-специалисты. По нашим топ-50% мы получаем ROI на уровне 41%. Обратите внимание, что когда мы фокусируемся на костах, конверсия у топовых кампаниях не самая лучшая — и это странно. 

Теперь сделаем по-другому: отсортируем таблицу по регистрациям. Допустим, мы считаем, что регистрация — это фактор, который позволяет более эффективно оценить эффективность нашей работы. Если взять колонку регистраций, то метод desc дает нам больше всего регистраций. Что получилось:

  • регистраций стало меньше у топовых кампаний;
  • ROI немного улучшился.

Оба способа нам не сильно помогают сдвинуть ROI. 

Теперь возьмем стоимость регистрации клиента: она учитывает и объемы, и количество регистраций — она должна быть лучше. Так ли это? Отсортировали по ней. Понятно, что нам хочется, чтобы наши регистрации были дешевыми, поэтому сортируем от минимальной стоимости к максимальной. Мы получили самую дешевую стоимость регистрации — 8,8 копеек. ROI немного ухудшился, но топовые кампании проигрывают по конверсии. 

Что если отсортировать все кампании по стоимости привлечения клиентов? Наши топовые кампании сильно сжались по бюджету — мы потратили на них всего 66 000 гривен. При этом CAC самый маленький 397,10 гривен. Наконец-то ROI начал сдвигаться. 92% это неплохо. Если посмотреть в абсолютных цифрах, то мы заработали всего 128 тысяч. Мы решили вопрос с ROI, но при этом сжались в цифрах. С точки зрения это хорошо, но есть варианты лучше.

Сортируем по LTV и смотрим на самых доходных клиентов. ROI несколько просел, но есть более интересное разделение по лучшим — 77%, и худшим кампаниям с минусовым показателем. Доход вырос до 193 000 гривен. Но для подписочных бизнесов LTV — величина накопительная. Вам нужно решить, сколько вы готовы ждать. Набирать данные по доходам сложно, и это требует времени. Надо понять, за какой период мы будем их собирать. Этот вариант пока самый многообещающий, но является ли он идеальным? 

Отсортировав по конверсиям, видим, что наши косты сбалансировались. Мы получили ROI на уровне 96%, по топовым кампаниям это лучший результат. Но если смотреть в абсолютных цифрах по доходам 180 000 — это меньше, чем в варианте с LTV. 

Если сортировать по ROI, то мы видим самый лучший 114%. Доходность почти 192 000. Есть хорошее разделение между конверсиями по топовым и нетоповым кампаниям. Но проблема та же — чтобы считать ROI, нужно понимать, какой доход этот клиент принесет. Если вы не умеете прогнозировать, то этот подход для вас будет трудным.

В итоге, тот вариант, который не требует понимать, какой будет доходность клиента, позволяет увидеть, что сортировка по конверсии является оптимальным вариантом. Но имейте в виду, что с конверсией нужно быть осторожным, потому что у них такой маленький объем. Если у вас мало данных — не нужно верить своим глазам. Добирайте больше или принимайте решение, что вы продолжаете инвестировать в кампанию, а не отключать ее. Тогда вы сможете получить такого плана результаты. Кампании хорошо разделяться и вы будете понимать что делать.

Что бы делал я? Первые 50% — это ваши лучшие кампании. Раз оно показывает такой ROI, в них нужно вкладывать больше средств. За счет кампаний, которые идут ниже и показывают не такой хороший результат. И за счет тех, которые находятся во второй части списка, которые показывают плохие результаты. Вы можете наращивать ваш доход, необязательно наращивать количество регистраций или выпрашивать бюджет. Вы можете перераспределить деньги, если правильно отсортируете кампании, по которым может быть лучше отклик. 

Об авторе

Редактор блога Ringostat. Автор статей для изданий о диджитал и больших СМИ про бизнес. Изучала журналистику в Одесском национальном университете имени И. И. Мечникова.