การกำหนดเป้าหมาย

การจัดการการกําหนดเป้าหมายตามทรัพยากรเป็นฟีเจอร์หลักของโฆษณา 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 อีกครั้ง หากคุณต้องการอัปเดตการตั้งค่าและการกำหนดเป้าหมายของรายการโฆษณา ให้จัดคิวใหม่ คำขอ patch หรือ bulkUpdate และเกี่ยวข้อง เพื่อให้มั่นใจว่าจะไม่มีการส่งคำขอที่ 2 จนกว่าจะมีการส่งคำขอแรก แสดงผลการตอบกลับ