Mutazioni del servizio di risorse

L'utilizzo del servizio dedicato di una risorsa è il modo più diretto per creare, aggiornare o rimuovere entità di un singolo tipo di risorsa nell'API Google Ads.

Endpoint di modifica

Ogni risorsa modificabile ha un tipo di servizio e di operazione corrispondente. Per modificare una risorsa utilizzando il servizio dedicato, compila uno dei seguenti campi dell'operazione e invialo all'endpoint di modifica del servizio:

  • Create (create): un nuovo oggetto risorsa da creare.
  • Aggiornamento (update): l'oggetto risorsa modificato, accompagnato da un update_mask che specifica i campi modificati.
  • Rimuovi (remove): La resource_name stringa della risorsa di destinazione da rimuovere.

Ad esempio, per creare un nuovo Campaign, completa i seguenti passaggi:

  1. Crea un oggetto Campaign con gli attributi scelti.
  2. Assegnalo al campo create di un CampaignOperation.
  3. Invia l'operazione in un MutateCampaignsRequest a CampaignService.MutateCampaigns.

Questo stesso pattern si applica a tutti i servizi specifici per le risorse nell'API Google Ads:

Il seguente payload JSON REST illustra una richiesta a CampaignService.MutateCampaigns:

{
  "customerId": "CUSTOMER_ID",
  "operations": [
    {
      "create": {
        "name": "Interplanetary Cruise #1",
        "advertisingChannelType": "SEARCH",
        "status": "PAUSED",
        "manualCpc": {},
        "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/BUDGET_ID",
        "containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
      }
    }
  ],
  "partialFailure": false,
  "validateOnly": false
}

Operazioni e limitazioni multiple

La maggior parte delle richieste di modifica specifiche per le risorse accetta un campo operations ripetuto, pertanto una singola richiesta può contenere più operazioni per quel tipo di risorsa (fino a 10.000 operazioni per richiesta o 20.000 per AdGroupCriterionService.MutateAdGroupCriteria; CustomerService.MutateCustomer accetta un campo operation singolare). Per impostazione predefinita, tutte le operazioni nella richiesta vengono eseguite in modo atomico, a meno che il servizio non supporti partial_failure e tu non lo imposti su true.

Tuttavia, i servizi di risorse individuali presentano due limitazioni importanti:

  • Tipo di risorsa singola: una richiesta a un servizio di risorse può modificare solo le risorse gestite da quel servizio specifico.
  • Nessun ID temporaneo tra risorse: poiché una chiamata di modifica specifica per la risorsa accetta un solo tipo di risorsa, non puoi assegnare un ID negativo temporaneo a una risorsa principale (ad esempio customers/CUSTOMER_ID/campaigns/-1) e farvi riferimento da una risorsa secondaria di un tipo diverso (ad esempio AdGroup) nella stessa richiesta. (Gli ID temporanei con riferimento automatico all'interno dello stesso tipo di risorsa sono supportati per gli alberi gerarchici, come i gruppi di schede AdGroupCriterion e i nodi AssetGroupListingGroupFilter).

Se devi modificare più tipi di risorse in una singola richiesta o fare riferimento a nomi di risorse temporanei in diversi tipi di risorse, utilizza GoogleAdsService.Mutate.

Differenze specifiche per versione

Tieni presente la seguente differenza tra le versioni supportate dell'API Google Ads quando muti le risorse:

  • Servizi relativi agli obiettivi del ciclo di vita: Gli obiettivi di fidelizzazione del cliente vengono modificati in tutte le versioni supportate tramiteGoalService.MutateGoals retention_goal_settings) ECampaignGoalConfigService.MutateCampaignGoalConfigs campaign_retention_settings) utilizzando uno standard ripetutooperations campo. Nella versione 25 e successive, l'acquisizione di nuovi clienti (new_customer_acquisition_goal_settings/campaign_new_customer_acquisition_settings) e la fidelizzazione (loyalty_retention_goal_settings/campaign_loyalty_retention_settings) vengono mutate anche tramite GoalService.MutateGoals e CampaignGoalConfigService.MutateCampaignGoalConfigs. Questo campo sostituisce CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals e CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals, che vengono utilizzati per l'acquisizione di nuovi clienti nelle versioni 23 e 24 e accettano un singolo campo operation.