Skriptbeispiele für die Verwaltung von Anzeigengruppen
Die folgenden Abschnitte zeigen Beispiele für Skripts, die verschiedene Aktionen für Anzeigengruppen ausführen.
Hinzufügen von Anzeigengruppen
Um eine Anzeigengruppe hinzuzufügen, rufen Sie zunächst die Kampagne ab, der die Anzeigengruppe hinzugefügt werden soll. Verwenden Sie das CampaignSelector-Objekt , um die Kampagne auszuwählen. Die Verwendung der withIds
-Methode bietet eine bessere Leistung als das Übergeben des Kampagnennamens in der withCondition
-Methode.
Rufen Sie als Nächstes die newAdGroupBuilder-Methode der Kampagne auf, um einen Generator abzurufen, den Sie zum Angeben der Eigenschaften der Anzeigengruppe verwenden. Die einzige erforderliche Eigenschaft ist der Name der Anzeigengruppe (siehe Methode), der withName
innerhalb der Kampagne eindeutig sein muss. Wenn Sie keinen CPC-Wert angeben, wird standardmäßig der Mindestgebotsbetrag für die Währung Ihres Kontos verwendet. Sie müssen die Sprache nur angeben, wenn die Kampagne sie nicht angibt. Andernfalls erbt sie den Sprachwert der Kampagne. Standardmäßig wird die status der Anzeigengruppe angehalten.
Beim Aufrufen der -Methode des Generators build
wird die Anzeigengruppe asynchron erstellt. Skripts fügt die Anzeigengruppe zu einem bestimmten Zeitpunkt hinzu, bevor das Skript beendet wird oder wenn Sie eine der Methoden des Buildvorgangs aufrufen. Informationen zu diesem Prozess finden Sie unter Was ist ein Generator?
function main() {
// The ID of the campaign to add the ad groups to.
// IDs in Scripts are string integers.
var campaignId = 'CAMPAIGN ID GOES HERE';
var campaign = getCampaign(campaignId);
// Ad groups to add.
var adGroups = [];
adGroups.push({
name : 'AD GROUP NAME GOES HERE',
cpc : 2.25,
language : 'English' // Required if the campaign doesn't specify a language
});
adGroups.push({
name : 'AD GROUP NAME GOES HERE',
cpc : 1.25,
language : 'English' // Required if the campaign doesn't specify a language
});
var operations = [];
if (campaign != null)
{
for (var adGroup of adGroups) {
var operation = addAdGroup(
campaign,
adGroup.name,
adGroup.cpc,
adGroup.language);
operations.push(operation);
}
}
else {
Logger.log("Unable to retrieve campaign, " + campaignId);
}
checkBuildStatus(operations, adGroups);
}
// Get the campaign using its ID.
function getCampaign(id) {
var iterator = AdsApp.campaigns()
.withIds([id])
.get();
// Return the campaign if it exists; otherwise, null.
if (iterator.hasNext()) {
return iterator.next();
}
else {
return null;
}
}
// Add the ad group to the specified campaign.
// Returns the builder's operation object, which you use to
// check the status of the add operation.
function addAdGroup(campaign, name, cpc, language) {
return campaign.newAdGroupBuilder()
.withName(name)
.withCpc(cpc)
.withLanguage(language)
.build();
}
// Check the ad group's build status.
function checkBuildStatus(operations, adGroups) {
for (var i = 0; i < operations.length; i++) {
if (!operations[i].isSuccessful()) {
for (var error of operations[i].getErrors()) {
Logger.log(`Failed to add, ${adGroups[i].name}. Error: ${error}`);
}
}
}
}
Abrufen aller Anzeigengruppen
Um alle Anzeigengruppen in einem Konto abzurufen, rufen Sie zuerst die Methode des adGroups
AdsApp-Objekts auf, um die Auswahl abzurufen. Rufen Sie dann die -Methode des Selektors get
auf, um einen Iterator abzurufen, mit dem Sie die Liste der Anzeigengruppen durchlaufen. Da im Beispiel keine Filter angegeben werden, gibt der Selektor alle Anzeigengruppen im Konto zurück. Um die Anzahl der Anzeigengruppen im Iterator zu bestimmen, rufen Sie die -Methode des totalNumEntities
Iterators auf.
function main() {
// Gets all ad groups in the account.
var iterator = AdsApp.adGroups().get();
// Iterates through the list of ad groups and logs
// each ad group's name.
while (iterator.hasNext()) {
var adGroup = iterator.next();
}
}
Abrufen einer Anzeigengruppe anhand des Namens
Um eine Anzeigengruppe anhand des Namens abzurufen, rufen Sie zuerst die Methode des AdsApp-Objekts auf adGroups
, um die Auswahl abzurufen. Die Auswahl enthält eine Reihe von Filtermethoden, die Sie zum Filtern der Liste der Anzeigengruppen verwenden. Verwenden Sie die withCondition
-Methode, um die Anzeigengruppen nach einem bestimmten Anzeigengruppennamen zu filtern. Beachten Sie, dass bei den Operanden und Operatoren die Groß-/Kleinschreibung beachtet wird.
Rufen Sie als Nächstes die -Methode des Selektors get
auf, um den Iterator abzurufen. Anzeigengruppennamen innerhalb einer Kampagne sind eindeutig, aber es ist möglich, dass mehrere Kampagnen Anzeigengruppen mit demselben Namen haben. Wenn Sie daher nur nach Namen filtern, kann der Iterator mehr als eine Anzeigengruppe enthalten.
Wenn Sie eine Anzeigengruppe anhand des Namens aus einer bestimmten Kampagne abrufen möchten, schließen Sie eine Methode ein withCondition
, die den Namen der Kampagne angibt (CampaignName = '<campaignnamegoeshere>'
).
function main() {
// The name of the ad group to get.
var adGroupName = 'AD GROUP NAME GOES HERE';
// Get the ad groups with the specified name.
var iterator = AdsApp.adGroups()
.withCondition(`Name = '${adGroupName}'`)
.get();
// Need a loop because multiple campaigns can have
// an ad group with the same name.
while (iterator.hasNext()) {
var adGroup = iterator.next();
}
}
Anzeigengruppe nach ID abrufen
Wenn Sie Zugriff auf die ID der Anzeigengruppe haben, verwenden Sie sie stattdessen. Die Verwendung von IDs zum Abrufen von Entitäten bietet eine bessere Leistung. Verwenden Sie anstelle der withCondition
Filtermethode die withIds
-Methode. Beispiel: withIds(['12345'])
.
function main() {
var adGroupId = '12345';
var iterator = AdsApp.adGroups()
.withIds([adGroupId])
.get();
if (iterator.hasNext()) {
var adGroup = iterator.next();
}
}
Anzeigengruppe anhand des Namens aus einer bestimmten Kampagne abrufen
function main() {
var adGroupName = 'AD GROUP NAME GOES HERE';
var campaignName = "CAMPAIGN NAME GOES HERE";
var iterator = AdsApp.adGroups()
.withCondition(`Name = '${adGroupName}'`)
.withCondition(`CampaignName = '${campaignName}'`)
.get();
if (iterator.hasNext()) {
var adGroup = iterator.next();
}
}
Abrufen der Leistungsdaten einer Anzeigengruppe
Rufen Sie die getStats-Methode der Anzeigengruppe auf, um die Leistungsmetriken einer Anzeigengruppe abzurufen. Wenn Sie die Anzeigengruppe erhalten, müssen Sie den Datumsbereich der gewünschten Metrikdaten angeben. Sie können den Datumsbereich mithilfe eines vordefinierten Literals angeben, z. B. LAST_MONTH oder HEUTE, oder mit einem Start- und Enddatum. Um den Datumsbereich anzugeben, verwenden Sie eine der forDateRange
Methoden, wenn Sie die Anzeigengruppe auswählen (siehe AdGroupSelector).
Eine Liste der Metriken, auf die Sie zugreifen können, finden Sie im Stats-Objekt .
function main() {
var campaignName = 'CAMPAIGN NAME GOES HERE';
var adGroupName = 'AD GROUP NAME GOES HERE';
// Get the ad group. You need to specify the date range of the
// performance data you want to get.
var iterator = AdsApp.adGroups()
.forDateRange('LAST_WEEK')
.withCondition(`Name = '${adGroupName}'`)
.withCondition(`CampaignName = '${campaignName}'`)
.get();
// If the ad group is found, log some metrics.
if (iterator.hasNext()) {
var adGroup = iterator.next();
var metrics = adGroup.getStats(); // Gets the performance metrics.
}
}
Anhalten einer Anzeigengruppe
Wenn Sie eine Anzeigengruppe hinzufügen, ist deren status standardmäßig Angehalten. Um die Anzeigengruppe zu aktivieren, rufen Sie die -Methode der Anzeigengruppe auf enable
. Um die status der Anzeigengruppe in Angehalten zu ändern, rufen Sie die -Methode der Anzeigengruppe aufpause
. Um die status der Anzeigengruppe zu bestimmen, rufen Sie die Methoden , isPaused
und isRemoved
der Anzeigengruppe isEnabled
auf.
function main() {
var campaignName = 'CAMPAIGN NAME GOES HERE';
var adGroupName = 'AD GROUP NAME GOES HERE';
// Get the ad group.
var iterator = AdsApp.adGroups()
.withCondition(`Name = '${adGroupName}'`)
.withCondition(`CampaignName = '${campaignName}'`)
.get();
if (iterator.hasNext()) {
var adGroup = iterator.next();
adGroup.pause();
}
}