Talep Yaratma reklam yayını, üst iş ortağına, reklamverene, satır öğesine ve reklam gruplarına atanan hedefleme kullanılarak kontrol edilir.
İdeal müşterilerinize ulaşmak ve kampanya performansını artırmak için bir Talep Yaratma satır öğesine ve reklam grubuna atanmış hedeflemeyi kullanın.
Hedeflemenizi nereye atayacağınıza karar verme
Hedefleme hem Talep Yaratma satır öğelerine hem de reklam gruplarına atanabilir.
Hedeflemenin söz konusu satır öğesi altında yayınlanan tüm reklamlar için geçerli olmasını istiyorsanız hedeflemeyi bir Talep Yaratma satır öğesine atayın. Aksi takdirde, hedeflemeyi tek tek reklam gruplarına atayın.
Talep Yaratma kaynak türüne göre hedefleme desteği
Her kaynak türü, belirli hedefleme türlerini destekler.
Aşağıda, Talep Yaratma satır öğeleri tarafından desteklenen hedefleme türlerinin listesi verilmiştir:
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
Aşağıda, Talep Yaratma reklam grupları tarafından desteklenen hedefleme türlerinin listesi verilmiştir:
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
TARGETING_TYPE_GEO_REGION, TARGETING_TYPE_POI ve TARGETING_TYPE_LANGUAGE desteği, üst LineItem kaynağındaki demandGenSettings.geoLanguageTargetingEnabled alanının ayarına bağlıdır. Alan doğruysa konum ve dil hedefleme yalnızca üst satır öğesine atanabilir. Alan yanlışsa bu hedefleme yalnızca bağımsız reklam gruplarına atanabilir.
Kullanılabilir hedefleme seçeneklerini bulma
Hedefleme, türüne göre tanımlanır. Aşağıdaki yöntemlerden birini kullanarak hedefleme seçeneklerini belirleyin:
- Numara türleri (ör.
AgeRangeveyaExchange) gibi alakalı bir numara değeri kullanın. - İlgili hizmeti kullanarak kanallar veya konum listeleri gibi hedeflenebilir öğeleri alın.
listvesearchyöntemlerini kullanarak bir hedefleme türü için hedefleme seçeneği kimliklerini alın.
Mevcut hedeflemeyi alma
Mevcut hedefleme, bir satır öğesine veya reklam grubuna hangi hedeflemenin eklenebileceğini kısıtlar.
Talep Yaratma satır öğeleri ve reklam grupları yalnızca devralınan hedeflemeyi gösterir.TARGETING_TYPE_KEYWORD Bu, reklam yayınını etkileyen tüm hedeflemelerin tam olarak hesaplanması için reklamveren, satır öğesi ve reklam grubu hedeflemesini almanız gerektiği anlamına gelir.
Toplu liste isteklerini kullanarak hedefleme türleri genelinde mevcut hedeflemeyi alın.
Mevcut iş ortağı ve reklamveren hedeflemeyi alma
Devralınan iş ortağı hedefleme de dahil olmak üzere bir reklamverenin mevcut hedeflemesini nasıl alacağınız aşağıda açıklanmıştır:
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
Mevcut satır öğesi hedeflemesini alma
Mevcut hedeflemeyi doğrudan bir satır öğesine atamak için:
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
Mevcut reklam grubu hedeflemesini alma
Mevcut hedeflemeyi doğrudan bir reklam grubuna atamak için:
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
Hedeflemeyi kaynaklara atama
Satır öğesi ve reklam grubu hedeflemesini güncellemek için ayrı istekler göndermeniz gerekir.
Satır öğesi hedeflemesi atama
Aşağıdaki hedefleme mantığını bir satır öğesine nasıl ekleyeceğiniz açıklanmıştır:
- Yalnızca bilgisayarlarda reklam yayınlandı.
"Dondurma" anahtar kelimesiyle eşleşen içerikle birlikte yayınlanan envantere teklif vermeyin.
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.")
Reklam grubu hedeflemesi atama
Aşağıdaki hedefleme mantığını bir reklam grubuna eklemek için:
- Yalnızca ebeveynlere reklam yayınlayın.
Belirtilen YouTube kanalına karşı reklam yayınlamayın.
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.")