新版 Google Ads 指令碼基礎架構是以 Google Ads API 為基礎。由於該 API 的架構不同,您可能需要更新現有指令碼。我們已盡力確保盡可能的相容性,因此這些變更應屬於輕微變更。
報表
許多 AWQL 報表仍可繼續運作。在使用新基礎架構時,系統會在背景執行以下動作:將 AWQL 查詢轉換為 GAQL (Google Ads API 的新查詢語言),針對新後端執行查詢,然後將結果轉換回 AWQL 報表原本使用的格式。使用 GAQL 的查詢將依原樣傳遞。
由於有這項額外負擔,建議您檢查指令碼,並盡可能將 AWQL 查詢更新為 GAQL。您可以使用查詢遷移工具,該工具會使用與指令碼相同的邏輯,為特定 AWQL 查詢判斷 GAQL 查詢;您也可以使用互動式查詢建立工具來建構查詢。
自動 AWQL 到 GAQL 轉譯功能有以下限制:
- 並非所有 AWQL 查詢都能清楚轉譯為 GAQL 查詢。在這種情況下,系統會記錄錯誤訊息,並提供一些錯誤原因的詳細資料,協助您手動修正錯誤。
- GAQL 不支援 AWQL 中的所有報表類型。
- GAQL 不支援「零曝光列」。如果指定報表應包含零次曝光,系統會發生錯誤。
- 部分含糊的欄位無法用於篩選器。舉例來說,「廣告標題」可參照任意數量的不同廣告欄位。
- 部分欄位可能會以不同格式傳回結果,例如將一個結果分成多個資料欄。
整理選取器
使用指令碼擷取資源時,一般會使用 withCondition
和 orderBy
呼叫,在疊代器中限制結果或排序結果。這些呼叫中的欄位現在會使用新的 Google Ads API 名稱。舉例來說,如果您想依廣告活動名稱篩選,先前必須使用以下做法:
.withCondition('CampaignName = "SOME_CAMPAIGN_NAME"')
現在,您應該盡可能針對這些條件使用新的欄位名稱:
.withCondition('campaign.name = "SOME_CAMPAIGN_NAME"')
不過,我們已盡力將舊名稱與新名稱對應,因此如果您的指令碼仍使用 CampaignName
,系統會在執行階段自動將其替換為 campaign.name
,確保指令碼仍可正常運作。如果您在使用舊版樣式名稱時遇到任何問題,請更新指令碼,以使用新的樣式名稱作為第一步。
限制
許多限制與舊版基礎架構相同,而這裡所做的變更通常有助於提升效能。
- 時間限制相同。指令碼可能會執行 30 分鐘。
- 根據預設,單一疊代器會傳回 50,000 個實體,但這可以覆寫。先前無法自訂這項 50,000 個的限制。
- 單一選取器最多可處理 10,000 個 ID (未變更)。
- 新基礎架構可處理的實體數量,不受單一指令碼的限制。先前的上限為 250,000。
- 新的基礎架構對於每次執行作業可建立的關鍵字或廣告數量沒有限制。先前的上限為 250,000。
- 記錄輸出內容已簡化為 100kb (未變更)。
- Apps Script 服務 (SpreadsheetApp、MailApp 等) 的配額維持不變。
- Google Ads 配額會像使用 API 一樣強制執行。也就是說,您的指令碼必須遵守 API 頻率限制,但這能讓您更靈活地存取更多報表,或在每次執行作業進行更多變更。
其他變更
由於新版服務不再適用這些配額,因此 ExecutionInfo
不再公開 getRemainingCreateQuota()
或 getRemainingGetQuota()
。