Селекторы

Селекторы помогают программисту создать запрос, который извлекает нужные объекты Google Рекламы. С помощью селекторов можно сузить список полученных объектов и отсортировать его. Большинство селекторов имеют следующие методы:

withCondition()
Добавляет условие в селектор. Если используется несколько условий, они объединяются оператором AND, то есть селектор возвращает только те объекты, которые соответствуют всем указанным условиям.
withIds()
Добавляет коллекцию идентификаторов в качестве условия. Условие на основе идентификатора будет объединено с остальными с помощью оператора AND.
forDateRange()
Требуется, если условие или предложение упорядочения ссылается на поле Статистика, например "CTR" или "Показы". Если вы запросите все кампании с более чем 100 показами, скриптам Google Рекламы потребуется знать диапазон дат, в котором нужно искать данные.
orderBy()
Указывает порядок возвращаемых объектов.
withLimit()
Ограничивает количество возвращаемых объектов указанным значением. Особенно полезно использовать его в сочетании с orderBy(), чтобы получить, например, 10 ключевых слов с наибольшим количеством показов за вчерашний день. По умолчанию все селекторы устанавливают ограничение в 50 000. Вы можете увеличить лимит, указав его вручную.

Эти методы могут вызываться в любом порядке. Исключением является метод orderBy(), для которого порядок вызовов имеет значение: несколько вызовов этого метода задают несколько условий сортировки, которые применяются по порядку. Рассмотрим следующий фрагмент кода:

selector = selector.forDateRange("LAST_14_DAYS")
    .orderBy("metrics.clicks DESC")
    .orderBy("metrics.ctr ASC");

Результаты будут отсортированы по количеству кликов в порядке убывания. Результаты с одинаковым количеством кликов будут упорядочены по CTR в порядке возрастания.

Вызовы методов селектора можно располагать друг за другом. Пример:

var campaignSelector = AdsApp.campaigns();
campaignSelector.withCondition("metrics.clicks > 10");
campaignSelector.withCondition("metrics.impressions > 1000");
campaignSelector.orderBy("metrics.impressions DESC");
campaignSelector.forDateRange("YESTERDAY");

Приведенный выше код можно упростить следующим образом:

var campaignSelector = AdsApp.campaigns()
  .withCondition("metrics.clicks > 10")
  .withCondition("metrics.impressions > 1000")
  .orderBy("metrics.impressions DESC")
  .forDateRange("YESTERDAY");

После создания селектора можно получить из него итератор, вызвав метод selector.get().

Ознакомьтесь с рекомендациями по эффективному использованию селекторов.