ภาษาของคำค้นหาใน Google Ads

คำศัพท์สำคัญ

ทรัพยากร
เอนทิตีใน Google Ads เช่น campaign หรือ ad_group
กลุ่ม
มิติข้อมูลที่ใช้จัดกลุ่มข้อมูล เช่น segments.date หรือ segments.device เมื่อรวมกลุ่มไว้ในส่วนคำสั่ง SELECT พร้อมกับเมตริก ระบบจะแยกเมตริกตามกลุ่ม
เมตริก
การวัดประสิทธิภาพ เช่น metrics.impressions หรือ metrics.clicks
แหล่งข้อมูลที่มีการระบุแหล่งที่มา
ทรัพยากรที่รวมเข้ากับทรัพยากรหลักโดยนัยในส่วนคำสั่ง FROM ซึ่งช่วยให้คุณเลือกแอตทริบิวต์ของทรัพยากรดังกล่าวพร้อมกับแอตทริบิวต์ของทรัพยากรหลักได้

ค้นหาข้อมูลทรัพยากรหรือข้อมูลเมตา

ภาษาการค้นหาของ Google Ads สามารถค้นหาข้อมูลประเภทต่อไปนี้จาก Google Ads API ได้

  • ทรัพยากรและแอตทริบิวต์ กลุ่ม และเมตริกที่เกี่ยวข้องโดยใช้ GoogleAdsService Search หรือ SearchStream: ผลลัพธ์จากคำค้นหา GoogleAdsService คือรายการอินสแตนซ์ GoogleAdsRow โดยที่ GoogleAdsRow แต่ละรายการแสดงถึงทรัพยากร

    หากมีการขอแอตทริบิวต์หรือเมตริก แถวจะมีช่องเหล่านั้นด้วย หากมีการขอกลุ่มใดๆ การตอบกลับจะแสดงแถวเพิ่มเติมสำหรับ Tuple ของกลุ่ม-ทรัพยากรแต่ละรายการด้วย

  • ข้อมูลเมตาเกี่ยวกับฟิลด์และทรัพยากรที่ใช้ได้ใน GoogleAdsFieldService: บริการนี้มีแคตตาล็อกของฟิลด์ที่ค้นหาได้พร้อมรายละเอียดเกี่ยวกับความเข้ากันได้และประเภท

    ผลลัพธ์จากการค้นหา GoogleAdsFieldService คือรายการอินสแตนซ์ GoogleAdsField โดยที่ GoogleAdsField แต่ละรายการมีรายละเอียดเกี่ยวกับฟิลด์ที่ขอ

ดูรายละเอียดเพิ่มเติมเกี่ยวกับโครงสร้างการค้นหาได้ที่โครงสร้างการค้นหาและไวยากรณ์ของ Google Ads Query Language

ค้นหาแอตทริบิวต์ของทรัพยากร

ต่อไปนี้คือตัวอย่างการค้นหาพื้นฐานสําหรับแอตทริบิวต์ของทรัพยากรแคมเปญที่แสดงวิธีแสดงรหัส ชื่อ และสถานะของแคมเปญ

SELECT
  campaign.id,
  campaign.name,
  campaign.status
FROM campaign
ORDER BY campaign.id

การค้นหานี้จะจัดเรียงตามรหัสแคมเปญ GoogleAdsRow ที่ได้แต่ละรายการจะแสดงออบเจ็กต์ campaign ที่สร้างขึ้นด้วยช่องที่เลือก รวมถึง resource_name ของแคมเปญ

หากต้องการดูว่ามีช่องอื่นๆ ใดบ้างที่ใช้ได้กับคำค้นหาแคมเปญ โปรดดูเอกสารอ้างอิง Campaign

ค้นหาเมตริก

นอกจากแอตทริบิวต์ที่เลือกสำหรับทรัพยากรหนึ่งๆ แล้ว คุณยังค้นหาเมตริกที่เกี่ยวข้องได้ด้วย ดังนี้

SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
  AND metrics.impressions > 1000
ORDER BY campaign.id

การค้นหานี้จะกรองเฉพาะแคมเปญที่มีสถานะเป็น PAUSED และมีการแสดงผลมากกว่า 1, 000 ครั้ง โดยจัดเรียงตามรหัสแคมเปญ GoogleAdsRow ที่ได้แต่ละรายการจะมีช่อง metrics ที่ป้อนข้อมูลด้วยเมตริกที่เลือก

ดูรายการเมตริกที่ค้นหาได้ในเอกสารประกอบของ Metrics

ค้นหากลุ่ม

นอกจากแอตทริบิวต์ที่เลือกสำหรับทรัพยากรหนึ่งๆ แล้ว คุณยังค้นหากลุ่มที่เกี่ยวข้องได้ด้วย ดังนี้

SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  metrics.impressions,
  segments.date
FROM campaign
WHERE campaign.status = 'PAUSED'
  AND metrics.impressions > 1000
  AND segments.date DURING LAST_30_DAYS
ORDER BY campaign.id

การค้นหานี้จะกรองเฉพาะแคมเปญที่มีสถานะเป็น PAUSED และมีการแสดงผลมากกว่า 1, 000 ครั้ง ซึ่งคล้ายกับการค้นหาเมตริก อย่างไรก็ตาม การค้นหานี้จะแบ่งกลุ่มข้อมูลตามวันที่ ซึ่งจะทำให้แต่ละ GoogleAdsRow ที่ได้แสดงถึงทูเพิลของแคมเปญและกลุ่มวันที่ การแบ่งกลุ่มจะแยกเมตริกที่เลือก โดยจัดกลุ่มตามแต่ละกลุ่มในส่วนคำสั่ง SELECT

ดูรายการกลุ่มที่ค้นหาได้ในเอกสารประกอบของ Segments

ในการค้นหาทรัพยากรหนึ่งๆ คุณอาจรวมทรัพยากรที่เกี่ยวข้องอื่นๆ ได้ (หากมี) แหล่งข้อมูลที่เกี่ยวข้องเหล่านี้เรียกว่า "แหล่งข้อมูลที่ระบุแหล่งที่มา" คุณสามารถรวมทรัพยากรที่ระบุแหล่งที่มาโดยนัยได้โดยเลือกแอตทริบิวต์ในการค้นหา

SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  bidding_strategy.name
FROM campaign
ORDER BY campaign.id

การค้นหานี้ไม่เพียงเลือกแอตทริบิวต์แคมเปญเท่านั้น แต่ยังดึงแอตทริบิวต์ที่เกี่ยวข้องจากแต่ละแคมเปญที่เลือกด้วย GoogleAdsRow ที่ได้แต่ละรายการจะแสดงออบเจ็กต์ campaign ที่สร้างขึ้นด้วยแอตทริบิวต์แคมเปญที่เลือก รวมถึงแอตทริบิวต์กลยุทธ์การเสนอราคาที่เลือก bidding_strategy.name

หากต้องการดูแหล่งข้อมูลที่มีการระบุแหล่งที่มาซึ่งใช้ได้กับคำค้นหาแคมเปญ โปรดดูเอกสารอ้างอิง Campaign

แนวทางปฏิบัติแนะนำ

  • เลือกเฉพาะช่องที่ต้องการเพื่อหลีกเลี่ยงเวลาในการตอบกลับที่นานและหมดเวลา
  • ใช้ LIMIT ระหว่างการพัฒนาและการทดสอบเพื่อหลีกเลี่ยงการประมวลผลชุดผลลัพธ์ขนาดใหญ่
  • ใช้ตัวกรองในส่วนคำสั่ง WHERE เพื่อลดการโอนข้อมูลและขนาดการตอบกลับ
  • ใช้ GoogleAdsFieldService เพื่อตรวจสอบความเข้ากันได้ของฟิลด์และประเภทข้อมูลก่อนสร้างการค้นหาที่ซับซ้อน
  • โปรดทราบว่าบางฟิลด์ โดยเฉพาะฟิลด์ที่เกี่ยวข้องกับข้อมูลจำนวนมากหรือการคำนวณที่ซับซ้อน อาจเพิ่มค่าใช้จ่ายในการค้นหา

เปลี่ยนแปลงตามผลการค้นหา

เมื่อค้นหาทรัพยากรที่ระบุ คุณจะใช้ผลลัพธ์ที่แสดงเป็นออบเจ็กต์ แก้ไข และส่งกลับไปยังเมธอด Mutate ในบริการของทรัพยากรนั้นได้ทันที ตัวอย่างเวิร์กโฟลว์มีดังนี้

  1. เรียกใช้การค้นหาแคมเปญ PAUSED ทั้งหมดที่มีการแสดงผลมากกว่า 1,000 ครั้ง
  2. รับออบเจ็กต์ Campaign จากช่อง campaign ของ GoogleAdsRow แต่ละรายการในการตอบกลับ
  3. เปลี่ยนสถานะของแต่ละแคมเปญจาก PAUSED เป็น ENABLED
  4. เรียกใช้ CampaignService.MutateCampaigns พร้อมแคมเปญที่แก้ไขและ FieldMask ที่เกี่ยวข้องเพื่ออัปเดตแคมเปญ

ข้อมูลเมตาของช่อง

คำค้นหาที่ส่งไปยัง GoogleAdsFieldService มีไว้เพื่อดึงข้อมูลเมตาของช่อง ข้อมูลนี้สามารถใช้เพื่อทำความเข้าใจวิธีใช้ช่องร่วมกันในการค้นหา เนื่องจากข้อมูลพร้อมใช้งานจาก API และมีข้อมูลเมตาที่จำเป็นสำหรับการตรวจสอบหรือสร้างการค้นหา นักพัฒนาซอฟต์แวร์จึงสามารถดำเนินการดังกล่าวแบบเป็นโปรแกรมได้ ตัวอย่างการค้นหาข้อมูลเมตาโดยทั่วไปมีดังนี้

SELECT
  name,
  category,
  selectable,
  filterable,
  sortable,
  selectable_with,
  data_type,
  is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"

คุณสามารถแทนที่ <INSERT_RESOURCE_OR_FIELD> ในคำค้นหานี้ด้วยทรัพยากร (เช่น customer หรือ campaign) หรือช่อง (เช่น campaign.id, metrics.impressions หรือ ad_group.id)

ดูรายการช่องที่ค้นหาได้ในเอกสารประกอบของ GoogleAdsField

ความแตกต่างเฉพาะเวอร์ชัน

แม้ว่าไวยากรณ์ ส่วนคำสั่ง และโอเปอเรเตอร์ของ Google Ads Query Language จะเหมือนกันใน Google Ads API เวอร์ชันที่รองรับทั้งหมด (v23, v24, v25 และ v26) แต่แคตตาล็อกของทรัพยากร กลุ่ม เมตริก และลักษณะการรายงานที่ค้นหาได้จะแตกต่างกันไปตามเวอร์ชันหลัก ค้นหา GoogleAdsFieldService ที่ปลายทางเวอร์ชัน API เป้าหมายเพื่อตรวจสอบฟิลด์และกฎความเข้ากันได้สำหรับเวอร์ชันนั้นๆ

  • มุมมองชิ้นงาน Final URL Expansion:
    • การรองรับแคมเปญ Shopping (v26 ขึ้นไป): final_url_expansion_asset_view รองรับแคมเปญ Shopping (campaign.advertising_channel_type = 'SHOPPING') นอกเหนือจากแคมเปญ Performance Max และ Search สําหรับแคมเปญ Shopping คุณสามารถเลือกและกรองตามช่อง ad_group ได้ แต่จะเลือกช่อง asset_group ไม่ได้
    • เมตริกที่เลือกได้ (v25 ขึ้นไป): การค้นหา final_url_expansion_asset_view จะแสดงเมตริกที่เลือกได้ทั้งหมดสำหรับมุมมอง ใน v24 และเวอร์ชันก่อนหน้า การตอบกลับจะมีเฉพาะ metrics.conversions และ metrics.conversions_value สำหรับแคมเปญ Performance Max และ metrics.impressions สำหรับแคมเปญ Search
  • แหล่งข้อมูลเป้าหมายวงจรลูกค้า: ใน v25 ขึ้นไป ระบบจะค้นหาเป้าหมายวงจรลูกค้าทั้งหมด (การได้ลูกค้าใหม่ การรักษาลูกค้า และการรักษาความภักดี) จากแหล่งข้อมูล goal และ campaign_goal_config ที่รวมกัน โดยแทนที่ customer_lifecycle_goal และ campaign_lifecycle_goal (ซึ่งใช้สำหรับเป้าหมายการได้ลูกค้าใหม่ใน v24 และเวอร์ชันก่อนหน้า ควบคู่ไปกับ goal และ campaign_goal_config สำหรับเป้าหมายการรักษาลูกค้า)
  • การรายงานสินค้า Shopping สําหรับ App Campaign: ใน v24 ขึ้นไป แหล่งข้อมูล shopping_product จะแสดงแถวผลิตภัณฑ์สําหรับ App Campaign นอกเหนือจากแคมเปญ Shopping, Performance Max, Demand Gen และแคมเปญวิดีโอ (ใน v23 ระบบจะยกเว้น App Campaign จากผลลัพธ์ shopping_product)
  • แหล่งข้อมูล กลุ่ม และเมตริกเฉพาะเวอร์ชัน
    • v26 ขึ้นไป: มีทรัพยากร search_lift_keyword_bundle, campaign.lift_measurement_config, local_services_lead.campaign, segments.search_lift_keyword_bundle, segments.search_property และเมตริก Search Lift (เช่น metrics.relative_search_lift, metrics.normalized_incremental_searches, metrics.search_lift_cost_micros และ metrics.search_lift_impressions)
    • v25 ขึ้นไป: มีแหล่งข้อมูลการวัดผล Lift (เช่น lift_measurement_config) กลุ่มต่างๆ เช่น segments.ad_sub_format_type และ segments.loyalty_membership รวมถึงเมตริกการมีส่วนร่วมใน YouTube (metrics.youtube_likes, metrics.youtube_comments และ metrics.youtube_shares) นำ local_services_lead.contact_details.email ออก (ซึ่งเลือกได้ใน v24 และเวอร์ชันก่อนหน้า)
    • v24 ขึ้นไป: รวมทรัพยากร cart_data_sales_view, segments.conversion_attribution_event_type ใน shopping_performance_view, segments.mobile_device_platform และ segments.ad_network_type ใน performance_max_placement_view นำ campaign.video_brand_safety_suitability (แทนที่ด้วย customer.video_brand_safety_suitability), segments.ad_sub_network_type ใน campaign_budget และ segments.click_type ใน ad_group_asset, campaign_asset และ customer_asset (ซึ่งเลือกได้เฉพาะใน v23) ออก
  • รหัสข้อผิดพลาดในการมองย้อนกลับวันที่แบบละเอียด: คำค้นหาที่แบ่งกลุ่มตาม segments.date, segments.week หรือ segments.hour (หรือกรองตามช่วงวันที่ที่สั้นกว่า 1 เดือน) นอกกรอบเวลามองย้อนกลับ 37 เดือนจะแสดงผล DateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTED ใน v24 ขึ้นไป (หรือ DateRangeError.UNKNOWN ใน v23) ดูรายละเอียดได้ที่ช่วงวันที่

ตัวอย่างโค้ด

ไลบรารีของไคลเอ็นต์มีตัวอย่างการใช้ภาษาคำค้นหาของ Google Ads ใน GoogleAdsService โฟลเดอร์การดำเนินการพื้นฐานมีตัวอย่าง เช่น GetCampaigns, GetKeywords และ SearchForGoogleAdsFields