Запрос информации о ресурсах или метаданных
Язык запросов Google Ads может запрашивать у API Google Ads следующие типы информации:
Ресурсы и связанные с ними атрибуты, сегменты и метрики с использованием поиска
GoogleAdsServiceили SearchStream : результатом запроса GoogleAdsService является список экземпляровGoogleAdsRow, где каждыйGoogleAdsRowпредставляет ресурс.Если запрашиваются какие-либо атрибуты или метрики, строка также включает эти поля. Если запрашиваются какие-либо сегменты, ответ также отображает дополнительную строку для каждого кортежа сегмент-ресурс.
Метаданные о доступных полях и ресурсах в
GoogleAdsFieldService: эта служба предоставляет каталог запрашиваемых полей с подробной информацией об их совместимости и типе.Результатом запроса
GoogleAdsFieldServiceявляется список экземпляровGoogleAdsField, где каждыйGoogleAdsFieldсодержит сведения о запрошенном поле.
Запрос атрибутов ресурса
Вот пример базового запроса атрибутов ресурса кампании, который иллюстрирует, как вернуть идентификатор кампании, название и статус:
SELECT
  campaign.id,
  campaign.name,
  campaign.status
FROM campaign
ORDER BY campaign.id
 Этот запрос сортирует данные по идентификатору кампании. Каждая результирующая строка GoogleAdsRow представляет собой объект campaign , заполненный выбранными полями, включая resource_name кампании.
 Чтобы узнать, какие еще поля доступны для запросов кампании, обратитесь к справочной документации Campaign .
Запрос метрик
Наряду с выбранными атрибутами для заданного ресурса вы также можете запрашивать связанные с ним показатели:
SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
  AND metrics.impressions > 1000
ORDER BY campaign.id
 Этот запрос отфильтровывает только кампании со статусом PAUSED и числом показов более 1000, сортируя их по идентификатору кампании. Каждая полученная строка GoogleAdsRow будет содержать metrics с выбранными показателями.
 Список запрашиваемых метрик см. в документации Metrics .
Запрос сегментов
Наряду с выбранными атрибутами для заданного ресурса вы также можете запрашивать связанные сегменты:
SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  metrics.impressions,
  segments.date,
FROM campaign
WHERE campaign.status = 'PAUSED'
  AND metrics.impressions > 1000
  AND segments.date during LAST_30_DAYS
ORDER BY campaign.id
 Подобно запросу метрик, этот запрос фильтрует только кампании со статусом PAUSED и числом показов более 1000. Однако этот запрос сегментирует данные по дате. В результате каждая результирующая GoogleAdsRow представляет собой кортеж кампании и даты Segment . Сегментация разделяет выбранные метрики, группируя их по каждому сегменту в предложении SELECT.
 Список запрашиваемых сегментов см. в документации Segments . 
Запрос атрибутов связанного ресурса
В запросе к заданному ресурсу вы можете объединиться с другими связанными ресурсами, если они доступны. Эти связанные ресурсы называются «атрибутированными ресурсами». Вы можете объединиться с атрибутированными ресурсами неявно, выбрав атрибут в запросе.
SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  bidding_strategy.name
FROM campaign
ORDER BY campaign.id
 Этот запрос не только выбирает атрибуты кампании, но и извлекает связанные атрибуты из каждой выбранной кампании. Каждая результирующая строка GoogleAdsRow представляет собой объект campaign , заполненный выбранными атрибутами кампании, а также атрибутом выбранной стратегии назначения ставок bidding_strategy.name .
 Чтобы узнать, какие атрибутированные ресурсы доступны для запросов кампании, обратитесь к справочной документации Campaign .
Мутировать на основе результатов запроса
 При запросе заданного ресурса вы можете сразу же получить возвращаемые результаты как объекты, изменить их и отправить обратно методу mutate в службе этого ресурса. Вот пример рабочего процесса: 1. Выполнить запрос для всех кампаний, которые в настоящее время PAUSED и имеют количество показов более 1000. 1. Получить объект Campaign из поля campaign каждой строки GoogleAdsRow в ответе. 1. Измените статус каждой кампании с PAUSED на ENABLED . 1. Вызвать CampaignService.MutateCampaigns с изменёнными кампаниями для их обновления.
Метаданные поля
 Запросы, отправляемые в GoogleAdsFieldService , предназначены для получения метаданных полей. Эта информация может быть использована для понимания того, как поля могут использоваться вместе в запросе. Поскольку данные доступны через API и он предоставляет необходимые метаданные для проверки или построения запроса, разработчики могут делать это программно. Вот типичный запрос для получения метаданных:
SELECT
  name,
  category,
  selectable,
  filterable,
  sortable,
  selectable_with,
  data_type,
  is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
 В этом запросе вы можете заменить <INSERT_RESOURCE_OR_FIELD> либо ресурсом (например, customer или campaign ), либо полем (например, campaign.id , metrics.impressions или ad_group.id ).
 Список полей запроса см. в документации GoogleAdsField .
Примеры кода
 В клиентских библиотеках есть примеры использования языка запросов Google Ads в GoogleAdsService . В папке основных операций есть такие примеры, как GetCampaigns , GetKeywords и SearchForGoogleAdsFields .