Выгружаем статистику из Ads Google (Часть 1)

27-09-2019
Задача: Получить данные Ads Google по возрасту, полу, устройству, площадке, месту размещения, ключевым фразам в разрезе разных конверсий в Power BI.

Рассмотрим один из вариантов работы с облачной базой данных Гугла BigQuery. Выгрузим в БД статистику из Ads Google скриптами, и оттуда заберем ее Power Bi. Изначально придется немного потрудиться и потратить время на формирование статистики за необходимый период времени. За то в последствии этот процесс будет частично автоматизирован.

Представленный материал для ознакомления, полностью процесс не описан.

Последовательность действий:

  • Настраиваем скрипты в аккаунте Ads Google (GEO_PERFORMANCE_REPORT, KEYWORDS_PERFORMANCE_REPORT, CRITERIA_PERFORMANCE_REPORT, AGE_RANGE_PERFORMANCE_REPORT, GENDER_PERFORMANCE_REPORT, PLACEMENT_PERFORMANCE_REPORT);
  • Выгружаем данные и в BigQuery собираем по необходимым для нас параметрам, группируем отчеты по месяцам, общий отчет;
  • Выгружаем в Power BI, обрабатываем и формируем необходимый отчет.

Настраиваем скрипты Ads Google
Скрипт, описание как работать, берем отсюда. В Ads Google добавляем отчеты отдельными скриптами по каждому срезу.
Данные по возрасту, полу, ключевым фразам очень объемные (зависят от проекта), но рекомендую скачивать их отдельно. Таким образом удобнее контролировать процесс, гибко настраивая каждый отчет без необходимости затрагивать остальные.
Если данные грузятся слишком долго и прерываются по тайм ауту, выгружаем за меньший период, затем меняем параметр TRUNCATE_EXISTING_TABLES с "true" на "false" и постепенно дозаписываем необходимый объем данных до нужной даты, чтобы не ошибиться, можно составить такую временную шкалу.
Внимание
Полный список доступных отчетов для BigQuery посмотреть можно тут
Пример запроса:
В каждом отчете выгружаем общие поля: 'AccountDescriptiveName', 'CampaignId' , 'AdGroupId'. Отчет "CRITERIA_PERFORMANCE_REPORT" используем для получения информации по типу достижения Цели, так как параметр 'ConversionTypeName' несовместим с запросами по количеству кликов, показов, стоимости.
     {NAME: 'CRITERIA_PERFORMANCE_REPORT',
    CONDITIONS: '',
    FIELDS: {'AccountDescriptiveName' : 'STRING',
                    'CampaignId' : 'STRING',
                    'AdGroupId' : 'STRING',
                    'Id' : 'INTEGER',  
                    'ConversionTypeName' : 'STRING',              
                    'AdNetworkType2' : 'STRING',  
                    'QualityScore' : 'STRING',
                    'Criteria' : 'STRING',
                    'Device' : 'STRING',
                    'Date' : 'STRING'
            }
     }
Настраиваем BigQuery
Схематично движение отчетов в BigQuery будет выглядеть следующим образом:
  • Получаем текущую статистику (за предыдущий день, неделю, месяц), записываем/дописываем ее в набор данных "Текущие показатели";
  • Собранные данные за необходимый период (неделю, месяц) переносим в архив;
  • Объединяем архивные данные в одну таблицу, например (для отчета по площадкам), placement_clients. Таким образом загружать в Power BI нужно будет всего одну табличку, а не за каждый месяц по каждому отчету (получается очень много разделов с которыми не удобно работать).

Запросы к таблице можно сохранять используя функцию "Сохранить запрос" или автоматизировать используя функцию "Планирование запроса" - "Создать запланированные запрос" и в настройках указать название запроса, расписание, добавлять или перезаписывать в таблицу. В итоге сбор статистики происходит следующим образом: Ads Google -> Скриптами, за предыдущий день/неделю, выгружает в BigQuery, раз в месяц данные из Текущего представления копируются в Архив, и суммируются с общей таблицей.
Выгружаем отчеты в Power BI
Обработаем и соберем отчет в одной из следующих статетей