টার্গেটিং

রিসোর্স টার্গেটিং ব্যবস্থাপনা হল ডিসপ্লে এবং ভিডিও 360 API-এর একটি কেন্দ্রীয় বৈশিষ্ট্য। টার্গেটিং একাধিক রিসোর্স প্রকারের জন্য বরাদ্দ করা যেতে পারে এবং এতে অন্যান্য রিসোর্স এবং আইডি স্পেস ব্যবহার করা হয়। এই পৃষ্ঠায় ডিসপ্লে এবং ভিডিও 360 API অ্যাসাইনড টার্গেটিং অপশন পরিষেবা গ্রহণের ক্ষেত্রে লক্ষ্য করার মতো সীমাবদ্ধতা এবং বাস্তবায়নের জন্য সর্বোত্তম অনুশীলনের বিবরণ দেওয়া হয়েছে।

টার্গেটিং ইনহিরেশন ব্যবহার করুন

কিছু রিসোর্সে নির্ধারিত টার্গেটিং তাদের চাইল্ড রিসোর্স দ্বারা উত্তরাধিকারসূত্রে পাওয়া যেতে পারে। চাইল্ড রিসোর্স দ্বারা উত্তরাধিকারসূত্রে প্রাপ্ত টার্গেটিং বিকল্পগুলি পুনরুদ্ধারযোগ্য কিন্তু চাইল্ড রিসোর্স স্তরে সম্পাদনাযোগ্য নয়। এটি ব্র্যান্ড সুরক্ষা সেটিংস এবং অন্যান্য টার্গেটিংকে একজন অংশীদার বা বিজ্ঞাপনদাতার সম্পূর্ণতা জুড়ে প্রয়োগ করতে সক্ষম করে।

উত্তরাধিকারের পথটি নীচের চিত্রে দেখা যাবে:

লক্ষ্যবস্তু উত্তরাধিকার চিত্র

চিত্রে উল্লেখিত হিসাবে, কিছু টার্গেটিং স্তর শুধুমাত্র টার্গেটিং ধরণের একটি উপসেট সমর্থন করে। এর অর্থ হল কিছু টার্গেটিং বিকল্প উচ্চ স্তরে সেট করা যায় না এবং উত্তরাধিকারসূত্রে পাওয়া যায় না, বরং নিম্ন স্তরে সেট করা প্রয়োজন।

YouTube এবং অংশীদারদের রিসোর্সে উত্তরাধিকার

Display & Video 360 API-তে YouTube & Partners রিসোর্সের জন্য টার্গেটিং ইনহিরেশন প্রতিফলিত হয় না। বিজ্ঞাপন গ্রুপ দ্বারা উত্তরাধিকারসূত্রে প্রাপ্ত টার্গেটিং AdGroup স্তরে পুনরুদ্ধার করা যাবে না এবং প্যারেন্ট রিসোর্সে নির্ধারিত YouTube টার্গেটিং চাইল্ড রিসোর্স দ্বারা উত্তরাধিকারসূত্রে পাওয়া যাবে না।

একটি বিজ্ঞাপন গোষ্ঠীর জন্য সমস্ত কার্যকরী টার্গেটিং সেটিংস পুনরুদ্ধার করতে, আপনাকে বিজ্ঞাপন গোষ্ঠী , প্যারেন্ট লাইন আইটেম এবং প্যারেন্ট বিজ্ঞাপনদাতার জন্য নির্ধারিত টার্গেটিং বিকল্পগুলি পুনরুদ্ধার করতে হবে।

লাইন আইটেম তৈরির সময় নির্ধারিত টার্গেটিং সম্পর্কে সচেতন থাকুন

উত্তরাধিকারসূত্রে প্রাপ্ত টার্গেটিং বিকল্পগুলি ছাড়া, বেশিরভাগ টার্গেটিং কেবল একটি লাইন আইটেম তৈরি করার পরেই বরাদ্দ করা যেতে পারে। তবে, কয়েকটি টার্গেটিং প্রকার রয়েছে যার লাইন আইটেম তৈরির সময় লাইন আইটেমগুলিতে নির্ধারিত মানের একটি ডিফল্ট উপসেট থাকে। এই টার্গেটিং প্রকারগুলি হল:

বিদ্যমান বা বিদ্যমান নয় এমন নির্ধারিত টার্গেটিং বিকল্পগুলি মুছে ফেলার চেষ্টা করলে একটি ত্রুটি দেখা দেয়, তাই আমরা সুপারিশ করছি যে তৈরি করার সময় আপনার লাইন আইটেমগুলিতে নির্ধারিত সম্পূর্ণ টার্গেটিং স্যুট সম্পর্কে সচেতন থাকুন। যদি আপনার টার্গেটিং ধরণের লাইন আইটেমে নির্ধারিত টার্গেটিং পুনরুদ্ধার করার প্রয়োজন হয়, তাহলে advertisers.lineItems.bulkListAssignedTargetingOptions ব্যবহার করুন।

এছাড়াও, কিছু সেটিংস ডিফল্টরূপে সেট করা থাকে যখন রিসোর্সে সেই ধরণের কোনও টার্গেটিং বিকল্প বরাদ্দ করা হয় না। উদাহরণস্বরূপ, যদি কোনও রিসোর্সে TARGETING_TYPE_AUTHORIZED_SELLER_STATUS টার্গেটিং বিকল্প সংজ্ঞায়িত না থাকে, তাহলে এর অর্থ হল এটি "অনুমোদিত সরাসরি বিক্রেতা এবং পুনঃবিক্রেতা" স্ট্যাটাস ব্যবহার করছে।

YouTube এবং অংশীদারদের টার্গেটিং পরিবর্তন করা যাবে না

ডিসপ্লে ও ভিডিও ৩৬০ এপিআই ব্যবহার করে বিশেষভাবে YouTube ও পার্টনারদের জন্য টার্গেটিং আপডেট করা যাবে না।

YouTube & Partners টার্গেটিং-এ YouTube & Partners লাইন আইটেম এবং বিজ্ঞাপন গোষ্ঠীগুলিকে সরাসরি নির্ধারিত সমস্ত টার্গেটিং, সেইসাথে নিম্নলিখিত টার্গেটিং ধরণের যেকোনো টার্গেটিং অন্তর্ভুক্ত থাকে:

  • TARGETING_TYPE_SESSION_POSITION
  • TARGETING_TYPE_YOUTUBE_CHANNEL
  • TARGETING_TYPE_YOUTUBE_VIDEO

এই টার্গেটিংটি সরাসরি ডিসপ্লে এবং ভিডিও 360 UI ব্যবহার করে অথবা একটি স্ট্রাকচার্ড ডেটা ফাইল আপলোড করে আপডেট করা যেতে পারে।

একটি একক বিকল্পের মাধ্যমে দর্শকদের লক্ষ্য নির্ধারণ করুন

বেশিরভাগ টার্গেটিং ধরণের জন্য টার্গেটিং বিকল্পগুলি পৃথকভাবে বরাদ্দ করা হয়। অডিয়েন্স গ্রুপ টার্গেটিং এই মডুলার কনভেনশন অনুসরণ করে না, বরং একটি একক, কনফিগারযোগ্য অডিয়েন্স গ্রুপ টার্গেটিং বিশদ বস্তুতে বরাদ্দ করা হয় যা বিজ্ঞাপন পরিবেশন করার সময় অন্তর্ভুক্ত এবং বাদ দেওয়ার জন্য অডিয়েন্সের আইডি তালিকাভুক্ত করে। এই অডিয়েন্স গ্রুপ বিকল্পের জন্য assignedTargetingOptionId , একবার বরাদ্দ করা হলে, সর্বদা "audienceGroup" হয়।

এই নকশার অর্থ হল, দর্শক গোষ্ঠীর লক্ষ্যবস্তুতে যেকোনো পরিবর্তনের জন্য প্রথমে বিদ্যমান দর্শক গোষ্ঠী নির্ধারিত টার্গেটিং বিকল্পটি মুছে ফেলতে হবে এবং তারপরে পছন্দসই পরিবর্তনগুলি সহ একটি নতুন দর্শক গোষ্ঠীর লক্ষ্যবস্তু বিকল্প তৈরি করতে হবে । এটি advertisers.lineItems.bulkEditAssignedTargetingOptions ব্যবহার করে একটি একক অনুরোধে করা যেতে পারে।

অতিরিক্ত Google দর্শকদের ইতিবাচকভাবে লক্ষ্য করার জন্য দর্শকদের লক্ষ্য নির্ধারণ কীভাবে আপডেট করবেন তার একটি উদাহরণ এখানে দেওয়া হল:

জাভা

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();

পাইথন

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()

পিএইচপি

$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 ব্যবহার করে সমস্ত সঞ্চিত টার্গেটিং বিকল্প আইডি পুনরুদ্ধার করা উচিত যাতে নিশ্চিত করা যায় যে সেগুলি এখনও Display & Video 360 দ্বারা সমর্থিত।

উল্লেখযোগ্য পূর্ববর্তী এবং আসন্ন অবচয় সম্পর্কে বিস্তারিত জানার জন্য আমাদের ঘোষিত অবচয় পৃষ্ঠাটি দেখুন।

একই লাইন আইটেম আপডেট করার জন্য একসাথে অনুরোধ করবেন না

একাধিক সমসাময়িক অনুরোধ ব্যবহার করে একটি একক লাইন আইটেমের জন্য সেটিংস বা নির্ধারিত টার্গেটিং আপডেট করার চেষ্টা করলে একটি ত্রুটি দেখা দেবে। প্রযোজ্য অনুরোধগুলির মধ্যে রয়েছে:

যদি আপনাকে একই সময়ে একটি একক লাইন আইটেমের জন্য একাধিক নির্ধারিত টার্গেটিং বিকল্প যোগ করতে বা অপসারণ করতে হয়, তাহলে আপনার একটি একক advertisers.lineItems.bulkEditAssignedTargetingOptions অনুরোধ ব্যবহার করা উচিত। যদি আপনি একটি লাইন আইটেমের সেটিংস এবং টার্গেটিং আপডেট করতে চান, তাহলে patch বা bulkUpdate অনুরোধ এবং প্রাসঙ্গিক টার্গেটিং অনুরোধটি সারিবদ্ধ করুন যাতে নিশ্চিত করা যায় যে প্রথমটি প্রতিক্রিয়া না ফেরানো পর্যন্ত দ্বিতীয় অনুরোধটি পাঠানো হচ্ছে না।