คุณสามารถส่งการค้นหาสำหรับช่องทรัพยากร กลุ่ม และเมตริกไปยังเมธอด Search หรือ SearchStream ของ GoogleAdsService
หากต้องการสร้างคําค้นหาในภาษาคําค้นหาของ Google Ads คุณจะต้องสร้างโดยใช้ไวยากรณ์ภาษา คําค้นหาประกอบด้วยประโยคย่อยหลายประโยค ดังนี้
SELECT
FROM
WHERE
ORDER BY
LIMIT
PARAMETERS
ประโยคใช้ชื่อช่อง ชื่อทรัพยากร โอเปอเรเตอร์ เงื่อนไข และการจัดลําดับเพื่อช่วยเลือกข้อมูลที่ถูกต้อง เมื่อรวมเป็นคําค้นหาเดียวแล้ว คุณจะส่งคําขอได้โดยใช้ 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.id
campaign.name
ช่องทรัพยากร
bidding_strategy.id
bidding_strategy.name
ช่องกลุ่ม
segments.device
segments.date
เมตริก
metrics.impressions
metrics.clicks
ระบบอาจไม่อนุญาตให้ใช้ช่องบางช่องในประโยค SELECT
เนื่องจากข้อจำกัดต่อไปนี้
- การค้นหาฟิลด์ที่เลือกไม่ได้ ช่องเหล่านี้จะมีแอตทริบิวต์ข้อมูลเมตา
Selectable
ที่ทำเครื่องหมายเป็นfalse
- การเลือกแอตทริบิวต์ของฟิลด์ที่ซ้ำ ช่องเหล่านี้จะมีแอตทริบิวต์ข้อมูลเมตา
isRepeated
ที่ทำเครื่องหมายเป็นtrue
- การเลือกช่องที่ไม่พร้อมใช้งานสําหรับทรัพยากรที่ระบุในประโยค
FROM
คุณไม่สามารถเลือกแอตทริบิวต์ของทรัพยากรบางรายการร่วมกันได้ และจะมีเฉพาะเมตริกและกลุ่มย่อยของเมตริกและกลุ่มทั้งหมดที่ใช้ได้กับทรัพยากรในประโยคFROM
- การเลือกกลุ่มหรือเมตริกที่ใช้ร่วมกันไม่ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ที่ส่วนการแบ่งกลุ่ม
ดูข้อมูลเกี่ยวกับเงื่อนไขข้างต้นได้ในเอกสารอ้างอิงของเรา หรือจาก GoogleAdsFieldService
จาก
ประโยค FROM
จะระบุทรัพยากรหลักที่จะแสดง แหล่งข้อมูลในประโยค FROM
จะกำหนดช่องที่ใช้กับประโยคอื่นๆ ทั้งหมดสำหรับคำค้นหาหนึ่งๆ ได้ ระบุทรัพยากรได้เพียงรายการเดียวในอนุประโยค FROM
ต้องใช้อนุประโยค FROM
ในคําค้นหาเพื่อเรียกใช้เมธอด Search หรือ SearchStream ของ GoogleAdsService
แต่ไม่ควรระบุเมื่อใช้ GoogleAdsFieldService
แม้ว่าจะมีทรัพยากรได้เพียง 1 รายการในประโยค 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
ประโยค 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.date
segments.week
segments.month
segments.quarter
segments.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
ช่วยให้คุณระบุจำนวนผลลัพธ์ที่จะแสดงได้
ซึ่งจะเป็นประโยชน์ในกรณีที่คุณสนใจเฉพาะข้อมูลสรุป
เช่น คุณสามารถใช้ 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 examples | |
---|---|
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'