La gestione del targeting per risorse è una funzionalità centrale della strategia di offerta l'API Video 360. Il targeting può essere assegnato a più tipi di risorse e utilizza una serie di e altre risorse e spazi di ID. Questa pagina descrive le limitazioni da notare e da ottimizzare pratiche da implementare nell'adozione dei strumenti per la Targeting assegnato all'API Video 360 Servizi opzionale.
Utilizza l'ereditarietà del targeting
Il targeting assegnato ad alcune risorse può essere ereditato dall'elemento figlio Google Cloud. Le opzioni di targeting ereditate da una risorsa secondaria sono recuperabili, ma non modificabile a livello di risorsa figlio. In questo modo si attivano le impostazioni di sicurezza del brand altri tipi di targeting da applicare a livello intero di un partner o di un inserzionista.
Il percorso dell'ereditarietà è illustrato nel seguente diagramma:
Come specificato nel diagramma, alcuni livelli di targeting supportano soltanto un sottoinsieme di tipi di targeting. Ciò significa che alcune opzioni di targeting non possono essere impostate livelli ed ereditati, ma che devono essere impostati a un livello inferiore.
Eredità in YouTube e Risorse dei partner
L'ereditarietà del targeting non si riflette per YouTube e Risorse dei partner in
Display e l'API Video 360. Il targeting ereditato dai gruppi di annunci non verrà
Recuperabile a livello AdGroup
e nel targeting di YouTube
assegnate alle risorse padre non verranno ereditate dalle risorse figlio.
Per recuperare tutte le impostazioni di targeting funzionali per un gruppo di annunci, Devi recuperare le opzioni di targeting assegnate per il gruppo di annunci, elemento pubblicitario principale e inserzionista principale.
Tieni presente il targeting assegnato al momento della creazione dell'elemento pubblicitario
A parte le opzioni di targeting ereditate, la maggior parte dei criteri di targeting può essere assegnata solo dopo la creazione di un elemento pubblicitario. Tuttavia, esistono alcuni tipi di targeting con un sottoinsieme predefinito di valori assegnati agli elementi pubblicitari al momento della creazione dell'elemento pubblicitario. Quelli tipi di targeting sono:
Tentativo di creare opzioni di targeting assegnate esistenti o di eliminarle non esistenti
restituisce un errore, pertanto ti consigliamo di conoscere l'intera suite di targeting
assegnato ai tuoi elementi pubblicitari
al momento della creazione. Se devi recuperare il
il targeting assegnato a un elemento pubblicitario per i vari tipi di targeting, utilizza
advertisers.lineItems.bulkListAssignedTargetingOptions
Inoltre, alcune impostazioni sono configurate per impostazione predefinita quando non è presente alcuna opzione di targeting
viene assegnato alla risorsa. Ad esempio, se una risorsa non ha un
TARGETING_TYPE_AUTHORIZED_SELLER_STATUS
definita, significa che utilizza l'opzione di targeting
Venditori e Rivenditori" .
Non aspettarti "targeting predefinito" automatico
In-display e Video 360, il targeting impostato a livello di campagna o di ordine di inserzione è non siano passati subito agli elementi pubblicitari secondari. Questo targeting è noto come "targeting predefinito" ed è utilizzato come modello di targeting applicata agli elementi pubblicitari creati successivamente nell'interfaccia utente.
Nella sezione Display & API Video 360, il targeting predefinito non viene applicato automaticamente alle nuove appena creati. La creazione di elementi pubblicitari di base non viene copiata in nessuna campagna o il targeting a livello di ordine di inserzione. In questo caso, il targeting desiderato deve essere applicata agli elementi pubblicitari separatamente tramite l'opzione di targeting assegnata create o di modifica collettiva.
I metodi speciali possono essere un'eccezione. Ad esempio, gli elementi pubblicitari creati tramite
advertisers.lineItems.generateDefault
copia
le impostazioni dell'ordine di inserzione principale, compreso il targeting assegnato.
Allo stesso modo, agli elementi pubblicitari creati tramite la duplicazione verrà assegnato il
lo stesso targeting dell'elemento pubblicitario originale.
YouTube e Il targeting dei partner non può essere modificato
Targeting specifico per YouTube e Le campagne partner non possono essere aggiornate utilizzando Display & l'API Video 360.
YouTube e Il targeting per partner consiste in tutti i criteri di targeting assegnati direttamente YouTube e gli elementi pubblicitari e i gruppi di annunci dei partner, nonché uno dei seguenti tipi di targeting:
TARGETING_TYPE_SESSION_POSITION
TARGETING_TYPE_YOUTUBE_CHANNEL
TARGETING_TYPE_YOUTUBE_VIDEO
Questo targeting può essere aggiornato utilizzando lo strumento UI di Video 360 direttamente o tramite caricando un file di dati strutturati.
Assegnare il targeting per pubblico con una singola opzione
Le opzioni di targeting per la maggior parte dei tipi di targeting vengono assegnate singolarmente. Pubblico
il targeting per gruppo non segue questa convenzione modulare, ma viene assegnato
in un singolo container, configurabile,
dettagli di targeting per gruppo di pubblico che elenca le
ID dei segmenti di pubblico da includere ed escludere durante la pubblicazione degli annunci. La
assignedTargetingOptionId
per questa opzione del gruppo di pubblico,
una volta assegnato, è sempre "audienceGroup".
Questa progettazione implica che qualsiasi modifica al targeting per gruppo di pubblico deve essere effettuata
Innanzitutto, elimina il gruppo di pubblico esistente assegnato
l'opzione di targeting e poi creando un nuovo gruppo di pubblico
l'opzione di targeting con le modifiche desiderate. Questa operazione può essere eseguita in una singola richiesta
utilizzando
advertisers.lineItems.bulkEditAssignedTargetingOptions
Di seguito è riportato un esempio di come aggiornare il targeting per pubblico in modo da scegliere come target altri segmenti di pubblico 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 );
Preparati al ritiro delle opzioni di targeting
Le opzioni di targeting non sono statiche e un numero limitato potrebbe essere ritirato di tanto in tanto nel tempo. Una volta ritirate, le opzioni di targeting non influiscono sull'annuncio di un elemento pubblicitario. in fase di pubblicazione. Dopo il ritiro, l'assegnazione di queste opzioni alla riga esistente verrà annullata di elementi e richieste che tentano di recuperare o assegnare queste opzioni di errori.
Per evitare questi errori, ti consigliamo di controllare regolarmente le informazioni archiviate
ID delle opzioni di targeting. Per risparmiare quota, consigliamo di memorizzare nella cache
utilizzati regolarmente. Tuttavia, se archivi gli ID,
ti rendi conto che un'opzione di targeting è stata ritirata. Per questo motivo,
usano regolarmente targetingOptions.targetingTypes.get
per
Recupera tutti gli ID delle opzioni di targeting memorizzati per verificare che siano ancora
supportate da Display & Video a 360°.
Consulta la pagina Annunciati relativi al ritiro per i dettagli sui i ritiri precedenti e imminenti.
Non effettuare richieste in parallelo per aggiornare lo stesso elemento pubblicitario
Tentativo di aggiornare le impostazioni o il targeting assegnato per un singolo elemento pubblicitario se utilizzi più richieste in parallelo, restituirà un errore. Richieste applicabili include:
advertisers.lineItems.bulkEditAssignedTargetingOptions
advertisers.lineItems.bulkUpdate
advertisers.lineItems.patch
advertisers.lineItems.targetingTypes.assignedTargetingOptions.create
advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete
Se hai bisogno di aggiungere o rimuovere più opzioni di targeting assegnate per un singolo
contemporaneamente, devi utilizzare una sola
advertisers.lineItems.bulkEditAssignedTargetingOptions
richiesta. Se desideri aggiornare le impostazioni e il targeting di un elemento pubblicitario,
la richiesta patch
o bulkUpdate
e i relativi
di targeting per garantire che la seconda richiesta non venga inviata prima
restituisce una risposta.