การจัดการการกําหนดเป้าหมายตามทรัพยากรเป็นฟีเจอร์หลักของโฆษณา Display และ API ของวิดีโอ 360 การกำหนดเป้าหมายสามารถกำหนดให้กับประเภททรัพยากรได้หลายประเภทและใช้ ทรัพยากรและ ID พื้นที่อื่นๆ หน้านี้แสดงรายละเอียดของข้อจำกัดที่ควรทราบและดีที่สุด สำหรับการนำดิสเพลย์และ การกำหนดเป้าหมายที่กำหนดสำหรับ Video 360 API บริการตัวเลือก
ใช้การสืบทอดการกำหนดเป้าหมาย
ทรัพยากรย่อยจะรับการกำหนดเป้าหมายที่กำหนดให้กับทรัพยากรบางรายการได้ ที่ไม่ซับซ้อน ตัวเลือกการกำหนดเป้าหมายที่รับช่วงมาจากทรัพยากรย่อยจะดึงข้อมูลได้ แต่ ไม่สามารถแก้ไขได้ในระดับทรัพยากรย่อย ซึ่งจะเปิดใช้การตั้งค่าความปลอดภัยของแบรนด์และ การกำหนดเป้าหมายอื่นๆ ที่จะบังคับใช้กับทุกส่วนของพาร์ทเนอร์หรือผู้ลงโฆษณา
ดูเส้นทางการรับค่าได้ในแผนภาพด้านล่าง
ระดับการกำหนดเป้าหมายบางระดับรองรับแค่ชุดย่อยของ ประเภทการกำหนดเป้าหมาย ซึ่งหมายความว่าคุณจะตั้งค่าตัวเลือกการกำหนดเป้าหมายบางอย่างที่สูงกว่าไม่ได้ และรับค่าเดิมมา แต่ต้องตั้งค่าที่ระดับต่ำกว่าแทน
การรับค่าใน YouTube และ แหล่งข้อมูล Partners
การสืบทอดการกำหนดเป้าหมายจะไม่แสดงสำหรับ YouTube และ แหล่งข้อมูลสำหรับพาร์ทเนอร์ใน
ดิสเพลย์และ API ของวิดีโอ 360 การกำหนดเป้าหมายที่กลุ่มโฆษณารับช่วงมาจะไม่
ดึงข้อมูลได้ในระดับ AdGroup
และการกำหนดเป้าหมายใน YouTube
ทรัพยากรย่อยจะไม่รับค่าที่มอบหมายให้กับทรัพยากรระดับบนสุด
ในการเรียกการตั้งค่าการกำหนดเป้าหมายการทำงานทั้งหมดของกลุ่มโฆษณา คุณ ควรเรียกตัวเลือกการกำหนดเป้าหมายที่กำหนดไว้สำหรับกลุ่มโฆษณา รายการโฆษณาระดับบนสุด และผู้ลงโฆษณาระดับบนสุด
ทราบถึงการกำหนดเป้าหมายที่กำหนดให้กับการสร้างรายการโฆษณา
นอกเหนือจากตัวเลือกการกำหนดเป้าหมายที่รับช่วงมา การกำหนดเป้าหมายส่วนใหญ่จะสามารถกำหนดได้เฉพาะ หลังจากสร้างรายการโฆษณาแล้ว อย่างไรก็ตาม มีการกำหนดเป้าหมาย 2-3 ประเภทที่มี ชุดย่อยของค่าเริ่มต้นที่กำหนดไว้ให้กับรายการโฆษณาขณะสร้างรายการโฆษณา เหล่านั้น ประเภทการกำหนดเป้าหมาย ได้แก่
พยายามสร้างตัวเลือกการกำหนดเป้าหมายที่มีอยู่แล้วหรือลบตัวเลือกการกำหนดเป้าหมายที่มอบหมายแล้วซึ่งไม่มีอยู่จริง
แสดงข้อผิดพลาด ดังนั้นเราขอแนะนำว่าคุณควรทราบถึงชุดการกำหนดเป้าหมายที่สมบูรณ์
ที่กำหนดให้กับรายการโฆษณา
ขณะสร้างอีกด้วย หากคุณต้องการเรียกข้อมูล
การกำหนดเป้าหมายที่กำหนดให้รายการโฆษณา
ในประเภทการกำหนดเป้าหมายต่างๆ
advertisers.lineItems.bulkListAssignedTargetingOptions
นอกจากนี้ การตั้งค่าบางอย่างจะได้รับการตั้งค่าโดยค่าเริ่มต้นเมื่อไม่มีตัวเลือกการกำหนดเป้าหมายดังกล่าว
กำหนดประเภทให้กับทรัพยากรแล้ว ตัวอย่างเช่น หากทรัพยากรไม่มี
TARGETING_TYPE_AUTHORIZED_SELLER_STATUS
ที่กำหนดไว้ ซึ่งหมายความว่าบริษัทกำลังใช้ตัวเลือก "โดยตรงที่ได้รับอนุญาต
ผู้ขายและตัวแทนจำหน่าย" สถานะ
อย่าคาดหวัง "การกำหนดเป้าหมายเริ่มต้น" โดยอัตโนมัติ
บนหน้าจอและ Video 360, การกำหนดเป้าหมายที่ตั้งค่าไว้ที่ระดับแคมเปญหรือใบสั่งซื้อการใส่โฆษณาคือ ไม่ได้ส่งผ่านไปยังรายการโฆษณาย่อยทันที การกำหนดเป้าหมายนี้เรียกว่า "การกำหนดเป้าหมายเริ่มต้น" และใช้เป็นเทมเพลตการกำหนดเป้าหมาย ที่ใช้กับรายการโฆษณาที่สร้างขึ้นใน UI ในภายหลัง
ในหน้าจอและ Video 360 API, การกำหนดเป้าหมายเริ่มต้นจะไม่มีผลโดยอัตโนมัติกับ สร้างรายการโฆษณา การสร้างรายการโฆษณาแบบพื้นฐานไม่ได้คัดลอกไปยังแคมเปญใดๆ หรือการกำหนดเป้าหมายระดับใบสั่งซื้อการใส่โฆษณา ในกรณีนี้ การกำหนดเป้าหมายที่ต้องการต้องเป็น ใช้กับรายการโฆษณาแยกกันผ่านตัวเลือกการกำหนดเป้าหมายที่กำหนด สร้างหรือแก้ไขแบบเป็นกลุ่ม
ยกเว้นวิธีพิเศษได้ ตัวอย่างเช่น รายการโฆษณาที่สร้างผ่าน
สำเนา advertisers.lineItems.generateDefault
จากใบสั่งซื้อการใส่โฆษณาระดับบนสุด รวมถึงการกำหนดเป้าหมายที่กำหนด
ในทํานองเดียวกัน รายการโฆษณาที่สร้างผ่านการทำซ้ำจะได้รับ
กำหนดเป้าหมายเดียวกับรายการโฆษณาดั้งเดิม
YouTube และ ไม่สามารถแก้ไขการกำหนดเป้าหมายพาร์ทเนอร์
การกำหนดเป้าหมายเฉพาะสำหรับ YouTube และ ไม่สามารถอัปเดตแคมเปญพาร์ทเนอร์โดยใช้ จอแสดงผลและ API ของวิดีโอ 360
YouTube และ การกำหนดเป้าหมายพาร์ทเนอร์ประกอบด้วยการกำหนดเป้าหมายทั้งหมดที่กำหนดให้กับ YouTube และ รายการโฆษณาและกลุ่มโฆษณาของพาร์ทเนอร์ การกำหนดเป้าหมายประเภทใดก็ได้ต่อไปนี้
TARGETING_TYPE_SESSION_POSITION
TARGETING_TYPE_YOUTUBE_CHANNEL
TARGETING_TYPE_YOUTUBE_VIDEO
คุณอัปเดตการกำหนดเป้าหมายนี้ได้โดยใช้เครือข่ายดิสเพลย์และ UI ของ Video 360 โดยตรงหรือตาม การอัปโหลดไฟล์ข้อมูลที่มีโครงสร้าง
กำหนดการกำหนดกลุ่มเป้าหมายด้วยตัวเลือกเดียว
ตัวเลือกการกำหนดเป้าหมายสำหรับประเภทการกำหนดเป้าหมายส่วนใหญ่จะกำหนดแยกกัน กลุ่มเป้าหมาย
การกำหนดเป้าหมายเป็นกลุ่มไม่เป็นไปตามรูปแบบโมดูลนี้ แต่ได้รับการกำหนดให้แทน
ในที่เดียว กำหนดค่าได้
รายละเอียดการกำหนดเป้าหมายกลุ่มเป้าหมายที่แสดง
รหัสของกลุ่มเป้าหมายที่จะรวมและยกเว้นเมื่อแสดงโฆษณา
assignedTargetingOptionId
สำหรับตัวเลือกกลุ่มเป้าหมายนี้
เมื่อกำหนดแล้วจะเป็น "audienceGroup" เสมอ
การออกแบบนี้หมายความว่าการเปลี่ยนแปลงใดๆ ในการกำหนดเป้าหมายตามกลุ่มเป้าหมายจะต้องทำโดย
ลบกลุ่มเป้าหมายที่มีอยู่ที่มอบหมายก่อนออก
ตัวเลือกการกำหนดเป้าหมาย แล้วสร้างกลุ่มเป้าหมายใหม่
ตัวเลือกการกำหนดเป้าหมายที่ต้องการเปลี่ยนแปลง ซึ่งทำได้ในคำขอเดียว
โดยใช้
advertisers.lineItems.bulkEditAssignedTargetingOptions
มาดูตัวอย่างของวิธีอัปเดตการกำหนดกลุ่มเป้าหมายในเชิงบวก กำหนดกลุ่มเป้าหมายของ Google เพิ่มเติม:
Java
long advertiserId = advertiser-id; long lineItemId = line-item-id List<Long> addedGoogleAudienceIds = Arrays.asList(google-audience-id-to-add,...); // Build Google audience targeting settings objects to add to audience // targeting. ArrayList<GoogleAudienceTargetingSetting> newGoogleAudienceSettings = new ArrayList<GoogleAudienceTargetingSetting>(); // Convert list of Google Audience IDs into list of settings. for (Long googleAudienceId : addedGoogleAudienceIds) { newGoogleAudienceSettings.add(new GoogleAudienceTargetingSetting() .setGoogleAudienceId(googleAudienceId)); } // Create relevant bulk edit request objects. BulkEditLineItemAssignedTargetingOptionsRequest requestContent = new BulkEditLineItemAssignedTargetingOptionsRequest(); AudienceGroupAssignedTargetingOptionDetails updatedAudienceGroupDetails; ArrayList<DeleteAssignedTargetingOptionsRequest> audienceGroupDeleteRequests = new ArrayList<DeleteAssignedTargetingOptionsRequest>(); try { // Retrieve existing audience group targeting. AssignedTargetingOption existingAudienceGroupTargetingOption = service .advertisers() .lineItems() .targetingTypes() .assignedTargetingOptions() .get( advertiserId, lineItemId, "TARGETING_TYPE_AUDIENCE_GROUP", "audienceGroup" ).execute(); // Extract existing audience group targeting details. updatedAudienceGroupDetails = existingAudienceGroupTargetingOption.getAudienceGroupDetails(); // Build and add delete request for existing audience group targeting. ArrayList<String> deleteAudienceGroupAssignedTargetingIds = new ArrayList<String>(); deleteAudienceGroupAssignedTargetingIds.add("audienceGroup"); audienceGroupDeleteRequests .add(new DeleteAssignedTargetingOptionsRequest() .setTargetingType("TARGETING_TYPE_AUDIENCE_GROUP") .setAssignedTargetingOptionIds( deleteAudienceGroupAssignedTargetingIds ) ); } catch (GoogleJsonResponseException e) { updatedAudienceGroupDetails = new AudienceGroupAssignedTargetingOptionDetails(); } // Set delete requests in edit request. requestContent.setDeleteRequests(audienceGroupDeleteRequests); // Construct new group of Google Audiences to include in targeting. GoogleAudienceGroup updatedIncludedGoogleAudienceGroup = updatedAudienceGroupDetails.getIncludedGoogleAudienceGroup(); if (updatedIncludedGoogleAudienceGroup != null) { List<GoogleAudienceTargetingSetting> updatedGoogleAudienceSettings = updatedIncludedGoogleAudienceGroup.getSettings(); updatedGoogleAudienceSettings.addAll(newGoogleAudienceSettings); updatedIncludedGoogleAudienceGroup .setSettings(updatedGoogleAudienceSettings); } else { updatedIncludedGoogleAudienceGroup = new GoogleAudienceGroup(); updatedIncludedGoogleAudienceGroup.setSettings(newGoogleAudienceSettings); } // Add new Google Audience group to audience group targeting details. updatedAudienceGroupDetails .setIncludedGoogleAudienceGroup(updatedIncludedGoogleAudienceGroup); // Create new targeting option to assign. AssignedTargetingOption newAudienceGroupTargeting = new AssignedTargetingOption(); newAudienceGroupTargeting .setAudienceGroupDetails(updatedAudienceGroupDetails); // Build audience group targeting create request and add to list of create // requests. ArrayList<AssignedTargetingOption> createAudienceGroupAssignedTargetingOptions = new ArrayList<AssignedTargetingOption>(); createAudienceGroupAssignedTargetingOptions.add(newAudienceGroupTargeting); ArrayList<CreateAssignedTargetingOptionsRequest> targetingCreateRequests = new ArrayList<CreateAssignedTargetingOptionsRequest>(); targetingCreateRequests.add(new CreateAssignedTargetingOptionsRequest() .setTargetingType("TARGETING_TYPE_AUDIENCE_GROUP") .setAssignedTargetingOptions( createAudienceGroupAssignedTargetingOptions ) ); // Set create requests in edit request. requestContent.setCreateRequests(targetingCreateRequests); // Configure and execute the bulk list request. BulkEditLineItemAssignedTargetingOptionsResponse response = service.advertisers().lineItems() .bulkEditLineItemAssignedTargetingOptions( advertiserId, lineItemId, requestContent).execute();
Python
advertiser_id = advertiser-id line_item_id = line-item-id added_google_audiences = [google-audience-id-to-add,...] # Build Google audience targeting settings objects to create. new_google_audience_targeting_settings = [] for google_audience_id in added_google_audiences: new_google_audience_targeting_settings.append( {'googleAudienceId': google_audience_id} ) # Retrieve any existing line item audience targeting. retrieved_audience_targeting = service.advertisers().lineItems( ).targetingTypes().assignedTargetingOptions().get( advertiserId=advertiser_id, lineItemId=line_item_id, targetingType="TARGETING_TYPE_AUDIENCE_GROUP", assignedTargetingOptionId="audienceGroup" ).execute() updated_audience_group_details = {} # Copy over any existing audience targeting. if 'audienceGroupDetails' in retrieved_audience_targeting: updated_audience_group_details = retrieved_audience_targeting[ 'audienceGroupDetails'] # Append the new Google audience IDs to any existing positive Google # audience targeting. if 'includedGoogleAudienceGroup' in updated_audience_group_details: updated_audience_group_details[ 'includedGoogleAudienceGroup']['settings'].extend( new_google_audience_targeting_settings) else: updated_audience_group_details['includedGoogleAudienceGroup'] = { 'settings': new_google_audience_targeting_settings } # Build bulk edit request. bulk_edit_request = { 'deleteRequests': [ { 'targetingType': "TARGETING_TYPE_AUDIENCE_GROUP", 'assignedTargetingOptionIds': [ "audienceGroup" ] } ], 'createRequests': [ { 'targetingType': "TARGETING_TYPE_AUDIENCE_GROUP", 'assignedTargetingOptions': [ {'audienceGroupDetails': updated_audience_group_details} ] } ] } # Update the audience targeting updated_audience_targeting = service.advertisers().lineItems( ).bulkEditLineItemAssignedTargetingOptions( advertiserId=advertiser_id, lineItemId=line_item_id, body=bulk_edit_request ).execute()
PHP
$advertiserId = advertiser-id; $lineItemId = line-item-id; $addedGoogleAudienceIds = array(google-audience-id-to-add,...); // Convert list of Google Audience IDs into list of Google audience // settings. $newGoogleAudienceSettings = array(); foreach ($addedGoogleAudienceIds as $googleAudienceId) { $newSetting = new Google_Service_DisplayVideo_GoogleAudienceTargetingSetting(); $newSetting->setGoogleAudienceId($googleAudienceId); $newGoogleAudienceSettings[] = $newSetting; } // Create a bulk edit request. $requestBody = new Google_Service_DisplayVideo_BulkEditLineItemAssignedTargetingOptionsRequest(); $audienceGroupDeleteRequests = array(); try { // Retrieve existing audience group targeting. $existingAudienceGroupTargetingOption = $this ->service ->advertisers_lineItems_targetingTypes_assignedTargetingOptions ->get( $advertiserId, $lineItemId, 'TARGETING_TYPE_AUDIENCE_GROUP', 'audienceGroup' ); // Extract existing audience group targeting details. $updatedAudienceGroupDetails = $existingAudienceGroupTargetingOption ->getAudienceGroupDetails(); // Build and add delete request for existing audience group // targeting. $deleteAudienceGroupAssignedTargetingIds = array(); $deleteAudienceGroupAssignedTargetingIds[] = "audienceGroup"; $audienceGroupDeleteRequest = new Google_Service_DisplayVideo_DeleteAssignedTargetingOptionsRequest(); $audienceGroupDeleteRequest ->setTargetingType('TARGETING_TYPE_AUDIENCE_GROUP'); $audienceGroupDeleteRequest ->setAssignedTargetingOptionIds( $deleteAudienceGroupAssignedTargetingIds ); $audienceGroupDeleteRequests[] = $audienceGroupDeleteRequest; } catch (\Exception $e) { $updatedAudienceGroupDetails = new Google_Service_DisplayVideo_AudienceGroupAssignedTargetingOptionDetails(); } // Set delete requests in edit request. $requestBody->setDeleteRequests($audienceGroupDeleteRequests); // Construct new group of Google audiences to include in targeting. $updatedIncludedGoogleAudienceGroup = $updatedAudienceGroupDetails ->getIncludedGoogleAudienceGroup(); if (!empty($updatedIncludedGoogleAudienceGroup)) { // Get existing settings. $updatedGoogleAudienceSettings = $updatedIncludedGoogleAudienceGroup->getSettings(); // Add new Google audiences to existing list. $updatedGoogleAudienceSettings = array_merge( $updatedGoogleAudienceSettings, $newGoogleAudienceSettings ); // Set updated Google audience list. $updatedIncludedGoogleAudienceGroup ->setSettings($updatedGoogleAudienceSettings); } else { // Create new Google audience group. $updatedIncludedGoogleAudienceGroup = new Google_Service_DisplayVideo_GoogleAudienceGroup(); // Set list of new Google audiences for targeting. $updatedIncludedGoogleAudienceGroup ->setSettings($newGoogleAudienceSettings); } // Add new Google Audience group to audience group targeting details. $updatedAudienceGroupDetails ->setIncludedGoogleAudienceGroup( $updatedIncludedGoogleAudienceGroup ); // Create new targeting option to assign. $newAudienceGroupTargeting = new Google_Service_DisplayVideo_AssignedTargetingOption(); $newAudienceGroupTargeting ->setAudienceGroupDetails($updatedAudienceGroupDetails); // Build audience group targeting create request and add to list of // create requests. $createAudienceGroupAssignedTargetingOptions = array(); $createAudienceGroupAssignedTargetingOptions[] = $newAudienceGroupTargeting; $createAudienceGroupTargetingRequest = new Google_Service_DisplayVideo_CreateAssignedTargetingOptionsRequest(); $createAudienceGroupTargetingRequest->setTargetingType( "TARGETING_TYPE_AUDIENCE_GROUP" ); $createAudienceGroupTargetingRequest->setAssignedTargetingOptions( $createAudienceGroupAssignedTargetingOptions ); $createRequests[] = $createAudienceGroupTargetingRequest; // Set create requests in edit request. $requestBody->setCreateRequests($createRequests); // Call the API, editing the assigned targeting options for the // identified line item. $response = $this ->service ->advertisers_lineItems ->bulkEditLineItemAssignedTargetingOptions( $advertiserId, $lineItemId, $requestBody );
เตรียมพร้อมสำหรับการเลิกใช้งานตัวเลือกการกำหนดเป้าหมาย
ตัวเลือกการกำหนดเป้าหมายไม่มีการเปลี่ยนแปลง และมีการเลิกใช้งานจำนวนเล็กน้อยเป็นครั้งคราว เป็นครั้งคราว เมื่อเลิกใช้งานตัวเลือกการกำหนดเป้าหมายแล้ว ตัวเลือกดังกล่าวจะไม่ส่งผลต่อโฆษณาของรายการโฆษณา แบบต้นทางถึงปลายทาง หลังจากการเลิกใช้งาน ระบบจะยกเลิกการกำหนดตัวเลือกเหล่านี้จากรายการโฆษณาที่มีอยู่ รายการและคำขอที่พยายามเรียกหรือกำหนดตัวเลือกเหล่านี้จะส่งผลให้ ข้อผิดพลาด
และเพื่อหลีกเลี่ยงข้อผิดพลาดเหล่านี้ เราขอแนะนำให้คุณตรวจสอบ
รหัสตัวเลือกการกำหนดเป้าหมาย เพื่อเป็นการประหยัดโควต้า เราแนะนำให้คุณแคช
รหัสที่ใช้เป็นประจำ อย่างไรก็ตาม การจัดเก็บรหัสหมายความว่าคุณต้องไม่
ตระหนักว่าตัวเลือกการกำหนดเป้าหมายเลิกใช้งานแล้ว ด้วยเหตุนี้ คุณจึงควร
ใช้ targetingOptions.targetingTypes.get
เป็นประจำเพื่อ
ดึงรหัสตัวเลือกการกำหนดเป้าหมายที่จัดเก็บไว้ทั้งหมด เพื่อยืนยันว่ายังคง
รองรับโดยเครือข่ายดิสเพลย์และ วิดีโอ 360
โปรดดูหน้าประกาศการเลิกใช้งานสำหรับรายละเอียดเกี่ยวกับ การเลิกใช้งานครั้งก่อนและที่กำลังจะเกิดขึ้น
อย่าส่งคำขอพร้อมกันอัปเดตรายการโฆษณาเดียวกัน
พยายามอัปเดตการตั้งค่าหรือกำหนดเป้าหมายให้กับรายการโฆษณาเดียว การใช้คำขอหลายรายการพร้อมกันจะทำให้ระบบแสดงข้อผิดพลาด คำขอที่เกี่ยวข้อง รวมข้อมูลต่อไปนี้
advertisers.lineItems.bulkEditAssignedTargetingOptions
advertisers.lineItems.bulkUpdate
advertisers.lineItems.patch
advertisers.lineItems.targetingTypes.assignedTargetingOptions.create
advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete
หากคุณต้องการเพิ่มหรือนำตัวเลือกการกำหนดเป้าหมายที่กำหนดไว้หลายรายการออกสำหรับรายการเดียว
รายการโฆษณา ในเวลาเดียวกัน คุณควรใช้รายการโฆษณา
advertisers.lineItems.bulkEditAssignedTargetingOptions
อีกครั้ง หากคุณต้องการอัปเดตการตั้งค่าและการกำหนดเป้าหมายของรายการโฆษณา ให้จัดคิวใหม่
คำขอ patch
หรือ bulkUpdate
และเกี่ยวข้อง
เพื่อให้มั่นใจว่าจะไม่มีการส่งคำขอที่ 2 จนกว่าจะมีการส่งคำขอแรก
แสดงผลการตอบกลับ