In Google Ads werden zahlreiche Anzeigentypen unterstützt, etwa Text-, Bild- und mobile Anzeigen. In dieser Anleitung erfahren Sie, wie Sie Anzeigen mit Google Ads-Scripts erstellen, abrufen und Berichte dazu erstellen. Eine Übersicht der Anzeigentypen, die in Google Ads unterstützt werden, finden Sie im API-Leitfaden.
Erstellung
Mit Scripts können Anzeigen mit der Methode newAd() für AdGroup-Instanzen erstellt werden. Dadurch wird ein AdBuilderSpace zurückgegeben, mit dem Builders für unterstützte Anzeigentypen erstellt werden.
Das folgende Snippet zeigt, wie Sie eine responsive Suchanzeige erstellen:
let adOperation = adGroup.newAd().responsiveSearchAdBuilder()
.withHeadlines(["Headline 1", "Headline 2", "Headline 3"])
.withDescriptions(["Description 1", "Description 2"])
.withFinalUrl("http://www.example.com")
.withPath1("path1")
.withPath2("path2")
.build();
Prüfung
Einige Informationen, die mit allen Anzeigentypen verknüpft sind, sind sofort über ein Ad verfügbar, z. B. die ID und der Freigabestatus einer Anzeige. Außerdem kann jede Anzeige pausiert, aktiviert oder entfernt werden.
Wenn Sie auf Felder zugreifen möchten, die für den Anzeigentyp spezifisch sind, z. B. die Überschriften einer responsiven Suchanzeige, verwenden Sie die Methode asType(), um ein AdViewSpace zu erstellen.
Dadurch wird Zugriff auf eine erweiterte Version von Ad gewährt, die typspezifische Methoden verfügbar macht.
Mit dem folgenden Snippet werden die Anzeigentitel aller responsiven Suchanzeigen abgerufen:
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
}
Die Bedingung Type = RESPONSIVE_SEARCH_AD sorgt dafür, dass jede Anzeige aus dem Iterator eine responsive Suchanzeige ist. Wenn Sie versuchen, eine Anzeige mit einem falschen Typ aufzurufen, führt dies zu einem Fehler, der die Ausführung Ihres Skripts beendet. Daher ist es wichtig, typspezifische Felder nur aufzurufen, wenn der Typ einer Anzeige bekannt ist.
Das folgende Snippet zeigt, wie mit der Methode Ad.isType() ermittelt wird, ob eine Anzeige den richtigen Typ hat:
if (ad.isType().responsiveSearchAd()) {
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
let descriptions = responsiveSearchAd.getDescriptions();
}
Anzeigen lassen sich zwar nicht mit Standardselektoren nach dem Anzeigentitel filtern, aber Sie können sie nach dem Abrufen in JavaScript filtern:
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
// Filter for ads containing a specific headline.
if (headlines.some(h => h.getText().includes("Special Offer"))) {
console.log(`Found ad with ID ${ad.getId()}`);
}
}
Berichte
In der ad_group_ad-Ansicht können Sie neben regulären Statistiken auch Anzeigenfelder abfragen. Sie können beispielsweise mit ad_group_ad.ad.type nach Anzeigentyp filtern.
Das folgende Snippet zeigt, wie Sie die Statistiken für alle responsiven Suchanzeigen abrufen:
const results = AdsApp.search(
"SELECT ad_group_ad.ad_group.id, " +
"ad_group_ad.ad.id, " +
"metrics.clicks, " +
"metrics.impressions, " +
"metrics.cost " +
"FROM ad_group_ad " +
"WHERE ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD' " +
"AND segments.date DURING LAST_7_DAYS");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let clicks = row.metrics.clicks;
...
}
Nach Asset-Inhalt filtern
Wenn Sie responsive Suchanzeigen anhand des Inhalts ihrer Anzeigentitel oder Beschreibungen filtern möchten, verwenden Sie die Ressource ad_group_ad_asset_view. In dieser Ansicht wird jede Überschrift und Beschreibung als separate Zeile behandelt. So können Sie nach dem Text des Assets filtern.
Mit dem folgenden Snippet werden Statistiken für alle responsiven Suchanzeigen abgerufen, die einen bestimmten Anzeigentitel enthalten:
const results = AdsApp.search(
"SELECT ad_group_ad.ad.id, " +
"asset.text_asset.text, " +
"metrics.clicks, " +
"metrics.impressions " +
"FROM ad_group_ad_asset_view " +
"WHERE asset.text_asset.text LIKE '%Special Offer%' " +
"AND ad_group_ad_asset_view.field_type = 'HEADLINE'");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let text = row.asset.textAsset.text;
let clicks = row.metrics.clicks;
console.log(`Ad ID ${adId} with headline "${text}" had ${clicks} clicks.`);
}
Weitere Informationen zum Erstellen von Berichten in Scripts finden Sie im Leitfaden zu Berichten.