Obiettivi di conversione
Quando crei una campagna Performance Max, vengono creati automaticamente una serie di obiettivi di conversione
che corrispondono a CustomerConversionGoals nell'
account. Puoi personalizzarli in modo specifico per ciascuna delle tue campagne Performance Max aggiornandoli.
Per farlo, devi prima recuperare l'ID campagna delle tue campagne Performance Max e un elenco di tutti gli obiettivi di conversione del cliente. Ecco un esempio di modifica degli obiettivi di una campagna, anche se puoi configurare il codice in modo che scorra più campagne Performance Max.
// Query for a campaign by name. Update this logic to pull the campaigns you'd
// like to edit
const campaignName = "My PMax campaign";
let campaignId = "";
const search = AdsApp.search(`SELECT campaign.id FROM campaign WHERE campaign.name = "${campaignName}"`);
if (search.hasNext()) {
campaignId = search.next().campaign.id;
console.log(`Updating conversion goals for ${campaignName}: ${campaignId}`);
}
else
{
console.log(`No campaign named "${campaignName}" found`);
// Perform further error handling here
}
// Query for a list of customer conversion goals
const searchResults = AdsApp.search(
`SELECT
customer_conversion_goal.category,
customer_conversion_goal.origin
FROM customer_conversion_goal`
);
Poi puoi scorrere tutti gli obiettivi di conversione che hai recuperato e creare un'operazione di aggiornamento per la campagna Performance Max corrente per personalizzare il targeting di ogni obiettivo. L'esempio di codice mostrato più avanti in questa sezione imposta tutti gli obiettivi come offertabili, ma dovrai personalizzare questa parte della logica in base a ciò che vuoi ottenere dalla campagna.
Ti consigliamo di configurare gli obiettivi di conversione in una transazione separata dal resto della procedura di creazione della campagna. CampaignConversionGoalOperation
richiede che partialFailure per la richiesta sia impostato su false. Se vuoi eseguire questo codice nella stessa transazione in cui crei la campagna, devi impostare l'intero insieme di operazioni in modo che l'errore parziale sia disattivato. Questo codice di esempio mostra come eseguire questa operazione in una transazione separata.
operations = [];
while (searchResults.hasNext()) {
const row = searchResults.next();
const conversionGoal = row.customerConversionGoal;
operations.push({
"campaignConversionGoalOperation": {
"update": {
"resourceName": `customers/${customerId}/campaignConversionGoals/${campaignId}~${conversionGoal.category}~${conversionGoal.origin}`,
// Insert your logic here to determine whether you want this particular
// campaign conversion goal to be biddable or not.
// This code will just default everything to being biddable, but that
// is not necessarily best for your use case.
"biddable": true
},
"updateMask": "biddable"
}
});
}
AdsApp.mutateAll(operations, {partialFailure: false});
Targeting della campagna
Per il targeting della campagna in Performance Max, assicurati di consultare la guida dell'API per un elenco completo dei tipi di criteri consentiti.
Non sono necessari criteri aggiuntivi per creare una campagna Performance Max, ma possono essere utili per limitare il targeting in base al tuo caso d'uso. Il seguente esempio di codice mostra come configurare un target di località geografica. Puoi fare riferimento alla
CampaignCriterion documentazione per il formato di altri tipi di criteri.
Puoi creare questi criteri insieme alla campagna stessa nell'ambito della stessa chiamata a mutateAll. Questo esempio di codice presuppone che tu stia strutturando il codice in questo modo.
operations.push({
"campaignCriterionOperation": {
"create": {
"campaign": campaignOperation.campaignOperation.create.resourceName,
"negative": false,
"location": {
// 1023191 represents New York City
"geoTargetConstant": "geoTargetConstants/1023191"
}
}
}
});
Indicatori del gruppo di asset
Prima di iniziare, leggi gli indicatori del gruppo di asset nella documentazione dell'API prima di iniziare. Questi vengono configurati collegando un gruppo di asset a un criterio esistente
AudienceInfo o SearchThemeInfo. Se preferisci utilizzare un segmento di pubblico, specifica il campo audience anziché il campo searchTheme con il nome risorsa del segmento di pubblico.
operations.push({
"assetGroupSignalOperation": {
"create": {
"assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
"searchTheme": {
"text": "mars cruise"
}
}
}
});