Селекторы помогают программисту составить запрос, который извлекает необходимые объекты Google Ads. С помощью селекторов можно сузить список извлекаемых объектов и упорядочить его. Большинство селекторов имеют следующие методы:
-
withCondition() - Добавляет условие к селектору. Если используется несколько условий, они объединяются с помощью логического оператора И, другими словами, селектор вернет только те сущности, которые удовлетворяют всем указанным условиям.
-
withIds() - Добавляет набор идентификаторов в качестве условия. Условие, основанное на идентификаторе, будет объединено с условиями, заданными оператором И (AND).
-
forDateRange() - Это необходимо, когда условие или пункт сортировки ссылается на поле статистики , такое как Ctr или Impressions. Если вы запрашиваете все кампании с более чем 100 показами, скриптам Google Ads потребуется знать диапазон дат для анализа.
-
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() .
Ознакомьтесь с разделом «Рекомендации» , где вы найдете советы и рекомендации по эффективному использованию селекторов.