Targeting

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:

Diagramma dell'ereditarietà del targeting

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:

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.