Campagne Performance Max con AdsApp

Gli script Google Ads consentono di gestire in qualche modo le campagne Performance Max campagne. Puoi utilizzare per recuperare campagne Performance Max, gestire i gruppi di asset ed eseguire report; ma non puoi usare gli script per creare campagne Performance Max. A eseguire operazioni più avanzate, consulta il resto di questa guida, dimostra un approccio più generico utilizzando mutate.

Recupero delle campagne Performance Max

Le campagne Performance Max sono disponibili tramite performanceMaxCampaigns raccolta di un AdsApp . Puoi recuperarli come di consueto:

const campaignName = "My Performance Max campaign";

const campaignIterator = AdsApp.performanceMaxCampaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get();

for (const campaign of campaignIterator) {
  ...
}

A differenza di alcuni altri tipi di campagne, le campagne Performance Max non contengono annunci gruppi o oggetti degli annunci che puoi visualizzare tutto ciò che riguarda questi concetti le altre campagne vengono gestite automaticamente in base ai gruppi di asset che per iniziare.

Asset e gruppi di asset

Gli annunci delle campagne Performance Max sono pubblicati su asset come video, immagini, titoli e descrizioni forniti da te o generati automaticamente. Per una panoramica completa dei tipi di asset obbligatorio, consulta l'asset Performance Max dell'API Google Ads .

Gli asset per le campagne Performance Max vengono raggruppati in un gruppo di asset, e ogni campagna Performance Max deve avere almeno un gruppo di asset. Tu non possono creare questi gruppi di asset direttamente negli script, ma puoi aggiungere e Rimuovere gli asset da un gruppo di asset esistente.

Aggiungi asset al gruppo di asset

Innanzitutto, crea l'asset:

const imageUrl = "http://www.example.com/example.png";
const imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
const assetOperation = AdsApp.adAssets().newImageAssetBuilder()
   .withName("new asset name")
   .withData(imageBlob)
   .build();
const imageAsset = assetOperation.getResult();

Poi, utilizzando l'asset che hai appena creato, aggiungilo a un gruppo di asset esistente:

// First, fetch the Performance Max campaign we want to operate on.
const campaignIterator = AdsApp.performanceMaxCampaigns()
   .withCondition(`campaign.name = '${campaignName}'`)
   .get();
let campaign;
if (campaignIterator.hasNext()) {
   campaign = campaignIterator.next();
} else {
   throw `No campaign found with name ${campaignName}.`
}

// Then, get that campaign's asset groups.
const assetGroupIterator = campaign.assetGroups().get();

// The campaign must have at least one asset group, so we can just assume so here.
const assetGroup = assetGroupIterator.next();

// Add the asset from the previous step.
assetGroup.addAsset(imageAsset, 'MARKETING_IMAGE');

Tieni presente che devi specificare il tipo di asset nell'ultimo passaggio. Puoi trovare uno elenco completo dei tipi di asset nell'API Google Ads documentazione

Per utilizzare un asset esistente, crea prima un selettore di asset:

const assetSelector = AdsApp.adAssets().assets();

Poi utilizza un filtro withCondition per restringere le risorse che ti interessano. su cui operano. Consulta le AssetSelector documentazione di riferimento per un elenco completo delle opzioni di filtro.

Infine, recupera l'iteratore e ripeti l'iterazione come per le altre entità:

const assetIterator = assetSelector.get();

for (const asset of assetIterator) {
   ...
}

Asset di testo

Gli asset di testo funzionano in modo leggermente diverso, in quanto non è necessario crearli in anticipo. È sufficiente specificare il testo anziché una risorsa e il sistema creano automaticamente l'asset. Se il testo è un duplicato esatto di un asset di testo esistente, verrà riutilizzato questo asset.

Ad esempio, ecco come creare un asset titolo:

assetGroup.addAsset('asset text here', 'HEADLINE');

Rimuovi asset dal gruppo di asset

Puoi anche rimuovere un asset da un gruppo di asset. Tuttavia, tieni presente che è necessario avere un numero minimo di certi tipi di asset affinché la campagna sia valida.

Ecco come rimuovere l'asset aggiunto nell'esempio precedente:

assetGroup.removeAsset(imageAsset, 'MARKETING_IMAGE');

Puoi anche ottenere un elenco di asset in un determinato gruppo di asset con l'search :

// The resource name is a unique identifier for this asset group.
const assetGroupName = assetGroup.getResourceName();
results = AdsApp.search(
   `SELECT asset.resource_name, asset_group_asset.field_type
    FROM asset_group_asset
    WHERE asset_group.resource_name = '${assetGroupName}'`
);

In questo modo viene selezionato il nome della risorsa dell'asset come identificatore univoco. Potresti seleziona anche altri campi, come asset.type o asset.text_asset.text per per perfezionare ulteriormente i risultati. Utilizza Query Builder per questo report digita per creare la tua query.

Una volta ottenuto l'asset target, chiama remove sul gruppo di asset per rimuovere l'asset asset dal gruppo di asset:

// Let's assume at least one asset is returned. We'll just remove the first
// asset, whatever it is. In your code, customize this to choose the right asset.
const row_info = results.next().asset;
assetGroup.remove(row_info.asset.resource_name, row_info.asset_group_asset.field_type);