GoogleAdsService คือบริการการดึงข้อมูลและการรายงานออบเจ็กต์แบบรวมของ Google Ads API บริการมีวิธีการต่อไปนี้
- ดึงข้อมูลแอตทริบิวต์ที่เฉพาะเจาะจงของออบเจ็กต์
- ดึงข้อมูลเมตริกประสิทธิภาพของออบเจ็กต์ตามช่วงวันที่
- จัดเรียงออบเจ็กต์ตามแอตทริบิวต์
- ใช้เงื่อนไขเพื่อระบุออบเจ็กต์ที่ต้องการแสดงในการตอบกลับ
- จำกัดจำนวนออบเจ็กต์ที่แสดงผล
GoogleAdsService สามารถแสดงผลลัพธ์ได้ 2 วิธีดังนี้
GoogleAdsService.SearchStreamแสดงผลแถวทั้งหมดในการตอบกลับแบบสตรีมรายการเดียว ซึ่งมีประสิทธิภาพมากขึ้นสำหรับชุดผลลัพธ์ขนาดใหญ่ (มากกว่า 10,000 แถว) ซึ่งอาจเหมาะสมกว่าหากแอปพลิเคชันการประมวลผลเป็นกลุ่มต้องการดาวน์โหลดข้อมูลให้ได้มากที่สุดโดยเร็วที่สุดGoogleAdsService.Searchจะแบ่งคำตอบขนาดใหญ่ออกเป็นหน้าผลลัพธ์ที่จัดการได้ ซึ่งอาจเหมาะสมกว่าหากแอปพลิเคชันแบบอินเทอร์แอกทีฟแสดงผลการค้นหาหน้าเดียวในแต่ละครั้ง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการแบ่งหน้าเว็บกับการสตรีม
ส่งคำขอ
วิธีการค้นหาต้องใช้ SearchGoogleAdsRequest ซึ่งประกอบด้วยแอตทริบิวต์ต่อไปนี้
customer_id- ภาษาของคําค้นหาของ Google Ads
queryที่ระบุแหล่งข้อมูลที่จะค้นหา แอตทริบิวต์ กลุ่ม และเมตริกที่จะดึงข้อมูล และเงื่อนไขที่จะใช้จํากัดออบเจ็กต์ที่จะแสดงผล - (
GoogleAdsService.Searchเท่านั้น)page_tokenไม่บังคับสำหรับดึงข้อมูลชุดผลลัพธ์ถัดไปเมื่อใช้การแบ่งหน้า
ดูข้อมูลเพิ่มเติมเกี่ยวกับภาษาของคําค้นหาของ Google Ads ได้ที่คําแนะนําเกี่ยวกับภาษาของคําค้นหาของ Google Ads
ประมวลผลการตอบกลับ
GoogleAdsService จะแสดงรายการออบเจ็กต์ GoogleAdsRow
GoogleAdsRow แต่ละรายการแสดงออบเจ็กต์ที่การค้นหาแสดงผล และประกอบด้วยชุดแอตทริบิวต์ที่สร้างขึ้นตามฟิลด์ที่ขอในประโยค SELECT ระบบจะไม่ป้อนข้อมูลแอตทริบิวต์ที่ไม่ได้รวมอยู่ในประโยค SELECT ลงในออบเจ็กต์ GoogleAdsRow ในคำตอบ
เช่น แม้ว่า ad_group_criterion จะมีแอตทริบิวต์ status แต่ระบบจะไม่ป้อนข้อมูลในช่อง status ของแอตทริบิวต์ ad_group_criterion ของแถวในการตอบกลับสำหรับข้อความค้นหาที่ประโยค SELECT ไม่ได้รวม ad_group_criterion.status ในทํานองเดียวกัน ระบบจะไม่ป้อนข้อมูลแอตทริบิวต์ campaign ของแถวหากประโยค SELECT ไม่ได้รวมช่องใดๆ จากแหล่งข้อมูล campaign
GoogleAdsRow แต่ละรายการอาจมีแอตทริบิวต์และเมตริกที่แตกต่างจากแถวอื่นในชุดผลลัพธ์เดียวกัน คุณจึงควรมองว่าแถวเป็นออบเจ็กต์แทนที่จะเป็นแถวคงที่ของตาราง
ประเภท enum ที่ไม่รู้จัก
เวอร์ชัน API นั้นไม่รองรับทรัพยากรที่แสดงผลซึ่งมีประเภทเป็น UNKNOWN อย่างเต็มรูปแบบ ทรัพยากรเหล่านี้อาจสร้างขึ้นผ่านอินเทอร์เฟซอื่นๆ เช่น UI ของ Google Ads คุณจะเลือกเมตริกได้เมื่อทรัพยากรมีประเภทเป็น UNKNOWN แต่คุณจะเปลี่ยนรูปแบบทรัพยากรผ่าน API ไม่ได้ ตัวอย่างของกรณีนี้อาจเป็นแคมเปญหรือโฆษณาใหม่ที่เปิดตัวใน UI แต่ระบบไม่รองรับใน API เวอร์ชันที่คุณค้นหา
ข้อควรพิจารณาที่ต้องคำนึงถึงมีดังนี้
- ทรัพยากรประเภท
UNKNOWNอาจได้รับการรองรับในภายหลังหรือเป็นUNKNOWNแบบไม่มีกำหนด - วัตถุใหม่ที่มีประเภท
UNKNOWNอาจปรากฏขึ้นได้ทุกเมื่อ ออบเจ็กต์เหล่านี้เข้ากันได้กับเวอร์ชันเก่าเนื่องจากมีค่า Enum อยู่แล้ว เราได้เปิดตัวแหล่งข้อมูลพร้อมกับการเปลี่ยนแปลงนี้เพื่อให้คุณมีมุมมองที่ถูกต้องเกี่ยวกับบัญชี ทรัพยากรUNKNOWNอาจปรากฏขึ้นเนื่องจากมีกิจกรรมใหม่ในบัญชีผ่านอินเทอร์เฟซอื่นๆ หรือเมื่อระบบไม่รองรับทรัพยากรนั้นอีกต่อไป - แหล่งข้อมูล
UNKNOWNอาจมีเมตริกแบบละเอียดที่ค้นหาได้แนบอยู่ UNKNOWNโดยปกติแล้ว ทรัพยากรจะแสดงอย่างเต็มรูปแบบใน UI ของ Google Ads- โดยทั่วไปแล้ว ทรัพยากร
UNKNOWNจะเปลี่ยนแปลงไม่ได้
การแบ่งกลุ่ม
การตอบกลับจะมี GoogleAdsRow 1 รายการสําหรับชุดค่าผสมแต่ละรายการต่อไปนี้
- อินสแตนซ์ของทรัพยากรหลักที่ระบุไว้ในประโยค
FROM - ค่าของช่อง
segmentแต่ละช่องที่เลือก
ตัวอย่างเช่น การตอบกลับสําหรับการค้นหาที่เลือก FROM campaign และมี segments.ad_network_type และ segments.date ในประโยค SELECT จะมี 1 แถวสําหรับชุดค่าผสมแต่ละรายการต่อไปนี้
campaignsegments.ad_network_typesegments.date
ระบบจะแบ่งกลุ่มผลลัพธ์โดยนัยตามอินสแตนซ์ของทรัพยากรหลักแต่ละรายการ ไม่ใช่ตามค่าของช่องแต่ละช่องที่เลือก ตัวอย่างเช่น
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
แสดงผล 1 แถวต่อแคมเปญ ไม่ใช่ 1 แถวต่อค่าที่แตกต่างกันของช่อง campaign.status