GoogleAdsService
是 Google Ads API 的統一物件擷取和報表服務。這項服務提供的方法如下:
- 擷取物件的特定屬性。
- 根據日期範圍,擷取物件成效指標。
- 依據物件屬性排序。
- 使用條件指出要傳回回應中的哪些物件。
- 限制傳回的物件數量。
GoogleAdsService
可以透過兩種方式傳回結果:
GoogleAdsService.SearchStream
會傳回單一串流回應中的所有資料列,這對於大型 (超過 10,000 列) 結果集更有效率。如果批次應用程式想要盡可能快速下載大量資料,這可能會是較適當的做法。GoogleAdsService.Search
會將大量回應分割成可管理的結果頁面。如果互動式應用程式一次顯示一頁結果,這可能會更適合。
進一步瞭解分頁與串流。
提出要求
搜尋方法需要 SearchGoogleAdsRequest
,其中包含下列屬性:
customer_id
- Google Ads 查詢語言
query
,用於指定要查詢的資源、要擷取的屬性、區隔和指標,以及用於限制傳回物件的條件 - (僅限
GoogleAdsService.Search
) 用於表示使用分頁時,在單一回應中傳回的物件數量。page_size
- (僅限
GoogleAdsService.Search
) 使用分頁時,可選的page_token
,用於擷取下一批結果。
如要進一步瞭解 Google Ads 查詢語言,請參閱 Google Ads 查詢語言指南。
處理回應
GoogleAdsService
會傳回 GoogleAdsRow
物件的清單。
每個 GoogleAdsRow
都代表查詢傳回的物件,並包含一組屬性,這些屬性會根據 SELECT
子句中要求的欄位填入。未包含在 SELECT
子句中的屬性,不會填入回應中的 GoogleAdsRow
物件。
舉例來說,雖然 ad_group_criterion
具有 status
屬性,但如果查詢的 SELECT
子句不包含 ad_group_criterion.status
,則資料列 ad_group_criterion
屬性的 status
欄位就不會在回應中填入。同樣地,如果 SELECT
子句未納入任何 campaign
資源欄位,則資料列的 campaign
屬性也不會填入。
每個 GoogleAdsRow
可能具有不同屬性和指標,且與同一個結果集的另一列不同;因此,您應將資料列視為物件,而非表格的固定資料列。
不明的列舉類型
該 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
,則回應會針對以下各個組合包含一列:
campaign
segments.ad_network_type
segments.date
系統會根據主要資源的每個例項隱含地區隔結果,而不是根據所選個別欄位的值。例如:
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
結果為每個廣告活動一列,而非每個 campaign.status
欄位不重複值一列。