UnionCreated using FigmalectureCreated using Figma

Выгрузка отчетов с помощью скрипта AdWords

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

Чем может быть полезен этот скрипт

Существенным преимуществом AdWords является то, что он похож на конструктор, который можно собирать и разбирать, как тебе удобно. И возможность работать со скриптами в AdWords — очередное тому доказательство. Скрипты позволяют без получения API Токена иметь доступ к большому количеству «сырых» данных и управлять аккаунтом AdWords. Сегодня мы поговорим только о получении данных и работе с ними в Spreadsheets.

Чем же может быть полезен такой метод?

  1. При помощи выгрузки данных через Скрипты AdWords можно легко построить отчет по KPI с их динамикой по месяцам или неделям;
  2. Этот метод позволит автоматизировать часть отчетности для клиентов;
  3. Можно автоматизировать отчеты внутри компании и создавать единый отчет по всем клиентам в одном окне;
  4. Дает возможность выгрузить детальную статистику по показателю качества ключевого слова.

Руководство по настройке

Чтобы сделать выгрузку в Spreadsheets из AdWords, специалисту не нужно особых знаний в программировании. Необходимо просто собрать из кусочков, как пазл, нужный скрипт. Это сможет сделать каждый, в этом и заключается его прелесть.

Вот так может выглядеть скрипт:

function main() {
 // Параметры выгрузки
 
 var url = 'https://docs.google.com/';
 var datasheet = 'AdWords Report';
 var columns = 'CampaignName, AdvertisingChannelType, Clicks, Impressions, AveragePosition, Cost, Conversions';
 var report = 'CAMPAIGN_PERFORMANCE_REPORT';
 var selector = 'CampaignName DOES_NOT_CONTAIN "Шашлык"';
 var during = 'LAST_30_DAYS';
 
 // Функция выгрузки

 exportReportToSpreadsheet(url, datasheet, columns, report, selector, during);

}

function exportReportToSpreadsheet(url, datasheet, columns, report, selector, date) {
 var spreadsheet = SpreadsheetApp.openByUrl(url);
 var sheet = spreadsheet.getSheetByName(datasheet);

 var report = AdWordsApp.report(
   'SELECT ' + columns + ' ' +
   'FROM ' + report + ' ' +
   'WHERE ' + selector +' ' +
   'DURING '+ date + ' '
   );
 
 report.exportToSheet(sheet);

}

Давайте рассмотрим его подробней.

Функция exportReportToSpreadsheet отвечает за выгрузку данных. В нее мы передаем параметры куда, из какого уровня отчета, за какой период мы хотим выгрузить. Эти параметры мы настраиваем в блоке параметров:

url — адрес вашего Google Spreadsheets, открытого для редактирования. В настройках файла вам необходимо выбрать локализацию для США. Это связано со спецификой разделения запятой и точкой десятичных дробей в разных локализациях.

datasheet — имя листа куда будут выгружаться данные.

columns — те столбики с параметрами и переменными, которые мы хотим выгрузить. Полный список этих показателей всегда можно посмотреть в документации и выбрать необходимый. Для этого переходим по ссылке на Report Types.

Выбираем нужный отчет (в примере Account Performance) и там находим желаемый показатель. При этом сейчас в документации параметры аккуратно разделены в оглавления на Параметры, Сегменты и Метрики:

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

Пример с возможными параметрами:

Пример с указанием не сочетающихся параметров:

report — тут необходимо указать уровень отчетов для выгрузки. В AdWords таких уровней очень много, и от выбранного уровня зависит возможность выгрузки тех или иных параметров. Найти все возможные списки отчетов можно на Report Types.  Самыми полезными будут:

  • Campaign Performance — выгрузка данных по кампаниям;
  • Ad Group Performance — выгрузка данных по группам объявлений;
  • Ad Performance — выгрузка данных по объявлениям;
  • Criteria Performance — выгрузка данных по таргетингу, в том числе аудиториям, сайтам и ключевым словам;
  • Keywords Performance — выгрузка данных по ключевым словам:
  • Shopping Performance — выгрузка данных для товарных кампаний.

selector — помогает отфильтровать данные, удалив лишние. Условие фильтрации состоит из параметра, по которому происходит фильтрация (например,  CampaignName), способа отбора (например, DOES_NOT_CONTAIN) и критерия (например, “шашлык”). По сути это такой же фильтр, который мы настраиваем в отчетах интерфейса, но в формате строчек кода. В качестве параметров можно задать любые, которые вы выбрали, а в качестве способа отбора задать любой из следующих логических операторов:

Для цифровых значений:

  • =  — равно
  • !=  — не равно
  • >  — больше
  • >=  — больше или равно
  • < — меньше
  • <= — меньше или равно

Для текстовых значений:

STARTS_WITH | STARTS_WITH_IGNORE_CASE |

                   CONTAINS | CONTAINS_IGNORE_CASE | DOES_NOT_CONTAIN | DOES_NOT_CONTAIN_IGNORE_CASE |

                   CONTAINS_ANY | CONTAINS_NONE | CONTAINS_ALL

Для данных, указанных через “Или” в формате массива (например, WHERE Status IN [ENABLED, PAUSED]):

IN | NOT_IN

during — диапазон дат, за которое вы хотите выгрузить отчет. Задать его можно двумя способами:

  • в формате шаблонных диапазонов

TODAY | YESTERDAY | LAST_7_DAYS | THIS_WEEK_SUN_TODAY | THIS_WEEK_MON_TODAY | LAST_WEEK |
                   LAST_14_DAYS | LAST_30_DAYS | LAST_BUSINESS_WEEK | LAST_WEEK_SUN_SAT | THIS_MONTH

  • в формате диапазонов «Дата старта, Дата окончания». Обе даты должны быть заданы по правилу YYYYMMDD, где YYYY — год, MM — месяц от 01 до 12, DD — дата от 01 до 31. Например, ‘20170101, 20170115’.

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

function main() {
//Отчет №1

 // Параметры выгрузки
 
 var url = 'https://docs.google.com/';
 var datasheet = 'AdWords Report';
 var columns = 'CampaignName, AdvertisingChannelType, Clicks, Impressions, AveragePosition, Cost, Conversions';
 var report = 'CAMPAIGN_PERFORMANCE_REPORT';
 var selector = 'CampaignName DOES_NOT_CONTAIN "Шашлык"';
 var during = 'LAST_30_DAYS';
 
 // Функция выгрузки

 exportReportToSpreadsheet(url, datasheet, columns, report, selector, during);

// Отчет №2

 datasheet = 'AdWords 7 Days';
 columns = 'CampaignName, AdvertisingChannelType, Clicks, Impressions, AveragePosition, Cost, Conversions';
 report = 'CAMPAIGN_PERFORMANCE_REPORT';
 selector = 'CampaignName DOES_NOT_CONTAIN "Шашлык"';
 during = 'LAST_7_DAYS';

 exportReportToSpreadsheet(url, datasheet, columns, report, selector, during)

}

Если часть параметров во втором отчете совпадает с параметрами в первом, то их можно не переназначать, а использовать те, что есть.

Этот способ не идеален, но позволяет легко выгружать необходимые данные.

Полезные заготовки для отчетов

В качестве примера использования я приведу несколько таблиц которые могут быть полезны в работе:

Автоотчет по работе аккаунта AdWords за неделю

Отчет создан для клиента. Мы сделали файл шаблона, в который каждый понедельник выгружались данные из AdWords и Analytics. После чего можно было в понедельник просто зайти скопировать отчет, переименовать его для клиента и отправить. Это помогло сэкономить порядка 20-30 минут на его создание.

Мы выгружали данные из отчета по кампаниям за два различных периода: за последние 7 дней и с 01.01.2016 по текущую дату. Получалось, что мы могли построить и график динамики по конверсиям за последнее время, и отчет по расходам за последние 7 дней. Так мы могли не только смотреть на текущую ситуацию, но и отслеживать динамику.

Скрипт выгрузки деталей по показателю качества

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

function main() {
 exportReportToSpreadsheet();
}

function exportReportToSpreadsheet() {
 var spreadsheet = SpreadsheetApp.openByUrl('xxx');
 var sheet = spreadsheet.getSheetByName('QS Details');

 var report = AdWordsApp.report(
   'SELECT Criteria, Status, CampaignName, CampaignStatus, AdGroupName, AdGroupStatus, Clicks, Impressions, Cost, QualityScore, CreativeQualityScore, PostClickQualityScore, SearchPredictedCtr ' +
   'FROM   KEYWORDS_PERFORMANCE_REPORT ' +
   'WHERE  Impressions > 10 ' +
   'DURING LAST_30_DAYS');

 report.exportToSheet(sheet);

}

Если у вас остались вопросы или комментарии, пишите. На этот раз у меня все. Спасибо вам за внимание и до новых встреч!

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: