প্যারেন্ট পার্টনার, বিজ্ঞাপনদাতা, লাইন আইটেম এবং অ্যাড গ্রুপে নির্ধারিত টার্গেটিং ব্যবহার করে ডিমান্ড জেন অ্যাড পরিবেশন নিয়ন্ত্রণ করা হয়।
আপনার আদর্শ গ্রাহকদের কাছে পৌঁছাতে এবং ক্যাম্পেইনের পারফরম্যান্স উন্নত করতে ডিমান্ড জেন লাইন আইটেম এবং অ্যাড গ্রুপে নির্ধারিত টার্গেটিং ব্যবহার করুন।
আপনার টার্গেটিং কোথায় নির্ধারণ করবেন তা স্থির করুন।
ডিমান্ড জেন লাইন আইটেম এবং অ্যাড গ্রুপ উভয় ক্ষেত্রেই টার্গেটিং নির্ধারণ করা যেতে পারে।
যদি আপনি চান যে কোনো ডিমান্ড জেন লাইন আইটেমের অধীনে পরিবেশিত সমস্ত বিজ্ঞাপনে টার্গেটিং প্রয়োগ করা হোক, তাহলে সেই লাইন আইটেমটিতে টার্গেটিং নির্ধারণ করুন। অন্যথায়, স্বতন্ত্র অ্যাড গ্রুপগুলিতে টার্গেটিং নির্ধারণ করুন।
ডিমান্ড জেন রিসোর্স টাইপ অনুযায়ী টার্গেটিং সাপোর্ট
প্রতিটি রিসোর্স টাইপ নির্দিষ্ট ধরণের টার্গেটিং সমর্থন করে।
ডিমান্ড জেন লাইন আইটেম দ্বারা সমর্থিত টার্গেটিং প্রকারগুলির একটি তালিকা নিচে দেওয়া হলো:
-
TARGETING_TYPE_CARRIER_AND_ISP -
TARGETING_TYPE_DAY_AND_TIME -
TARGETING_TYPE_DEVICE_MAKE_MODEL -
TARGETING_TYPE_DEVICE_TYPE -
TARGETING_TYPE_GEO_REGION -
TARGETING_TYPE_KEYWORD -
TARGETING_TYPE_LANGUAGE -
TARGETING_TYPE_NEGATIVE_KEYWORD_LIST -
TARGETING_TYPE_OPERATING_SYSTEM -
TARGETING_TYPE_POI
ডিমান্ড জেন অ্যাড গ্রুপ দ্বারা সমর্থিত টার্গেটিং প্রকারগুলির একটি তালিকা নিচে দেওয়া হলো:
-
TARGETING_TYPE_AGE_RANGE -
TARGETING_TYPE_APP -
TARGETING_TYPE_APP_CATEGORY -
TARGETING_TYPE_AUDIENCE_GROUP -
TARGETING_TYPE_CATEGORY -
TARGETING_TYPE_GENDER -
TARGETING_TYPE_GEO_REGION -
TARGETING_TYPE_HOUSEHOLD_INCOME -
TARGETING_TYPE_KEYWORD -
TARGETING_TYPE_LANGUAGE -
TARGETING_TYPE_PARENTAL_STATUS -
TARGETING_TYPE_URL -
TARGETING_TYPE_YOUTUBE_CHANNEL -
TARGETING_TYPE_YOUTUBE_VIDEO
TARGETING_TYPE_GEO_REGION , TARGETING_TYPE_POI , এবং TARGETING_TYPE_LANGUAGE এর সাপোর্ট প্যারেন্ট LineItem রিসোর্সের demandGenSettings.geoLanguageTargetingEnabled ফিল্ডের সেটিংয়ের উপর নির্ভরশীল। যদি ফিল্ডটির মান 'true' হয়, তাহলে লোকেশন এবং ল্যাঙ্গুয়েজ টার্গেটিং শুধুমাত্র প্যারেন্ট লাইন আইটেমেই প্রয়োগ করা যাবে। যদি ফিল্ডটির মান 'false' হয়, তাহলে এই টার্গেটিং শুধুমাত্র স্বতন্ত্র অ্যাড গ্রুপগুলিতেই প্রয়োগ করা যাবে।
উপলব্ধ টার্গেটিং বিকল্পগুলি খুঁজুন
টার্গেটিং তার প্রকারভেদের উপর ভিত্তি করে চিহ্নিত করা হয়। নিম্নলিখিত উপায়গুলির মধ্যে একটি ব্যবহার করে টার্গেটিং বিকল্পগুলি চিহ্নিত করুন:
- একটি প্রাসঙ্গিক enum মান ব্যবহার করুন, যেমন
AgeRangeবাExchangeenum টাইপের ক্ষেত্রে। - সম্পর্কিত পরিষেবাটি ব্যবহার করে চ্যানেল বা অবস্থানের তালিকার মতো লক্ষ্যযোগ্য সত্তাগুলো পুনরুদ্ধার করুন।
-
listএবংsearchপদ্ধতি ব্যবহার করে একটি টার্গেটিং টাইপের জন্য টার্গেটিং অপশন আইডিগুলো পুনরুদ্ধার করুন।
বিদ্যমান টার্গেটিং পুনরুদ্ধার করুন
বিদ্যমান টার্গেটিং একটি লাইন আইটেম বা অ্যাড গ্রুপে কী ধরনের টার্গেটিং যোগ করা যাবে তা সীমাবদ্ধ করে।
ডিমান্ড জেন লাইন আইটেম এবং অ্যাড গ্রুপগুলো শুধুমাত্র উত্তরাধিকারসূত্রে প্রাপ্ত TARGETING_TYPE_KEYWORD টার্গেটিং প্রদর্শন করে। এর মানে হলো, অ্যাড পরিবেশনকে প্রভাবিত করে এমন সমস্ত টার্গেটিংয়ের সম্পূর্ণ হিসাব পেতে হলে আপনাকে অবশ্যই বিজ্ঞাপনদাতা, লাইন আইটেম এবং অ্যাড গ্রুপের জন্য টার্গেটিং সংগ্রহ করতে হবে।
বাল্ক লিস্ট রিকোয়েস্ট ব্যবহার করে বিভিন্ন টার্গেটিং টাইপ জুড়ে বিদ্যমান টার্গেটিং পুনরুদ্ধার করুন।
বিদ্যমান অংশীদার এবং বিজ্ঞাপনদাতা টার্গেটিং পুনরুদ্ধার করুন
একজন বিজ্ঞাপনদাতার জন্য বিদ্যমান টার্গেটিং, যার মধ্যে উত্তরাধিকারসূত্রে প্রাপ্ত পার্টনার টার্গেটিংও অন্তর্ভুক্ত, তা পাওয়ার উপায় নিচে দেওয়া হলো:
পাইথন
# Provide the ID of the advertiser. advertiser_id = advertiser-id # Create the page token variable. next_page_token = "" while True: # Execute the list request. response = ( service.advertisers() .listAssignedTargetingOptions( advertiserId=advertiser_id, pageToken=next_page_token, ) .execute() ) # If response is not empty, display the retrieved assigned targeting # options. if response: for assigned_targeting_option in response.get( "assignedTargetingOptions", [] ): ato_name = assigned_targeting_option.get( "name", None ) if ato_name: print(f"Assigned Targeting Option {ato_name}.") else: print(f"No targeting is currently assigned to {advertiser_id}.") sys.exit(1) # Update the next page token. # Break out of loop if there is no next page. if "nextPageToken" in response: next_page_token = response["nextPageToken"] else: break
বিদ্যমান লাইন আইটেম টার্গেটিং পুনরুদ্ধার করুন
বিদ্যমান টার্গেটিং সরাসরি একটি লাইন আইটেমে কীভাবে অ্যাসাইন করবেন তা এখানে দেওয়া হলো:
পাইথন
# Provide the ID of the parent advertiser. advertiser_id = advertiser-id # Provide the ID of the Demand Gen line item. line_item_id = line-item-id # Create the page token variable. next_page_token = "" while True: # Execute the list request. response = ( service.advertisers() .lineItems() .bulkListAssignedTargetingOptions( advertiserId=advertiser_id, lineItemIds=[line_item_id], pageToken=next_page_token, ) .execute() ) # If response is not empty, display the retrieved assigned targeting # options line items. if response: for assigned_option in response.get( "lineItemAssignedTargetingOptions", [] ): ato_name = assigned_option.get("assignedTargetingOption", {}).get( "name", None ) if ato_name: print(f"Assigned Targeting Option {ato_name} found.") else: print(f"No targeting is currently assigned to {line_item_id}.") sys.exit(1) # Update the next page token. # Break out of loop if there is no next page. if "nextPageToken" in response: next_page_token = response["nextPageToken"] else: break
বিদ্যমান বিজ্ঞাপন গ্রুপ টার্গেটিং পুনরুদ্ধার করুন
Here's how to get the existing targeting assigned directly to an ad group:
পাইথন
# Provide the ID of the parent advertiser. advertiser_id = advertiser-id # Provide the ID of the ad group. ad_group_id = ad-group-id # Create the page token variable. next_page_token = "" while True: # Execute the list request. response = ( service.advertisers() .adGroups() .bulkListAssignedTargetingOptions( advertiserId=advertiser_id, adGroupIds=[ad_group_id], pageToken=next_page_token, ) .execute() ) # If response is not empty, display the retrieved assigned targeting # options line items. if response: for assigned_option in response.get( "adGroupAssignedTargetingOptions", [] ): ato_name = assigned_option.get("assignedTargetingOption", {}).get( "name", None ) if ato_name: print(f"Assigned Targeting Option {ato_name} found.") else: print(f"No targeting is currently assigned to {ad_group_id}.") sys.exit(1) # Update the next page token. # Break out of loop if there is no next page. if "nextPageToken" in response: next_page_token = response["nextPageToken"] else: break
রিসোর্সগুলিতে টার্গেটিং নির্ধারণ করুন।
লাইন আইটেম এবং অ্যাড গ্রুপ টার্গেটিং আপডেট করার জন্য আপনাকে আলাদাভাবে অনুরোধ করতে হবে।
লাইন আইটেম টার্গেটিং নির্ধারণ করুন
একটি লাইন আইটেমে নিম্নলিখিত টার্গেটিং লজিকটি যোগ করার পদ্ধতি নিচে দেওয়া হলো:
- শুধুমাত্র কম্পিউটারে বিজ্ঞাপন দেখানো হতো।
'আইসক্রিম' কীওয়ার্ডের সাথে মিলে যাওয়া কন্টেন্টের পাশাপাশি পরিবেশিত ইনভেন্টরির জন্য বিড করবেন না।
পাইথন
# Provide the ID of the parent advertiser. advertiser_id = advertiser-id # Provide the ID of the line item. line_item_id = line-item-id # Build the "ice cream" negative keyword assigned targeting option. keyword_assigned_targeting_option = { "keywordDetails": {"keyword": "ice cream", "negative": True} } # Build the delete request for device type targeting to remove all device # types to only target computers. device_type_delete_request = { "targetingType": "TARGETING_TYPE_DEVICE_TYPE", "assignedTargetingOptionIds": [ "DEVICE_TYPE_SMART_PHONE", "DEVICE_TYPE_CONNECTED_TV", "DEVICE_TYPE_TABLET" ], } # Create a bulk edit request. bulk_edit_targeting_request = { "lineItemIds": [line_item_id], "createRequests": [ { "targetingType": "TARGETING_TYPE_KEYWORD", "assignedTargetingOptions": [ keyword_assigned_targeting_option ], } ], "deleteRequests": [ device_type_delete_request ] } # Build and execute request. response = ( service.advertisers() .lineItems() .bulkEditAssignedTargetingOptions( advertiserId=advertiser_id, body=bulk_edit_targeting_request ) .execute() ) # Print the request results. if ( "updatedLineItemIds" in response and len(response["updatedLineItemIds"]) != 0 ): print( f'Targeting configurations for {response["updatedLineItemIds"][0]} ' "were successfully updated." ) elif ( "failedLineItemIds" in response and len(response["failedLineItemIds"]) != 0 ): print( f'Targeting configurations for {response["failedLineItemIds"][0]} ' "failed to update." ) if "errors" in response and len(response["errors"]) != 0: print("The failed updates were caused by the following errors:") for error in response["errors"]: print(f'Code {error["code"]}: {error["message"]}') else: print("No successful or failed updates were reported.")
বিজ্ঞাপন গ্রুপ টার্গেটিং নির্ধারণ করুন
একটি অ্যাড গ্রুপে নিম্নলিখিত টার্গেটিং লজিকটি যোগ করার পদ্ধতি নিচে দেওয়া হলো:
- শুধুমাত্র অভিভাবকদের পরিবেশন করুন।
প্রদত্ত ইউটিউব চ্যানেলের বিরুদ্ধে পরিবেশন করবেন না।
পাইথন
# Provide the ID of the parent advertiser. advertiser_id = advertiser-id # Provide the ID of the ad group. ad_group_id = ad-group-id # Provide the YouTube channel ID to negatively target. yt_channel_id = youtube-channel-id # Build the assigned targeting option to negatively target the given YouTube # channel. youtube_channel_assigned_targeting_options = [ { "youtubeChannelDetails": { "channelId": yt_channel_id, "negative": True } }, ] # Build the assigned targeting options to target only parents. parental_status_assigned_targeting_options = [ { "parentalStatusDetails": { "parentalStatus": "PARENTAL_STATUS_PARENT" } }, ] # Create a bulk edit request. bulk_edit_targeting_request = { "adGroupIds": [ad_group_id], "createRequests": [ { "targetingType": "TARGETING_TYPE_YOUTUBE_CHANNEL", "assignedTargetingOptions": ( youtube_channel_assigned_targeting_options ) }, { "targetingType": "TARGETING_TYPE_PARENTAL_STATUS", "assignedTargetingOptions": ( parental_status_assigned_targeting_options ), } ] } # Build and execute request. response = ( service.advertisers() .adGroups() .bulkEditAssignedTargetingOptions( advertiserId=advertiser_id, body=bulk_edit_targeting_request ) .execute() ) # Print the request results. if ( "updatedAdGroupIds" in response and len(response["updatedAdGroupIds"]) != 0 ): print( f'Targeting configurations for {response["updatedAdGroupIds"][0]} ' "were successfully updated." ) elif ( "failedAdGroupIds" in response and len(response["failedAdGroupIds"]) != 0 ): print( f'Targeting configurations for {response["failedAdGroupIds"][0]} ' "failed to update." ) if "errors" in response and len(response["errors"]) != 0: print("The failed updates were caused by the following errors:") for error in response["errors"]: print(f'Code {error["code"]}: {error["message"]}') else: print("No successful or failed updates were reported.")