คุณส่งคำค้นหาสำหรับฟิลด์ทรัพยากร กลุ่ม และเมตริกไปยังเมธอด GoogleAdsService Search หรือ SearchStream
ได้ หากต้องการสร้างคําค้นหาในภาษาการค้นหาของ 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
SELECT บางช่องอาจไม่อนุญาตในข้อกำหนดเนื่องจากข้อจำกัดต่อไปนี้
- การค้นหาช่องที่เลือกไม่ได้ ฟิลด์เหล่านี้จะมี
Selectableแอตทริบิวต์ข้อมูลเมตาที่ทำเครื่องหมายเป็นfalse - การเลือกแอตทริบิวต์ของฟิลด์ที่ซ้ำ ฟิลด์เหล่านี้จะมี
isRepeatedแอตทริบิวต์ข้อมูลเมตาที่ทำเครื่องหมายเป็นtrue - การเลือกฟิลด์ที่ไม่พร้อมใช้งานสำหรับทรัพยากรที่ระบุใน
FROMข้อความ เลือกแอตทริบิวต์ของทรัพยากรบางอย่างพร้อมกันไม่ได้ นอกจากนี้ จะมีเฉพาะ ชุดย่อยของเมตริกและกลุ่มทั้งหมดที่พร้อมใช้งานสำหรับทรัพยากรในFROMเท่านั้น - การเลือกกลุ่มหรือเมตริกที่ใช้ร่วมกันไม่ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ที่ส่วนการแบ่งกลุ่ม
ดูข้อมูลที่เกี่ยวข้องกับเงื่อนไขข้างต้นได้ในเอกสารอ้างอิง
หรือจาก GoogleAdsFieldService
จาก
FROM ระบุแหล่งข้อมูลหลักที่จะแสดง
แหล่งข้อมูลในอนุประโยค FROM จะกำหนดฟิลด์ที่ใช้ได้ในอนุประโยคอื่นๆ ทั้งหมด
สำหรับคำค้นหาที่ระบุ ระบุทรัพยากรได้เพียงรายการเดียวใน
ข้อความ FROM ต้องระบุFROM clause ในคำค้นหาเพื่อใช้เมธอด 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'