選取器可協助程式設計師建構查詢,以擷取所需的 Google Ads 實體。您可以使用選取器,縮小擷取的實體清單範圍並排序。大部分的選取器都有以下方法:
withCondition()
- 為選取器新增條件。如果使用多個條件,這些條件就會以 AND 結合在一起。也就是說,選取條件只會傳回符合「所有」指定條件的實體。
withIds()
- 將一組 ID 新增為條件。以 ID 為依據的條件會與所有其他條件以 AND 連結。
forDateRange()
- 當條件或排序子句參照「統計資料」欄位 (例如「點閱率」或「曝光次數」) 時,就需要用到這個元素。如果您要求曝光超過 100 次的所有廣告活動,Google Ads 指令碼就必須知道要查看的日期範圍。
orderBy()
- 指定傳回實體的排序。
withLimit()
- 將傳回的實體數量限制在指定值。如要擷取「昨天曝光次數最多的 10 個關鍵字」這類資料,尤其適合搭配
orderBy()
使用。根據預設,所有選取器都會將限制設為 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()
來取得迭代器。
請參閱最佳做法,瞭解如何有效使用選取器。