คุณสามารถใช้ Display & Video 360 API เพื่อจัดการ การใช้งานการเสนอราคาที่กําหนดเอง โดยสามารถสร้างอัลกอริทึมการเสนอราคาที่กําหนดเอง อัปโหลดและยืนยันสคริปต์แต่ละรายการ รวมถึงกำหนดอัลกอริทึมที่เฉพาะเจาะจงให้กับทรัพยากรเป็นกลยุทธ์การเสนอราคาได้
หน้านี้อธิบายวิธีสร้าง อัปเดต และกำหนดอัลกอริทึมการเสนอราคาที่กําหนดเองด้วย Display &Video 360 API โดยแต่ละส่วนจะมีตัวอย่างโค้ด
สร้างอัลกอริทึมการเสนอราคาที่กําหนดเอง
ออบเจ็กต์ CustomBiddingAlgorithm แสดงถึงอัลกอริทึมแต่ละรายการ
ที่คุณกำหนดให้กับรายการโฆษณาเพื่อใช้ในกลยุทธ์การเสนอราคา ออบเจ็กต์นี้มีรายละเอียดเกี่ยวกับอัลกอริทึม เช่น
customBiddingAlgorithmType,
entityStatus และ
customBiddingAlgorithmState คุณสามารถสร้าง
CustomBiddingScriptออบเจ็กต์เป็นทรัพยากรย่อยเพื่อให้อัลกอริทึม
ใช้ได้
ตัวอย่างวิธีสร้างอัลกอริทึมการเสนอราคาที่กําหนดเองซึ่งอิงตามสคริปต์มีดังนี้
Python
# Create a custom bidding algorithm object. custom_bidding_algorithm_obj = { 'advertiserId': advertiser-id, 'displayName': display-name, 'entityStatus': 'ENTITY_STATUS_ACTIVE', 'customBiddingAlgorithmType': 'SCRIPT_BASED' } # Create the custom bidding algorithm. response = service.customBiddingAlgorithms().create( body=algorithm_obj ).execute() # Display the new custom bidding algorithm. print(f'The following Custom Bidding Algorithm was created: {response}')
จัดการสิทธิ์เข้าถึงอัลกอริทึม
อัลกอริทึมการเสนอราคาที่กําหนดเองอาจเป็นของพาร์ทเนอร์หรือผู้ลงโฆษณาก็ได้ พาร์ทเนอร์ที่เป็นเจ้าของอัลกอริทึม
จะเข้าถึงและแก้ไขอัลกอริทึมดังกล่าวได้ รวมถึงผู้ลงโฆษณาย่อย
ที่ระบุไว้ในช่อง sharedAdvertiserIds
ผู้ลงโฆษณาที่เป็นเจ้าของอัลกอริทึมจะเข้าถึงและแก้ไขอัลกอริทึมดังกล่าวได้ รวมถึงพาร์ทเนอร์หลัก แต่จะแชร์กับผู้ลงโฆษณารายอื่นไม่ได้
หากใช้เฉพาะอัลกอริทึมสำหรับผู้ลงโฆษณารายเดียว ให้กำหนด
ผู้ลงโฆษณารายนั้นเป็นเจ้าของด้วยช่อง advertiserId
แต่หากใช้สำหรับผู้ลงโฆษณาหลายราย ให้กำหนดพาร์ทเนอร์หลักของผู้ลงโฆษณารายดังกล่าวเป็นเจ้าของด้วยช่อง
partnerId และให้สิทธิ์เข้าถึงแก่ผู้ลงโฆษณาด้วยช่อง
sharedAdvertiserIds
อัปโหลดสคริปต์
เมื่อสร้างอัลกอริทึมการเสนอราคาที่กําหนดเองแล้ว ให้สร้างสคริปต์เพื่อให้อัลกอริทึมนั้นใช้ อัลกอริทึมการเสนอราคาที่กําหนดเองซึ่งอิงตามสคริปต์จะใช้สคริปต์ที่ผู้ใช้ระบุ สคริปต์เพื่อประเมินมูลค่าของการแสดงผล ตัวอย่างสคริปต์อย่างง่ายและรายการ ช่องขั้นสูงมีให้บริการผ่าน ศูนย์ช่วยเหลือของ Display & Video 360
ส่วนต่อไปนี้จะสอนวิธีเพิ่มสคริปต์ใหม่หรืออัปเดตสคริปต์ลงในอัลกอริทึมการเสนอราคาที่กําหนดเอง
ดึงข้อมูลตําแหน่งทรัพยากรสคริปต์
ขั้นแรก ให้ดึงข้อมูลตําแหน่งทรัพยากรที่ใช้ได้ภายใต้ทรัพยากรอัลกอริทึมการเสนอราคาที่กําหนดเอง
ด้วยเมธอด
customBiddingAlgorithms.uploadScript คําขอนี้
จะแสดงผลออบเจ็กต์ CustomBiddingScriptRef ที่มี
ชื่อทรัพยากร คุณสามารถ
อัปโหลดไฟล์สคริปต์ไปยังตําแหน่งที่
ชื่อทรัพยากรกําหนด จากนั้นใช้ออบเจ็กต์การอ้างอิงสคริปต์การเสนอราคาที่กําหนดเองเพื่อ
สร้างทรัพยากรสคริปต์
ตัวอย่างวิธีดึงข้อมูลตําแหน่งทรัพยากรที่ใช้ได้มีดังนี้
Python
# Retrieve a usable custom bidding script reference # object. custom_bidding_script_ref = service.customBiddingAlgorithms().uploadScript( customBiddingAlgorithmId=custom-bidding-algorithm-id, advertiserId=advertiser-id ).execute() # Display the new custom bidding script reference object. print('The following custom bidding script reference object was retrieved:' f'{custom_bidding_script_ref}')
อัปโหลดไฟล์สคริปต์
หลังจากดึงข้อมูลตําแหน่งทรัพยากรที่ใช้ได้แล้ว ให้อัปโหลดไฟล์สคริปต์ไปยังตําแหน่งดังกล่าวในระบบ Display & Video 360 ด้วยเมธอด
media.upload เมธอดนี้รองรับการอัปโหลดอย่างง่ายที่ต้องใช้พารามิเตอร์การค้นหา
uploadType=media
ตัวอย่างวิธีอัปโหลดไฟล์สคริปต์เมื่อได้รับออบเจ็กต์การอ้างอิงสคริปต์การเสนอราคาที่กําหนดเองแล้วมีดังนี้
Python
# Create a media upload object. media = MediaFileUpload(script-path) # Create upload request. upload_request = service.media().upload( resourceName=resource-name, media_body=media) # Override response handler to expect null response. upload_request.postproc = HttpRequest.null_postproc # Upload script to resource location given in retrieved custom bidding # script reference object. upload_request.execute()
สร้างออบเจ็กต์สคริปต์
เมื่ออัปโหลดไฟล์สคริปต์แล้ว ให้สร้างทรัพยากรสคริปต์การเสนอราคาที่กําหนดเองด้วย
เมธอด customBiddingAlgorithms.scripts.create ออบเจ็กต์
CustomBiddingScript ที่ส่งในคําขอควรมีเพียง
ออบเจ็กต์ CustomBiddingScriptRef เป็นค่าที่กำหนด
ของช่อง script ซึ่งจะเชื่อมโยงไฟล์สคริปต์ที่อัปโหลดกับทรัพยากรสคริปต์ใหม่
ตัวอย่างวิธีสร้างไฟล์สคริปต์มีดังนี้
Python
# Create a custom bidding script object. script_obj = { 'script': custom-bidding-script-ref } # Create the custom bidding script. response = service.customBiddingAlgorithms().scripts().create( customBiddingAlgorithmId=custom-bidding-algorithm-id, advertiserId=advertiser-id, body=script_obj).execute() # Display the new custom bidding script object. print(f'The following custom bidding script was created: {response}')
เมื่อคุณสร้างทรัพยากรสคริปต์การเสนอราคาที่กําหนดเองแล้ว Display &Video 360 จะประมวลผลสคริปต์เพื่อให้แน่ใจว่าสามารถใช้ให้คะแนนการแสดงผลได้สําเร็จ
ดึงข้อมูลสถานะการประมวลผลนี้ผ่านช่อง
state ของออบเจ็กต์สคริปต์ เมื่อระบบยอมรับสคริปต์ใหม่แล้ว อัลกอริทึมการเสนอราคาที่กําหนดเองจะเริ่มใช้สคริปต์เพื่อให้คะแนนมูลค่าการแสดงผล ซึ่งจะเกิดขึ้นทันที ดังนั้นโปรดตรวจสอบว่าคุณต้องการอัปเดตอัลกอริทึมก่อนที่จะสร้างทรัพยากรสคริปต์ใหม่
กำหนดอัลกอริทึมการเสนอราคาที่กําหนดเอง
หลังจากสร้างอัลกอริทึมการเสนอราคาที่กําหนดเอง อัปโหลดสคริปต์ที่ระบบยอมรับ และเป็นไปตาม ข้อกําหนดที่จําเป็นแล้ว คุณสามารถกำหนดอัลกอริทึมการเสนอราคาที่กําหนดเอง ให้กับกลยุทธ์การเสนอราคาของรายการโฆษณาหรือใบสั่งซื้อการใส่โฆษณา
คุณสามารถใช้อัลกอริทึมการเสนอราคาที่กําหนดเองใน
กลยุทธ์การเสนอราคาเพื่อเพิ่มการใช้จ่ายสูงสุดและ
กลยุทธ์การเสนอราคาตามเป้าหมายประสิทธิภาพโดยกำหนด BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO
และรหัสอัลกอริทึมการเสนอราคาที่กําหนดเองให้กับช่อง
performanceGoalTypeและ
customBiddingAlgorithmIdตามลําดับ
พารามิเตอร์การเสนอราคาอื่นๆ อาจพร้อมใช้งานหรือจําเป็น ทั้งนี้ขึ้นอยู่กับกลยุทธ์การเสนอราคา
ตัวอย่างวิธีอัปเดตรายการโฆษณาให้ใช้กลยุทธ์การเสนอราคาเพื่อเพิ่มการใช้จ่ายสูงสุดด้วยอัลกอริทึมการเสนอราคาที่กําหนดเองมีดังนี้
Python
# Create the new bid strategy object. bidding_strategy = { 'maximizeSpendAutoBid': { 'performanceGoalType': 'BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO', 'customBiddingAlgorithmId': custom-bidding-algorithm-id } } # Create a line item object assigning the new bid strategy. line_item_obj = {'bidStrategy': bidding_strategy} # Update the line item with a new bid strategy. response = service.advertisers().lineItems().patch( advertiserId=advertiser-id, lineItemId=line-item-id, updateMask='bidStrategy', body=line_item_obj).execute() # Display the line item's new bid strategy print(f'Line Item {response["name"]} is now using the following bid' f' strategy: {response["bidStrategy"]}.')