GoogleAdsService 是 Google Ads API 的統一物件擷取和報表服務。這項服務提供下列方法:
- 擷取物件的特定屬性。
- 根據日期範圍擷取物件的成效指標。
- 根據物件的屬性排序。
- 使用條件指出要在回應中傳回的物件。
- 限制傳回的物件數量。
GoogleAdsService 可以透過下列兩種方式傳回結果:
GoogleAdsService.SearchStream以單一串流回應傳回所有資料列,對於大型 (超過 10,000 個資料列) 結果集來說,效率更高。如果批次應用程式想盡快下載大量資料,這或許是更合適的做法。GoogleAdsService.Search會將大型回應分成多個頁面,方便管理結果。如果互動式應用程式一次顯示一頁結果,這可能更合適。
進一步瞭解分頁與串流。
提出要求
搜尋方法需要 SearchGoogleAdsRequest,其中包含下列屬性:
- A
customer_id - Google Ads 查詢語言
query,指出要查詢的資源、要擷取的屬性、區隔和指標,以及用於限制傳回哪些物件的條件 - (
GoogleAdsService.Search專用) 使用分頁時,可選用page_token擷取下一批結果。
如要進一步瞭解 Google Ads 查詢語言,請參閱 Google Ads 查詢語言指南。
處理回覆
GoogleAdsService 會傳回 GoogleAdsRow 物件的清單。
每個 GoogleAdsRow 都代表查詢傳回的物件,並包含一組屬性,這些屬性會根據 SELECT 子句中要求的欄位填入。系統不會在回應的 GoogleAdsRow 物件中填入未列於 SELECT 子句中的屬性。
舉例來說,雖然 ad_group_criterion 具有 status 屬性,但如果查詢的 SELECT 子句未包含 ad_group_criterion.status,則回應中資料列的 ad_group_criterion 屬性 status 欄位不會填入資料。同樣地,如果 SELECT 子句未包含 campaign 資源中的任何欄位,系統就不會填入資料列的 campaign 屬性。
每個 GoogleAdsRow 的屬性和指標可能與同一結果集中的其他資料列不同,因此資料列應視為物件,而非表格的固定資料列。
UNKNOWN 列舉型別
該 API 版本不完全支援以 UNKNOWN 類型傳回的資源。這些資源可能是透過其他介面 (例如 Google Ads 使用者介面) 建立。當資源類型為 UNKNOWN 時,您可以選取指標,但無法透過 API 變更資源。舉例來說,UI 中導入了新的廣告活動或廣告,但您查詢的 API 版本不支援。
請注意以下幾點:
- 日後可能會支援
UNKNOWN類型的資源,也可能無限期維持UNKNOWN狀態。 - 隨時可能出現類型為
UNKNOWN的新物件。這些物件可向後相容,因為列舉值已可使用。這項異動會一併推出資源,方便您準確掌握帳戶狀況。如果透過其他介面在帳戶中進行新活動,或是資源不再受支援,就可能會出現UNKNOWN資源。 UNKNOWN資源可附加詳細指標,供您查詢。UNKNOWN資源通常會完整顯示在 Google Ads 使用者介面中。UNKNOWN資源通常無法變動。
區隔
回應會包含下列各組合的 GoogleAdsRow:
FROM子句中指定的主要資源例項- 每個所選
segment欄位的值
舉例來說,如果查詢選取 FROM campaign,且 SELECT 子句中包含 segments.ad_network_type 和 segments.date,則回應會針對下列各項的每個組合包含一個資料列:
campaignsegments.ad_network_typesegments.date
系統會根據主要資源的每個例項隱含地區隔結果,而不是根據所選個別欄位的值。例如:
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
因此每個廣告活動會有一列,而非 campaign.status 欄位中每個不重複的值各有一列。