คุณสามารถส่งการค้นหาสำหรับฟิลด์ทรัพยากร กลุ่ม และเมตริกไปยังเมธอด 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
ในการค้นหาเมธอด GoogleAdsService
Search หรือ SearchStream แต่ไม่ควรระบุอยู่เมื่อใช้ 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
กลุ่มทั้งหมดที่เป็นไปตามเงื่อนไขข้างต้น ได้แก่ groups.date, segments.week,
segments.month,segment.quarter และsegment.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
ตัวอย่าง 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'