การแบ่งกลุ่มซึ่งอยู่ใน UI ของ Google Ads เป็นเมนูแยกต่างหากสามารถ
ใน Google Ads API เพียงแค่เพิ่มฟิลด์ที่เหมาะสมลงในคำค้นหา สำหรับ
เช่น การเพิ่ม segments.device
ลงใน
จะทำให้ได้รายงานที่มีแถวสำหรับชุดค่าผสมของอุปกรณ์แต่ละชุดและ
ทรัพยากรที่ระบุใน FROM
วรรค และ
ค่าทางสถิติ (การแสดงผล, จำนวนคลิก, Conversion ฯลฯ) จะแบ่งให้แต่ละรายการ
ขณะที่ใน UI ของ Google Ads คุณสามารถใช้กลุ่มได้ครั้งละ 1 กลุ่มเท่านั้น โดยที่ 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"
}
},
...
]
}
โปรดทราบว่าในผลลัพธ์ตัวอย่างข้างต้น แอตทริบิวต์ของรายการที่ 1 และ 2 ออบเจ็กต์ที่มีชื่อทรัพยากรเหมือนกัน การแสดงผลจะแบ่งกลุ่ม ตาม device ทำให้สามารถแสดงออบเจ็กต์ 2 รายการขึ้นไปสำหรับแคมเปญเดียวกัน
การแบ่งกลุ่มลูกค้าโดยนัย
ในตอนแรก ทุกรายงานแบ่งกลุ่มตามแหล่งข้อมูลที่ระบุใน FROM
วรรค ฟิลด์ resource_name ของทรัพยากรในวรรค FROM
คือ
ที่แสดงผลและมีการแบ่งกลุ่มเมตริกตามค่านั้น แม้ว่าช่อง 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"
}
}
]
}
โปรดทราบว่าระบบจะแสดงผลช่อง resource_name
ของ adGroup
เสมอเนื่องจาก
มีการระบุ ad_group
เป็นทรัพยากรในวรรค FROM
ช่องกลุ่มที่เลือกได้
คุณเลือกช่องของกลุ่มสำหรับทรัพยากรในวรรค FROM
ไม่ได้
ยกตัวอย่างเช่น เราจะค้นหาจาก ad_group
ทรัพยากร หากต้องการให้เลือกช่องจากทรัพยากร ad_group ได้
ช่องดังกล่าวจะต้องอยู่ในรายการ Segments
สำหรับ ad_group Segments
รายการคือส่วนสีเหลืองของตารางฟิลด์ที่ใช้ได้บน
หน้าข้อมูลเมตาของทรัพยากร ad_group
ทรัพยากรของกลุ่ม
เมื่อเลือกจากแหล่งข้อมูลบางรายการ คุณอาจมีตัวเลือกในการเข้าร่วมโดยปริยาย
เกี่ยวกับแหล่งข้อมูลที่เกี่ยวข้องด้วยการเลือกช่องควบคู่ไปกับช่องของ
ในวรรคเงื่อนไข FROM
แหล่งข้อมูลที่เกี่ยวข้องเหล่านี้จะพบได้ใน
รายการ Attributed Resources
ในทรัพยากรในข้อมูลเมตาของวรรค FROM
ในกรณีของทรัพยากร ad_group
คุณจะเห็น
คุณสามารถเลือกช่องจาก campaign
ได้ด้วย
ทรัพยากร ฟิลด์ resource_name ของ Attributed Resources
ที่มีอย่างน้อย
ระบบจะแสดงผล 1 ฟิลด์ในวรรค SELECT
โดยอัตโนมัติ แม้ว่าฟังก์ชัน
ฟิลด์ 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 คุณต้องระบุช่วงวันที่ที่แน่นอนใน
วรรค WHERE สำหรับ segments.date
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 รูปภาพ" จะมาจากเมตริก
กลุ่มโฆษณา (รหัส 2222222222
และ 33333333333
) ในวันเดียวกัน (15-06-2015)
ดังนั้นเราสามารถสรุปได้ว่า API ทํางานตามที่ต้องการและไม่แสดงผล
ออบเจ็กต์ซ้ำกันในกรณีนี้