Отчеты с нолем показов и отчеты о структуре

С помощью отчетов AdWords API некоторые разработчики получают не только статистику по эффективности, но и структурную информацию об аккаунтах.

Из этого руководства вы узнаете, как интерпретировать статистику с нолем показов и использовать отчеты для построения структуры аккаунта.

Статистика с нолем показов

В отчетах вы можете увидеть, что объекты, которые никто не просматривал, имеют ноль показов. Это может происходить по разным причинам, например объект не был допущен к показу или был приостановлен в выбранный период.

Для оценки эффективности рекламы статистика с нолем показов практически бесполезна, однако она необходима, если вам нужно скачать все содержимое аккаунта.

Отчеты с нолем показов используются для поиска структурных объектов в аккаунте. Кроме того, они позволяют быстро синхронизировать локальную базу данных без необходимости выполнять серию затратных вызовов метода get(). Включив объекты с нолем показов в результаты, можно определить структуру любого объекта аккаунта всего за один вызов к API.

Включение и исключение ноля показов

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

Когда имеет смысл включать объекты с нолем показов?

Ноль показов имеет смысл включать, если вы хотите обнаружить все структурные объекты в аккаунте всего за один вызов, а не за несколько (многочисленные вызовы API могут привести к превышению ограничений).

Например, если при запросе отчета по эффективности ключевых слов для Id и Criteria исключить вхождения без показов, вы получите минимум результатов. Если же включить эти вхождения и добавить такие поля, как CampaignId и AdGroupId, вы сможете выстроить структуру используемых ключевых слов.

Когда имеет смысл исключать объекты с нолем показов?

Объекты с нолем показов обычно исключают из отчетов по эффективности. Вы также можете исключить ноль показов, чтобы сократить размер ответа или получить только самую существенную статистику за интересующий вас диапазон дат. Это особенно актуально, если у вас много приостановленных кампаний: их наличие в отчете может значительно увеличить набор данных.

Как включить в отчет объекты с нолем показов

Чтобы включить в отчет объекты с нолем показов, задайте значение true для HTTP-заголовка includeZeroImpressions.

Если используется значение true, строки с определенными значениями показателей не будут исключаться из отчетов. Таким образом, отчеты будут содержать в том числе и вхождения с нолем показов.

Как исключить из отчетов строки с нолем показов

Явным образом исключить объекты с нолем показов из отчетов можно двумя способами:

  • Задать значение false для HTTP-заголовка includeZeroImpressions.
  • Использовать предикат.

Как задать значение false для HTTP-заголовка includeZeroImpressions

Самый простой способ исключить объекты с нолем показов – задать для HTTP-заголовка includeZeroImpressions значение false.

Если используется значение false, отчеты будут включать только те строки, в которых хотя бы одно из запрашиваемых полей Metric имеет ненулевое значение.

Исключение ноля показов с помощью предиката

Вы можете исключить ноль показов, добавив для поля Impressions предикат с оператором GREATER_THAN и значением 0.

XML для такого предиката будет выглядеть следующим образом:

<predicates>
  <field>Impressions</field>
  <operator>GREATER_THAN</operator>
  <values>0</values>
</predicates>

Выражение AWQL будет выглядеть так:

WHERE Impressions > 0

Неявное исключение ноля показов

Строки с нолем показов неявным образом исключаются, если запрос отчета содержит поля, которые не поддерживают ноль показов. См. атрибут Supports Zero Impressions (Поддерживает ноль показов) на странице Типы отчетов.

Однако на неявное исключение лучше не полагаться, так как добавление или удаление одного поля из запроса может повлиять на работу всего отчета.

Отчеты о структуре

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

Отчеты AdWords позволяют с легкостью получать основную структурную информацию об аккаунте и входящих в него объектах. Вы можете быстро извлечь данные (включая идентификаторы, названия и значения объектов), выстроить базовую структуру аккаунта, а затем получить подробную информацию об интересующих вас элементах, используя их идентификаторы.

В документации по типам отчетов изложено, какие записи столбцов можно извлечь для каждого объекта аккаунта. Заголовки столбцов также можно получить программным путем, используя метод getReportFields() службы ReportDefinitionService. Тщательно выбирая столбцы отчета, вы сможете получить достаточно информации, чтобы воспроизвести структуру аккаунта.

Получение критериев группы объявлений

Критериев для группы объявлений может быть много. Чтобы получить их все, лучше не делайте запросы get и query в службу AdGroupCriterionService, а воспользуйтесь отчетом CRITERIA_PERFORMANCE_REPORT.

Если вы хотите использовать отчет CRITERIA_PERFORMANCE_REPORT в качестве отчета о структуре, оформите запрос в соответствии со следующими требованиями:

  1. Во всех выбранных полях у ATTRIBUTE должно быть свойство fieldBehavior.
  2. Во всех полях в предикатах у ATTRIBUTE должно быть свойство fieldBehavior.
  3. У HTTP-заголовка includeZeroImpressions должно быть значение true.
  4. Запрос не должен содержать диапазон дат и предложение DURING.

Например, чтобы узнать о каждом критерии группы объявлений в вашем аккаунте такие данные, как идентификатор группы объявлений, идентификатор критерия, тип критерия, описание критерия и тип таргетинга, нужно отправить следующий AWQL-запрос:

SELECT AdGroupId, Id, CriteriaType, Criteria, IsNegative FROM CRITERIA_PERFORMANCE_REPORT

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

Получить все критерии на уровне кампании можно, вызвав отчет CAMPAIGN_CRITERIA_REPORT. В отличие от CRITERIA_PERFORMANCE_REPORT, отчет CAMPAIGN_CRITERIA_REPORT можно использовать только в качестве структурного.

Например, чтобы узнать о каждом критерии кампании в вашем аккаунте такие данные, как идентификатор кампании, идентификатор критерия, тип критерия, описание критерия и тип таргетинга, нужно отправить следующий AWQL-запрос:

SELECT CampaignId, Id, CriteriaType, Criteria, IsNegative FROM CAMPAIGN_CRITERIA_REPORT

Пример

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

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

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

    SELECT CampaignStatus, CampaignId, CampaignName, ExternalCustomerId,
        CustomerDescriptiveName, Amount, BiddingStrategyId, Impressions
    FROM CAMPAIGN_PERFORMANCE_REPORT
    DURING YESTERDAY
    

  2. Теперь создадим локальную таблицу кампаний. Это выражение создает таблицу с указанием заголовков столбцов и их типа в таблице SQLite:

    CREATE TABLE campaigns (Status STRING, id LONG, name STRING, extCID LONG,
        custName STRING, amount FLOAT, biddingStrategyId LONG, impressions INTEGER)
    

  3. Следующий шаг – заполнение таблицы кампаний. Показанное ниже выражение на SQL вставляет записи в таблицу с кампаниями (campaigns). Для каждого символа "?" мы установили значение параметра, используя значения из скачанного отчета.

    INSERT INTO campaigns (Status, id, name, extCID, custName, amount,
        biddingStrategyId, impressions) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
    

Форматы отчетов

Отчеты доступны в нескольких различных форматах (CSV, XML и др.), однако мы рекомендуем CSV. Этот формат позволяет передавать ответы с помощью распространенных библиотек и фильтровать каждую запись в формате объекта по вашему выбору. Кроме того, файл CSV более компактен, поэтому его обработка занимает меньше времени.

По умолчанию в отчетах CSV первая строка содержит заголовок отчета, вторая – заголовки столбцов, затем идут результаты, а в самом конце – строка Total (Итого). Ниже на примере отчета по эффективности кампаний показан этот формат по умолчанию.

"CAMPAIGN_PERFORMANCE_REPORT (Apr 1, 2015-Apr 6, 2015)"
Campaign state,Campaign ID,Campaign,Customer ID,Account,Cost,Bid Strategy Name,Impressions
paused,143072203,Search + DSAs,1234567890,My AdWords Account,0, --,0
paused,168682400,Interplanetary Cruise 1396462861759,1234567890,My AdWords Account,0, --,0
paused,168682099,Interplanetary Cruise 1396462699054,1234567890,My AdWords Account,0, --,0
enabled,238539688,Campaign 1234,1234567890,My AdWords Account,5970000, --,902
Total, --, --, --, --,5970000, --,902

В первой строке представлен заголовок отчета, а вторая содержит заголовки запрошенных столбцов. Столбцы расположены в порядке, указанном в запросе, за исключением случаев, когда запрашиваются копии столбцов (тогда второй экземпляр не включается). Строка Total (Всего) находится в самом конце отчета.

При синтаксическом анализе результатов и их вставке в базу данных следует игнорировать первые две строки, а также заключительную строку Total. Альтернативный метод – использовать в запросе необязательные заголовки, чтобы в ответ включались только данные, а заголовок отчета, заголовки столбцов и итоговая строка пропускались.

Эту же последовательность действий можно выполнить с группами объявлений, объявлениями и критериями. Затем используйте SQL для отправки запросов в только что заполненную локальную базу данных. Вы можете адаптировать этот пример под свои нужды, например так:

SELECT * FROM campaigns
LEFT OUTER JOIN adGroups ON campaigns.id=adGroups.campaignId
LEFT OUTER JOIN ads ON ads.adAdGroupId=adGroups.adGroupId

Или так:

SELECT * FROM criteria
JOIN keywords
WHERE criteria.critType='Keyword' AND keywords.keywordId=criteria.critId

Советы

При использовании этого подхода для получения данных аккаунта помните о следующих важных моментах:

  • Если включить в запрашиваемый отчет столбцы, которые не позволяют возвращать строки с нолем показов, вы не получите никаких результатов. Пример – поле KeywordId в отчете по эффективности объявлений (это можно понять по содержанию столбца Notes или значению False в столбце Supports Zero Impressions). Некоторые столбцы являются взаимоисключающими, например ConversionTypeName и Clicks. При скачивании структурных отчетов следует применять те заголовки столбцов, которые перечислены в качестве атрибутов в столбце Behavior (Поведение).

  • Не следует запрашивать повторяющиеся столбцы: они будут удалены из ответа, и порядок окажется нарушен. Требования к форматированию столбцов см. в столбце Notes (Примечания) на странице Типы отчетов.

  • Если вы не используете необязательные заголовки для пропуска строки Total и обозначаете окончание синтаксического анализа данных словом Total, в первом столбце в AWQL-запросе не должно быть значения Total (в противном случае анализ завершится преждевременно). Так, в первом столбце можно без опасений использовать идентификаторы (значения типа Long). В нашем примере мы выбрали столбец Status, содержащий строки с ограниченным набором значений.

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

Оставить отзыв о...

Текущей странице
Нужна помощь? Обратитесь в службу поддержки.