Kampagnen für maximale Performance

Mit Google Ads-Skripts können Sie einen Teil der Verwaltung Ihrer Performance Max-Kampagnen verwalten. Sie können Skripts verwenden, um Performance Max-Kampagnen abzurufen, Asset-Gruppen zu verwalten und Berichte zu erstellen. Sie können jedoch keine Skripts verwenden, um Performance Max-Kampagnen zu erstellen.

Performance Max-Kampagnen abrufen

Performance Max-Kampagnen sind über die Sammlung performanceMaxCampaigns eines AdsApp-Objekts verfügbar. Sie können sie wie gewohnt abrufen:

const campaignName = "My Performance Max campaign";

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

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

Im Gegensatz zu anderen Kampagnentypen gibt es bei Performance Max-Kampagnen keine sichtbaren Anzeigengruppen oder Anzeigenobjekte. Alles, was mit diesen Konzepten für andere Kampagnen zu tun hat, wird automatisch anhand der von Ihnen festgelegten Asset-Gruppen ausgeführt.

Assets und Asset-Gruppen

Anzeigen aus Performance Max-Kampagnen werden über Assets wie Videos, Bilder, Anzeigentitel und Textzeilen verwendet, die entweder von Ihnen bereitgestellt oder automatisch generiert wurden. Eine vollständige Übersicht darüber, welche Arten von Assets erforderlich sind, finden Sie im Asset-Leitfaden für Performance Max-Kampagnen der Google Ads API.

Assets für Performance Max-Kampagnen werden in einer Asset-Gruppe zusammengefasst und jede Performance Max-Kampagne muss mindestens eine Asset-Gruppe haben. Sie können diese Asset-Gruppen nicht direkt in Skripts erstellen. Sie haben aber die Möglichkeit, Assets einer vorhandenen Asset-Gruppe hinzuzufügen oder daraus zu entfernen.

Asset zur Asset-Gruppe hinzufügen

Erstellen Sie zuerst das 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();

Fügen Sie das soeben erstellte Asset dann einer vorhandenen Asset-Gruppe hinzu:

// 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');

Beachten Sie, wie Sie den Asset-Typ im letzten Schritt angeben müssen. Eine vollständige Liste der Asset-Typen finden Sie in der Google Ads API-Dokumentation.

Wenn Sie ein vorhandenes Asset verwenden möchten, müssen Sie zuerst eine Asset-Auswahl erstellen:

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

Verwende dann einen withCondition-Filter, um die Auswahl auf die Assets einzugrenzen, die du verwenden möchtest. Eine vollständige Liste der Filteroptionen finden Sie in der Referenzdokumentation zu AssetSelector.

Rufen Sie schließlich den Iterator ab und iterieren Sie wie bei anderen Entitäten:

const assetIterator = assetSelector.get();

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

Text-Assets

Text-Assets funktionieren etwas anders, da sie nicht im Voraus erstellt werden müssen. Sie geben einfach den Text anstelle eines Assets an und das System erstellt das Asset automatisch für Sie. Wenn der Text ein exaktes Duplikat eines vorhandenen Text-Assets ist, wird das vorhandene Asset wiederverwendet.

So erstellen Sie beispielsweise ein Anzeigentitel-Asset:

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

Asset aus Asset-Gruppe entfernen

Sie können ein Asset auch aus einer Asset-Gruppe entfernen. Denken Sie jedoch daran, dass Sie eine Mindestanzahl bestimmter Arten von Assets haben müssen, damit die Kampagne gültig ist.

So entfernen Sie das Asset, das im vorherigen Beispiel hinzugefügt wurde:

assetGroup.removeAsset(imageAsset, 'MARKETING_IMAGE');

Mit der Funktion search können Sie auch eine Liste der Assets in einer bestimmten Asset-Gruppe abrufen:

// 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}'`
);

Dadurch wird der Ressourcenname des Assets als eindeutige Kennung ausgewählt. Sie können auch andere Felder wie asset.type oder asset.text_asset.text auswählen, um die Ergebnisse weiter einzugrenzen. Verwenden Sie den Query Builder für diesen Berichtstyp, um eine eigene Abfrage zu erstellen.

Sobald Sie das Ziel-Asset haben, rufen Sie remove für die Asset-Gruppe auf, um es aus der Asset-Gruppe zu entfernen:

// 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);

Berichte

Performance Max-Kampagnen werden zusammen mit anderen Kampagnentypen in der Ressource campaign aufgeführt. Für den Anfang können Sie zum Beispiel Folgendes verwenden:

SELECT
  campaign.id,
  campaign.url_expansion_opt_out,
  campaign.status,
  campaign.bidding_strategy_type,
  metrics.clicks,
  metrics.cost_micros,
  metrics.impressions,
  metrics.conversions,
  metrics.all_conversions
FROM campaign
WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX'
  AND metrics.clicks > 0

Wählen Sie keine ad_group-Felder aus, da bei Performance Max-Kampagnen keine Anzeigengruppen vorhanden sind und daher keine zurückgegeben werden. Außerdem kann asset_group nicht segmentiert werden. Weitere Informationen zu Berichten finden Sie im Leitfaden zu Berichten.

Sie können auch direkt Berichte zu Asset-Gruppen erstellen. Weitere Informationen dazu finden Sie im Google Ads API-Leitfaden zu diesem Thema. Sie können jede dort angezeigte Abfrage mit der Methode AdsApp.search in Google Ads-Skripts ausführen, um dieselben Ergebnisse zu erhalten.