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 unupdate_maskche specifica i campi modificati. - Rimuovi (
remove): Laresource_namestringa della risorsa di destinazione da rimuovere.
Ad esempio, per creare un nuovo Campaign, completa i seguenti passaggi:
- Crea un oggetto
Campaigncon gli attributi scelti. - Assegnalo al campo
createdi unCampaignOperation. - Invia l'operazione in un
MutateCampaignsRequestaCampaignService.MutateCampaigns.
Questo stesso pattern si applica a tutti i servizi specifici per le risorse nell'API Google Ads:
AdGroup: passa unAdGroupOperationaAdGroupService.MutateAdGroups.CampaignCriterion: passa unCampaignCriterionOperationaCampaignCriterionService.MutateCampaignCriteria.
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 esempioAdGroup) 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 schedeAdGroupCriterione i nodiAssetGroupListingGroupFilter).
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 tramite
GoalService.MutateGoalsretention_goal_settings) ECampaignGoalConfigService.MutateCampaignGoalConfigscampaign_retention_settings) utilizzando uno standard ripetutooperationscampo. 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 tramiteGoalService.MutateGoalseCampaignGoalConfigService.MutateCampaignGoalConfigs. Questo campo sostituisceCustomerLifecycleGoalService.ConfigureCustomerLifecycleGoalseCampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals, che vengono utilizzati per l'acquisizione di nuovi clienti nelle versioni 23 e 24 e accettano un singolo campooperation.