區隔 (在 Google Ads 使用者介面中是獨立選單)
,只要在查詢中加入正確欄位即可。適用對象
例如將 segments.device
新增至
這樣會產生一個資料列,代表每種裝置組合及
已在 FROM
子句中指定資源,而
統計資料值 (曝光次數、點擊次數、轉換次數等) 則會拆分至兩者間。
雖然在 Google Ads 使用者介面中,一次只能使用一個區隔, API,可讓您在同個查詢中指定多個區隔。
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
將這項查詢傳送至
GoogleAdsService.SearchStream
敬上
看起來會類似以下 JSON 字串:
{
"results":[
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"10922"
},
"segments":{
"device":"MOBILE"
}
},
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"28297"
},
"segments":{
"device":"DESKTOP"
}
},
...
]
}
請注意,在上述結果範例中,第一和第二筆的屬性都屬於屬性。 包含資源名稱的物件曝光次數已經過區隔 依據 device,因此同一個廣告活動可以傳回兩個以上的物件。
隱性區隔
每份報表一開始都是按照 FROM
中指定的資源區隔
子句。FROM
子句中資源的 resource_name 欄位是
並依其區隔指標,即使 resource_name 欄位
未明確包含在查詢中舉例來說,指定
ad_group
做為資源,然後對 FROM
子句
ad_group.resource_name
會
並自動區隔指標
廣告群組層級。
針對這個查詢
SELECT metrics.impressions
FROM ad_group
則會產生類似下方的 JSON 字串:
{
"results":[
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/2222222222"
},
"metrics":{
"impressions":"237"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/33333333333"
},
"metrics":{
"impressions":"15"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/44444444444"
},
"metrics":{
"impressions":"0"
}
}
]
}
請注意,系統一律會傳回 adGroup
的 resource_name
欄位,原因是
ad_group
已在 FROM
子句中指定為資源。
可選取的區隔欄位
您無法為 FROM
子句中的指定資源選取部分區隔欄位。
舉例來說,我們將繼續從 ad_group
資源。若要從 ad_group 資源中選取區隔欄位,
該欄位需要存在於 ad_group 的 Segments
清單中。Segments
是清單中可用欄位表格的黃色部分
ad_group
資源的中繼資料頁面。
區隔資源
從某些資源中選取時,您或許可以選擇間接彙整
您可以在
FROM
子句中的資源。您可以在
FROM
子句中繼資料內資源上的 Attributed Resources
清單
頁面。如果是 ad_group
資源,您會看到
您也可從 campaign
中選取欄位
資源。任何 Attributed Resources
的 resource_name 欄位,且
系統會自動傳回 SELECT
子句中的 1 個欄位,即使
查詢中未明確包含 resource_name 欄位。
與選取 Attributed Resource
欄位的做法類似
Segmenting Resource
欄位。如果指定資源有 Segmenting Resources
,然後從列出的資源中選取欄位
將使查詢進一步按照該傳回的 resource_name 進行區隔
Segmenting Resource
。舉例來說,您會發現
campaign
資源已列為 Segmenting Resource
至 campaign_budget
資源。選取任一項目
廣告活動欄位,例如 campaign.name
,來自
campaign_budget 資源不僅會導致 campaign.name 欄位的值出現
但會導致
設為 campaign.resource_name
欄位
並區隔開來的
區隔和指標之間可選取性
某個區隔欄位可能與其他區隔不相容
或部分指標欄位找出區隔欄位
清單中有哪些項目相容,請查看「selectable_with
」清單
您必須在 SELECT
子句中填入區隔的資料。
如果是
ad_group
資源,則超過 50 個可用的區隔
即可選擇不同的機器類型不過,selectable_with
清單
segments.hotel_check_in_date
是較小型的相容區隔組合也就是說,如果您將
segments.hotel_check_in_date
欄位插入 SELECT
子句中,
這裡列出的可用路段
清單。
- 新增部分區隔時,摘要列中的指標可能會減少
- 在含有以下參數的查詢中加入
segments.keyword.info.match_type
時FROM ad_group_ad
,該區隔指示查詢「只」取得 ,然後移除與廣告活動無關聯的任何列 字詞。在本例中,由於系統會排除任何 非關鍵字指標
WHERE 子句中區隔的規則
如果區段位於 WHERE
子句中,則這必須同時位於 SELECT
中
子句。這項規則的例外情形是下列日期區隔:
稱為核心日期區隔:
segments.date
segments.week
segments.month
segments.quarter
segments.year
核心日期區隔欄位的規則
區隔 segments.date
、segments.week
、segments.month
、
segments.quarter
和 segments.year
函式,如下所示:
你可以使用
WHERE
子句進行篩選,而不顯示任何區隔 在SELECT
子句中。如果其中有任何區隔位於
SELECT
子句中,則會是一個有限的日期範圍 若包含核心日期區隔,必須在WHERE
子句中指定 (日期區隔不必與SELECT
)。
範例
無效:因為 segments.date 為
在 SELECT 子句中,您需要指定
segments.date 的 WHERE 子句
segments.week 、segments.month 、
segments.quarter 或 segments.year 。
|
SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
有效:這項查詢會傳回廣告活動名稱和
在指定日期範圍內累積的點擊次數。請注意,segments.date
不需要出現在 SELECT 子句中
|
SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
有效:這項查詢會傳回廣告活動名稱和 日期範圍內每一天按日期區隔的點擊。 |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
有效:這項查詢會傳回廣告活動名稱和 日期範圍內所有天數 (按月份區隔) 的點擊次數。 |
SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
有效:這項查詢會傳回廣告活動名稱和 按季區隔,再按月份區隔,該年度範圍內所有月份的點擊次數。 |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year > 2015 AND segments.year < 2020 |
search_term_view
請注意,對於
search_term_view
資源,也屬於
按廣告群組 (不只是搜尋字詞) 隱含區隔
其資源的結構
name,需要將
也包含廣告群組因此,您可能會看到一些似乎重複的項目
含有相同搜尋字詞的資料列在實際出現在結果中時
這些資料列就屬於不同的廣告群組:
{
"results":[
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"3"
},
"segments":{
"date":"2015-06-15"
}
},
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"2"
},
"segments":{
"date":"2015-06-15"
}
}
]
}
雖然這個範例中的兩個傳回物件似乎重複
但由於資源名稱不同,尤其是在「廣告群組」
部分。這表示搜尋字詞「Google 相簿」歸功於
相同日期 (2015-06-15) 的廣告群組 (ID 2222222222
和 33333333333
)。
因此,我們可以判斷這個 API 運作正常,而且並未傳回
重複的物件