คุณส่งคำค้นหาสำหรับฟิลด์ทรัพยากร กลุ่ม และเมตริกไปยังเมธอด
GoogleAdsService Search หรือ SearchStream
ได้ หากต้องการสร้างคําค้นหาในภาษาการค้นหาของ Google Ads คุณจะต้องสร้างโดยใช้ไวยากรณ์ของภาษา หากต้องการดูภาพรวมทั่วไปของภาษาการค้นหาของ Google Ads โปรดดูภาพรวมภาษาการค้นหาของ Google Ads การค้นหาประกอบด้วย
หลายส่วน ดังนี้
SELECTFROMWHEREORDER BYLIMITPARAMETERS
โดยใช้ชื่อฟิลด์ ชื่อทรัพยากร ตัวดำเนินการ เงื่อนไข และการเรียงลำดับเพื่อช่วยคุณเลือกข้อมูลที่ถูกต้อง เมื่อรวมเป็นคำค้นหาเดียว คุณจะส่งคำขอได้โดยใช้ Google Ads API
ข้อ
วิดีโอ: ความเข้ากันได้ของฟิลด์ GAQL
SELECT
อนุประโยค SELECT จะระบุชุดฟิลด์ที่จะดึงข้อมูลในคำขอ
SELECT รับรายการฟิลด์ทรัพยากร ฟิลด์กลุ่ม
และเมตริกที่คั่นด้วยคอมมา โดยจะแสดงค่าในการตอบกลับ ต้องระบุSELECTในคำค้นหา
ตัวอย่างการค้นหาด้านล่างแสดงตัวอย่างการเลือกแอตทริบิวต์สำหรับทรัพยากรที่กำหนด
SELECT
campaign.id,
campaign.name
FROM campaign
คุณขอฟิลด์ประเภทต่างๆ ในคำขอเดียวได้ เช่น
SELECT
campaign.id,
campaign.name,
bidding_strategy.id,
bidding_strategy.name,
segments.device,
segments.date,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ฟิลด์ทรัพยากร
campaign.idcampaign.name
ฟิลด์ทรัพยากร
bidding_strategy.idbidding_strategy.name
ฟิลด์กลุ่ม
segments.devicesegments.date
เมตริก
metrics.impressionsmetrics.clicks
- การค้นหาช่องที่เลือกไม่ได้ ฟิลด์เหล่านี้จะมี
Selectableแอตทริบิวต์ข้อมูลเมตาที่ทำเครื่องหมายเป็นfalse - การเลือกแอตทริบิวต์ของฟิลด์ที่ซ้ำ ฟิลด์เหล่านี้จะมี
isRepeatedแอตทริบิวต์ข้อมูลเมตาที่ทำเครื่องหมายเป็นtrue - การเลือกฟิลด์ที่ไม่พร้อมใช้งานสำหรับทรัพยากรที่ระบุใน
FROMข้อกำหนด เลือกแอตทริบิวต์ของทรัพยากรบางอย่างพร้อมกันไม่ได้ และจะมีเฉพาะ ชุดย่อยของเมตริกและกลุ่มทั้งหมดที่พร้อมใช้งานสำหรับทรัพยากรใน ข้อFROM - การเลือกกลุ่มหรือเมตริกที่ใช้ร่วมกันไม่ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ที่ส่วนการแบ่งกลุ่ม
ดูข้อมูลที่เกี่ยวข้องกับเงื่อนไขข้างต้นได้ในเอกสารอ้างอิง
หรือจาก GoogleAdsFieldService
จาก
FROM ระบุแหล่งข้อมูลหลักที่จะแสดง
แหล่งข้อมูลในอนุประโยค FROM จะกำหนดฟิลด์ที่ใช้ได้ในอนุประโยคอื่นๆ ทั้งหมด
สำหรับคำค้นหาที่ระบุ ระบุทรัพยากรได้เพียงรายการเดียวใน
FROM ต้องระบุFROMในคำค้นหาไปยังเมธอด Search หรือ SearchStream ของ GoogleAdsService อย่างไรก็ตาม ไม่ควรระบุข้อความ FROM เมื่อใช้ GoogleAdsFieldService
แม้ว่าจะมีทรัพยากรได้เพียงรายการเดียวในอนุประโยค FROM สำหรับการค้นหาที่กำหนด แต่ฟิลด์จากทรัพยากรที่ระบุแหล่งที่มาก็อาจพร้อมใช้งานด้วย แหล่งข้อมูลเหล่านี้จะ
เชื่อมโยงกับแหล่งข้อมูลในFROM clause โดยนัย ดังนั้นคุณจึงต้อง
เพิ่มแอตทริบิวต์ของแหล่งข้อมูลเหล่านั้นลงในSELECT clause เพื่อแสดงค่า แหล่งข้อมูลบางรายการไม่มีแหล่งข้อมูลที่มีการระบุแหล่งที่มา ในตัวอย่างต่อไปนี้ คุณสามารถขอ
ทั้งรหัสกลุ่มโฆษณาและรหัสแคมเปญจากกลุ่มโฆษณาได้
SELECT
campaign.id,
ad_group.id
FROM ad_group
ระบบจะแสดงผลฟิลด์ resource_name ของทรัพยากรหลักเสมอ
ในตัวอย่างต่อไปนี้ ad_group.resource_name จะรวมอยู่ใน
การตอบกลับแม้ว่าจะไม่ได้เลือกอย่างชัดเจนในการค้นหา
SELECT ad_group.id
FROM ad_group
ทรัพยากรอื่นๆ ก็เช่นกันเมื่อเลือกอย่างน้อย 1 ฟิลด์
เช่น campaign.resource_name จะรวมอยู่ในคำตอบสำหรับคำค้นหาต่อไปนี้
SELECT
campaign.id,
ad_group.id
FROM ad_group
ที่ไหน
โดยWHEREระบุเงื่อนไขที่จะใช้เมื่อกรองข้อมูลสําหรับคําขอ เมื่อใช้คําสั่ง WHERE คุณจะระบุเงื่อนไขอย่างน้อย 1 รายการได้โดยใช้ AND เพื่อแยกเงื่อนไข แต่ละเงื่อนไขควรเป็นไปตามรูปแบบ
field_name Operator value โดยคุณจะระบุคําสั่ง WHERE หรือไม่ก็ได้ในคําค้นหา
ต่อไปนี้เป็นตัวอย่างการใช้ WHERE เพื่อแสดงเมตริกจากช่วงเวลาที่กำหนด
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
คุณรวมเงื่อนไขหลายรายการเพื่อกรองข้อมูลได้ ตัวอย่างนี้จะ ขอจำนวนคลิกของแคมเปญทั้งหมดที่มีการแสดงผลบนอุปกรณ์เคลื่อนที่ใน ช่วง 30 วันที่ผ่านมา
SELECT
campaign.id,
campaign.name,
segments.device,
metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
AND segments.device = MOBILE
AND segments.date DURING LAST_30_DAYS
กลุ่มในข้อความ WHERE ต้องอยู่ในข้อความ SELECT โดยมีข้อยกเว้นเป็นกลุ่มวันที่ต่อไปนี้ ซึ่งเรียกว่ากลุ่มวันที่หลัก
segments.datesegments.weeksegments.monthsegments.quartersegments.year
ในคำค้นหาต่อไปนี้ โปรดสังเกตว่ามีการเลือก segments.date
เนื่องจากกลุ่มนี้เป็นกลุ่มวันที่หลัก จึงต้องระบุช่วงวันที่ที่แน่นอนซึ่งประกอบด้วยกลุ่มวันที่หลักในประโยคเงื่อนไข WHERE
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
กลุ่มทั้งหมดที่ตรงตามเงื่อนไขข้างต้น ได้แก่ segments.date,
segments.week, segments.month, segments.quarter และ segments.year หากเลือกกลุ่มใดกลุ่มหนึ่งเหล่านี้ ต้องใช้กลุ่มดังกล่าวอย่างน้อย 1 กลุ่มใน
WHERE
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการกรองวันที่ได้ที่ช่วงวันที่
เมื่อกรอง คุณควรคำนึงถึงการคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ของตัวดำเนินการ ดูรายละเอียดเพิ่มเติมได้ที่การคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
ดูรายการโอเปอเรเตอร์ทั้งหมดได้ในไวยากรณ์ของภาษา
ORDER BY
โดยORDER BY จะระบุลำดับที่จะแสดงผลลัพธ์ ซึ่งจะช่วยให้คุณจัดเรียงข้อมูลจากน้อยไปมากหรือมากไปน้อย
ตามชื่อฟิลด์ได้ การเรียงลำดับแต่ละรายการจะระบุเป็น field_name ตามด้วย
ASC หรือ DESC หากไม่ได้ระบุทั้ง ASC และ DESC ค่าเริ่มต้นของลำดับจะเป็น ASC โดยคุณจะระบุคําสั่ง ORDER BY หรือไม่ก็ได้ในคําค้นหา
การค้นหาต่อไปนี้จะจัดเรียงแคมเปญที่แสดงผลตามจำนวนคลิกจากมากไปน้อย
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
คุณระบุฟิลด์หลายรายการในคําสั่ง ORDER BY ได้โดยใช้รายการที่คั่นด้วยคอมมา
การจัดลำดับจะเกิดขึ้นในลำดับเดียวกับที่ระบุไว้ในคำค้นหา
ตัวอย่างเช่น ในการค้นหานี้ซึ่งเลือกข้อมูลกลุ่มโฆษณา ผลลัพธ์จะจัดเรียง
ตามชื่อแคมเปญจากน้อยไปมาก จากนั้นตามจำนวน
การแสดงผลจากมากไปน้อย แล้วตามจำนวนคลิกจากมากไปน้อย
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
LIMIT
LIMIT clause ช่วยให้คุณระบุจำนวนผลลัพธ์ที่จะแสดงได้
ซึ่งจะเป็นประโยชน์หากคุณสนใจเฉพาะข้อมูลสรุป
เช่น LIMIT สามารถใช้เพื่อจำกัดจำนวนผลลัพธ์ทั้งหมดสำหรับการค้นหาต่อไปนี้
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
พารามิเตอร์
อนุประโยค PARAMETERS ช่วยให้คุณระบุพารามิเตอร์เมตาสำหรับคำขอได้
พารามิเตอร์เหล่านี้อาจส่งผลต่อประเภทแถวที่แสดง
ระบบรองรับพารามิเตอร์เมตาต่อไปนี้
include_drafts
ตั้งค่า include_drafts เป็น true เพื่ออนุญาตให้แสดงผลเอนทิตีฉบับร่าง
ค่าเริ่มต้นคือ false
ตัวอย่างเช่น การค้นหาต่อไปนี้จะดึงแคมเปญฉบับร่างพร้อมกับแคมเปญปกติ
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
omit_unselected_resource_names
ตั้งค่า omit_unselected_resource_names เป็น true เพื่อป้องกันไม่ให้ระบบแสดงชื่อทรัพยากรของ
ทรัพยากรแต่ละประเภทในการตอบกลับ เว้นแต่จะมีการขออย่างชัดเจน
ในข้อ SELECT ค่าเริ่มต้นคือ false
| ตัวอย่าง omit_unselected_resource_names | |
|---|---|
SELECT campaign.name, customer.id FROM campaign |
Returned resources:campaign.resource_name
omit_unselected_resource_names มีค่าเริ่มต้นเป็น false ดังนั้น
ระบบจะแสดงผลช่อง resource_name ทั้งหมด
|
SELECT campaign.name, customer.id FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resources: ไม่มี omit_unselected_resource_names ระบุเป็น true
และ campaign.resource_name กับ customer.resource_name
ไม่ได้เป็นส่วนหนึ่งของข้อกำหนด SELECT
|
SELECT campaign.name, campaign.resource_name FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resource:campaign.resource_name
omit_unselected_resource_names จะระบุเป็น true
และ campaign.resource_name จะขอเป็นส่วนหนึ่งของ
ข้อกำหนด SELECT
|
กฎภาษาเพิ่มเติม
นอกเหนือจากตัวอย่างสำหรับแต่ละข้อแล้ว ภาษาของคำค้นหาของ Google Ads ยังมีลักษณะการทำงานต่อไปนี้ที่สามารถนำไปใช้ได้
ไม่จำเป็นต้องระบุฟิลด์ทรัพยากรหลักในคําสั่ง
SELECTสําหรับการค้นหา เช่น คุณอาจต้องการใช้ฟิลด์ทรัพยากรหลักอย่างน้อย 1 รายการเพื่อกรองข้อมูลเท่านั้นSELECT campaign.id FROM ad_group WHERE ad_group.status = PAUSEDคุณเลือกเมตริกสำหรับทรัพยากรที่ต้องการได้เท่านั้น โดยไม่จำเป็นต้องระบุฟิลด์อื่นๆ จากทรัพยากรนั้นในการค้นหา
SELECT metrics.impressions, metrics.clicks, metrics.cost_micros FROM campaignเลือกฟิลด์การแบ่งกลุ่มได้โดยไม่ต้องมีฟิลด์ทรัพยากรหรือเมตริกที่เกี่ยวข้อง
SELECT segments.device FROM campaignฟิลด์
resource_name(เช่นcampaign.resource_name) สามารถใช้เพื่อกรองหรือจัดเรียงข้อมูลได้ดังนี้SELECT campaign.id, campaign.name FROM campaign WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'