選取器可協助程式設計人員建構查詢,擷取要求的 Google Ads 實體。使用選取器,可以縮小擷取實體的清單範圍並排序。大多數選取器都有下列方法:
withCondition()- 為選取器新增條件。如果使用多個條件,這些條件會以 AND 運算子合併,也就是說,選取器只會傳回所有符合指定條件的實體。
withIds()- 將 ID 集合新增為條件。系統會將 ID 條件與所有其他條件以 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");
結果會按點擊次數遞減排序。如果點擊次數值相同,系統會按遞增順序依點閱率排序結果。
選取器方法的呼叫可以鏈結在一起。以下程式碼
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(),從中取得 Iterator。
請參閱最佳做法,瞭解有效使用選取器的提示和訣竅。