Nhắm mục tiêu

Quản lý việc nhắm mục tiêu tài nguyên là tính năng trọng tâm của chiến dịch Hiển thị và API Video 360. Bạn có thể chỉ định tiêu chí nhắm mục tiêu cho nhiều loại tài nguyên và sử dụng nhiều không gian mã nhận dạng và tài nguyên khác. Trang này trình bày chi tiết các hạn chế cần lưu ý và các mẹo hay nhất cần triển khai khi sử dụng chiến dịch Hiển thị Nhắm mục tiêu được chỉ định qua API Video 360 Tùy chọn.

Sử dụng tính kế thừa tiêu chí nhắm mục tiêu

Hoạt động nhắm mục tiêu được chỉ định cho một số tài nguyên có thể được con của tài nguyên đó kế thừa của chúng tôi. Bạn có thể truy xuất các lựa chọn nhắm mục tiêu mà tài nguyên con kế thừa nhưng không chỉnh sửa được ở cấp tài nguyên con. Thao tác này cho phép cài đặt an toàn thương hiệu và khác cần thực thi trên toàn bộ đối tác hoặc nhà quảng cáo.

Bạn có thể thấy lộ trình kế thừa trong sơ đồ dưới đây:

Biểu đồ kế thừa tiêu chí nhắm mục tiêu

Như được chỉ ra trong biểu đồ, một số cấp nhắm mục tiêu chỉ hỗ trợ một tập hợp con nhắm mục tiêu. Điều này có nghĩa là bạn không thể đặt một số tùy chọn nhắm mục tiêu ở mức cao hơn cấp và được kế thừa, nhưng cần đặt ở cấp thấp hơn.

Tính kế thừa trên YouTube và Tài nguyên dành cho đối tác

Tính kế thừa nhắm mục tiêu không được phản ánh cho YouTube và Tài nguyên dành cho đối tác trong Hiển thị và API Video 360. Nhắm mục tiêu được kế thừa bởi Nhóm quảng cáo sẽ không có thể truy xuất ở cấp AdGroupnhắm mục tiêu trên YouTube được gán cho các tài nguyên mẹ sẽ không được các tài nguyên con kế thừa.

Để truy xuất tất cả các cài đặt nhắm mục tiêu theo chức năng cho một nhóm quảng cáo, bạn nên truy xuất tùy chọn nhắm mục tiêu được chỉ định cho Nhóm quảng cáo, mục hàng gốc và nhà quảng cáo mẹ.

Lưu ý đến tiêu chí nhắm mục tiêu được chỉ định khi tạo mục hàng

Ngoài các tùy chọn nhắm mục tiêu kế thừa, bạn chỉ có thể chỉ định hầu hết các tiêu chí nhắm mục tiêu sau khi tạo mục hàng. Tuy nhiên, có một vài loại nhắm mục tiêu một tập hợp con mặc định các giá trị được chỉ định cho các mục hàng khi tạo mục hàng. Những các loại nhắm mục tiêu bao gồm:

Cố gắng tạo các tùy chọn nhắm mục tiêu hiện có hoặc xóa các tùy chọn nhắm mục tiêu không tồn tại trả về lỗi, vì vậy chúng tôi khuyên bạn nên biết bộ nhắm mục tiêu đầy đủ được chỉ định cho các mục hàng khi tạo. Nếu bạn cần truy xuất nhắm mục tiêu được chỉ định cho một mục hàng trên các loại nhắm mục tiêu, hãy sử dụng advertisers.lineItems.bulkListAssignedTargetingOptions.

Ngoài ra, một số chế độ cài đặt được đặt theo mặc định khi không có tuỳ chọn nhắm mục tiêu nào được gán cho tài nguyên. Ví dụ: nếu một tài nguyên không có TARGETING_TYPE_AUTHORIZED_SELLER_STATUS tuỳ chọn nhắm mục tiêu đã xác định, có nghĩa là tuỳ chọn này sử dụng tuỳ chọn "Authorized Direct được xác định Người bán và Người bán lại" trạng thái.

Không muốn sử dụng tính năng "nhắm mục tiêu mặc định" tự động

Trong Mạng Hiển thị và Video 360, tiêu chí nhắm mục tiêu được đặt ở cấp chiến dịch hoặc đơn đặt hàng quảng cáo là không được chuyển ngay đến các mục hàng con. Nhắm mục tiêu này được gọi là "nhắm mục tiêu mặc định" và dùng làm mẫu nhắm mục tiêu được áp dụng cho các mục hàng được tạo sau đó trong giao diện người dùng.

Trong chiến dịch Hiển thị và API Video 360, tiêu chí nhắm mục tiêu mặc định không được tự động áp dụng cho tạo riêng. Thao tác tạo mục hàng cơ bản không sao chép bất kỳ chiến dịch nào hoặc nhắm mục tiêu ở cấp đơn đặt hàng quảng cáo. Trong trường hợp này, nhắm mục tiêu mong muốn phải được áp dụng cho các mục hàng riêng biệt thông qua tùy chọn nhắm mục tiêu được chỉ định tạo hoặc chỉnh sửa hàng loạt.

Các phương thức đặc biệt có thể là một ngoại lệ. Ví dụ: mục hàng được tạo qua advertisers.lineItems.generateDefault sao chép chế độ cài đặt từ đơn đặt hàng quảng cáo gốc, bao gồm cả tiêu chí nhắm mục tiêu được chỉ định. Tương tự, các mục hàng được tạo thông qua việc trùng lặp sẽ được chỉ định cùng tiêu chí nhắm mục tiêu với mục hàng ban đầu.

YouTube và Không thể sửa đổi nhắm mục tiêu đối tác

Nhắm mục tiêu cụ thể cho YouTube & Bạn không thể cập nhật chiến dịch của Đối tác bằng màn hình và API Video 360.

YouTube và Nhắm mục tiêu đối tác bao gồm tất cả nhắm mục tiêu được chỉ định trực tiếp cho YouTube và Mục hàng của Đối tác và Nhóm quảng cáo, cũng như bất kỳ tiêu chí nhắm mục tiêu nào thuộc các loại nhắm mục tiêu sau đây:

  • TARGETING_TYPE_SESSION_POSITION
  • TARGETING_TYPE_YOUTUBE_CHANNEL
  • TARGETING_TYPE_YOUTUBE_VIDEO

Bạn có thể cập nhật nhắm mục tiêu này bằng cách sử dụng thuộc tính Hiển thị Giao diện người dùng Video 360 trực tiếp hoặc thông qua tải tệp dữ liệu có cấu trúc lên.

Chỉ định tiêu chí nhắm mục tiêu theo đối tượng bằng một lựa chọn duy nhất

Tùy chọn nhắm mục tiêu cho hầu hết các loại nhắm mục tiêu được chỉ định riêng lẻ. Độc giả nhắm mục tiêu theo nhóm không tuân theo quy ước mô-đun này, mà thay vào đó được chỉ định trong một ứng dụng duy nhất, có thể định cấu hình chi tiết nhắm mục tiêu theo nhóm đối tượng liệt kê Mã của đối tượng cần bao gồm và loại trừ khi phân phát quảng cáo. Chiến lược phát hành đĩa đơn assignedTargetingOptionId cho tùy chọn nhóm đối tượng này, sau khi được chỉ định, luôn là "audienceGroup".

Thiết kế này có nghĩa là mọi thay đổi đối với tiêu chí nhắm mục tiêu theo nhóm đối tượng đều phải được trước tiên xoá nhóm đối tượng hiện có đã được chỉ định tùy chọn nhắm mục tiêu, rồi tạo nhóm đối tượng mới với các thay đổi mong muốn. Có thể thực hiện việc này trong một yêu cầu duy nhất đang sử dụng advertisers.lineItems.bulkEditAssignedTargetingOptions.

Sau đây là ví dụ về cách cập nhật tiêu chí nhắm mục tiêu theo đối tượng để tích cực nhắm mục tiêu đến các đối tượng khác của 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
    );

Chuẩn bị cho các lựa chọn nhắm mục tiêu sẽ không được dùng nữa

Các tùy chọn nhắm mục tiêu không phải là tĩnh và một số ít có thể không được dùng nữa từng thời điểm. Khi không dùng nữa, các lựa chọn nhắm mục tiêu sẽ không ảnh hưởng đến quảng cáo của mục hàng đầu cuối. Sau khi không được dùng nữa, các tuỳ chọn này sẽ được bỏ chỉ định khỏi dòng hiện có mục và yêu cầu cố truy xuất hoặc gán các tuỳ chọn này sẽ dẫn đến kết quả có lỗi.

Để tránh những lỗi này, bạn nên thường xuyên kiểm tra thông tin mã tuỳ chọn nhắm mục tiêu. Để tiết kiệm hạn mức, bạn nên lưu vào bộ nhớ đệm mã nhận dạng được sử dụng thường xuyên. Tuy nhiên, nếu lưu trữ mã nhận dạng, bạn có thể không nhận thấy tuỳ chọn nhắm mục tiêu đã bị loại bỏ. Vì lý do này, bạn nên thường xuyên sử dụng targetingOptions.targetingTypes.get để truy xuất tất cả ID tùy chọn nhắm mục tiêu đã lưu để xác nhận rằng chúng vẫn đang được hỗ trợ bởi Display & Video 360.

Vui lòng xem trang Thông báo ngừng hoạt động để biết thông tin chi tiết về các tính năng quan trọng việc ngừng sử dụng trước đây và sắp tới.

Không thực hiện các yêu cầu đồng thời để cập nhật cùng một mục hàng

Cố gắng cập nhật các chế độ cài đặt hoặc tiêu chí nhắm mục tiêu được chỉ định cho một mục hàng việc sử dụng nhiều yêu cầu đồng thời sẽ trả về lỗi. Số yêu cầu có thể áp dụng bao gồm:

Nếu bạn cần thêm hoặc xóa nhiều tùy chọn nhắm mục tiêu được chỉ định cho một Bạn nên sử dụng một chỉ số advertisers.lineItems.bulkEditAssignedTargetingOptions của bạn. Nếu bạn muốn cập nhật chế độ cài đặt và tiêu chí nhắm mục tiêu của mục hàng, hãy thêm vào hàng đợi yêu cầu patch hoặc bulkUpdate và báo cáo liên quan yêu cầu nhắm mục tiêu để đảm bảo yêu cầu thứ hai không được gửi cho đến yêu cầu đầu tiên sẽ trả về một phản hồi.