Penayangan Iklan Peningkat Permintaan dikontrol menggunakan penargetan yang ditetapkan ke induk partner, pengiklan, item baris, dan grup iklan.
Gunakan penargetan yang ditetapkan ke item baris dan grup iklan Peningkat Permintaan untuk menjangkau pelanggan ideal Anda dan meningkatkan performa kampanye.
Tentukan tempat untuk menetapkan penargetan
Penargetan dapat ditetapkan ke item baris dan grup iklan Peningkat Permintaan.
Tetapkan penargetan ke item baris Peningkat Permintaan jika Anda ingin penargetan diterapkan ke semua iklan yang ditayangkan di item baris tersebut. Jika tidak, tetapkan penargetan ke setiap grup iklan.
Dukungan penargetan menurut jenis resource Peningkat Permintaan
Setiap jenis resource mendukung jenis penargetan tertentu.
Berikut adalah daftar jenis penargetan yang didukung oleh item baris Peningkat Permintaan:
TARGETING_TYPE_CARRIER_AND_ISPTARGETING_TYPE_DAY_AND_TIMETARGETING_TYPE_DEVICE_MAKE_MODELTARGETING_TYPE_DEVICE_TYPETARGETING_TYPE_GEO_REGIONTARGETING_TYPE_KEYWORDTARGETING_TYPE_LANGUAGETARGETING_TYPE_NEGATIVE_KEYWORD_LISTTARGETING_TYPE_OPERATING_SYSTEMTARGETING_TYPE_POI
Berikut adalah daftar jenis penargetan yang didukung oleh grup iklan Peningkat Permintaan:
TARGETING_TYPE_AGE_RANGETARGETING_TYPE_APPTARGETING_TYPE_APP_CATEGORYTARGETING_TYPE_AUDIENCE_GROUPTARGETING_TYPE_CATEGORYTARGETING_TYPE_GENDERTARGETING_TYPE_GEO_REGIONTARGETING_TYPE_HOUSEHOLD_INCOMETARGETING_TYPE_KEYWORDTARGETING_TYPE_LANGUAGETARGETING_TYPE_PARENTAL_STATUSTARGETING_TYPE_URLTARGETING_TYPE_YOUTUBE_CHANNELTARGETING_TYPE_YOUTUBE_VIDEO
Dukungan TARGETING_TYPE_GEO_REGION, TARGETING_TYPE_POI, dan TARGETING_TYPE_LANGUAGE bergantung pada setelan kolom demandGenSettings.geoLanguageTargetingEnabled di resource LineItem induk. Jika kolom bernilai benar (true), penargetan lokasi dan bahasa hanya dapat ditetapkan ke item baris induk. Jika kolom salah (false),
penargetan ini hanya dapat ditetapkan ke setiap grup iklan.
Menemukan opsi penargetan yang tersedia
Penargetan diidentifikasi berdasarkan jenisnya. Identifikasi opsi penargetan menggunakan salah satu cara berikut:
- Gunakan nilai enum yang relevan, seperti dengan jenis enum
AgeRangeatauExchange. - Ambil entitas yang dapat ditargetkan, seperti channel atau daftar lokasi, menggunakan layanan terkait.
- Ambil ID opsi penargetan untuk jenis penargetan menggunakan metode
listdansearch.
Mengambil penargetan yang ada
Penargetan yang ada membatasi penargetan yang dapat ditambahkan ke item baris atau grup iklan.
Item baris dan grup iklan Peningkat Permintaan hanya menampilkan penargetan yang diwariskan
TARGETING_TYPE_KEYWORD. Artinya, Anda harus mengambil penargetan untuk pengiklan, item baris, dan grup iklan agar dapat memiliki perhitungan lengkap semua penargetan yang memengaruhi penayangan iklan.
Ambil penargetan yang ada di seluruh jenis penargetan menggunakan permintaan daftar massal.
Mengambil penargetan partner dan pengiklan yang ada
Berikut cara mendapatkan penargetan yang ada untuk pengiklan, termasuk penargetan partner yang diwariskan:
Python
# 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
Mengambil penargetan item baris yang ada
Berikut cara menetapkan penargetan yang ada langsung ke item baris:
Python
# 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
Mengambil penargetan grup iklan yang ada
Berikut cara menetapkan penargetan yang ada langsung ke grup iklan:
Python
# 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
Menetapkan penargetan ke resource
Anda harus membuat permintaan terpisah untuk memperbarui penargetan item baris dan grup iklan.
Menetapkan penargetan item baris
Berikut cara menambahkan logika penargetan berikut ke item baris:
- Hanya menayangkan iklan di komputer.
Jangan mengajukan bid pada inventaris yang ditayangkan bersama konten yang cocok dengan kata kunci "es krim".
Python
# 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.")
Menetapkan penargetan grup iklan
Berikut cara menambahkan logika penargetan berikut ke grup iklan:
- Hanya ditayangkan kepada orang tua.
Jangan menayangkan iklan terhadap channel YouTube yang diberikan.
Python
# 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.")