คุณสามารถส่งคำค้นหาสำหรับช่องทรัพยากร กลุ่ม และเมตริกไปยังเมธอด GoogleAdsService Search หรือ SearchStream ได้ หากต้องการสร้างคำค้นหาใน Google Ads Query Language ให้สร้างโดยใช้ไวยากรณ์ของภาษา ดูภาพรวมทั่วไปของ Google Ads Query Language ได้ที่ภาพรวมของ Google Ads Query Language การค้นหาประกอบด้วยส่วนคำสั่งหลายส่วน ดังนี้
SELECTFROMWHEREORDER BYLIMITPARAMETERS
ส่วนคำสั่งจะใช้ชื่อช่อง ชื่อทรัพยากร โอเปอเรเตอร์ เงื่อนไข และการจัดลำดับเพื่อช่วยคุณเลือกข้อมูลที่ถูกต้อง เมื่อรวมเป็นคำค้นหาเดียวแล้ว คุณจะส่งคำขอไปยัง Google Ads API ได้
อนุประโยค
ส่วนต่อไปนี้จะอธิบายวัตถุประสงค์และไวยากรณ์ของส่วนคำสั่ง Google Ads Query Language แต่ละรายการ
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 - การเลือกแอตทริบิวต์ของฟิลด์ที่ซ้ำได้ ฟิลด์เหล่านี้มีแอตทริบิวต์ข้อมูลเมตา
is_repeatedที่ทำเครื่องหมายเป็นtrue - การเลือกช่องที่ใช้ไม่ได้สำหรับทรัพยากรที่ระบุในส่วนคำสั่ง
FROMคุณไม่สามารถเลือกแอตทริบิวต์ของทรัพยากรบางรายการร่วมกันได้ และมีเพียงชุดย่อยของเมตริกและกลุ่มทั้งหมดเท่านั้นที่ใช้ได้กับทรัพยากรในส่วนคำสั่งFROM - การเลือกกลุ่มหรือเมตริกที่ใช้ร่วมกันไม่ได้ ดูข้อมูลเพิ่มเติมได้ที่การแบ่งกลุ่ม
ดูข้อมูลที่เกี่ยวข้องกับเงื่อนไขก่อนหน้าได้ในเอกสารอ้างอิงหรือจาก GoogleAdsFieldService
จาก
ส่วนคำสั่ง FROM จะระบุทรัพยากรหลักที่จะแสดงผล ทรัพยากรในส่วนคำสั่ง FROM จะกำหนดช่องที่ใช้ได้ในส่วนคำสั่งอื่นๆ ทั้งหมดสำหรับคำค้นหาที่ระบุ ระบุทรัพยากรได้เพียงรายการเดียวในส่วนคำสั่ง FROM ต้องมีส่วนคำสั่ง FROM ในคำค้นหาไปยังเมธอด GoogleAdsService Search หรือ SearchStream อย่างไรก็ตาม คุณไม่ควรระบุส่วนคำสั่ง FROM เมื่อใช้ GoogleAdsFieldService
แม้ว่าจะมีทรัพยากรได้เพียงรายการเดียวในส่วนคำสั่ง FROM สำหรับการค้นหาหนึ่งๆ แต่ฟิลด์จากทรัพยากรที่ระบุแหล่งที่มาก็อาจใช้ได้เช่นกัน ทรัพยากรเหล่านี้จะรวมเข้ากับทรัพยากรในส่วนคำสั่ง FROM โดยนัย คุณจึงต้องเพิ่มแอตทริบิวต์ลงในส่วนคำสั่ง SELECT เพื่อแสดงผลค่าเท่านั้น แหล่งข้อมูลบางรายการไม่มีแหล่งข้อมูลที่ระบุแหล่งที่มา ในตัวอย่างต่อไปนี้ คุณสามารถขอทั้งรหัสกลุ่มโฆษณาและรหัสแคมเปญจากกลุ่มโฆษณาได้
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 (หรือใช้ BETWEEN value AND value, IS NULL หรือ IS NOT NULL) ส่วนคำสั่ง 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 สามารถจำกัดจำนวนผลลัพธ์ทั้งหมดสำหรับคำค้นหาต่อไปนี้ได้
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
| การค้นหา | ทรัพยากรที่ส่งคืน |
|---|---|
SELECT campaign.name, customer.id FROM campaign |
|
SELECT campaign.name, customer.id FROM campaign PARAMETERS omit_unselected_resource_names = true |
ไม่มี
|
SELECT campaign.name, campaign.resource_name FROM campaign PARAMETERS omit_unselected_resource_names = true |
|
กฎภาษาเพิ่มเติม
นอกเหนือจากตัวอย่างสำหรับแต่ละส่วนคำสั่งแล้ว ภาษาในการค้นหาของ 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 campaignresource_name(เช่นcampaign.resource_name) สามารถ ใช้เพื่อกรองหรือจัดลำดับข้อมูลได้ ดังนี้SELECT campaign.id, campaign.name FROM campaign WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'