Zugriff auf ein einzelnes Konto
Wenn Sie auf ein einzelnes Benutzerkonto zugreifen möchten, beginnt alles mit dem AdsApp-Objekt .
Gewusst wie auf die Entitäten in meinem Konto zugreifen?
Verwenden Sie AdsApp
, um auf alle Entitäten im Konto zuzugreifen. Das -Objekt enthält eine Selektormethode für jeden Entitätstyp (z. B. Kampagnen, Anzeigengruppen und Schlüsselwörter). Die Selektormethode gibt alle Entitäten für diesen Entitätstyp zurück. Rufen adGroups()
Sie beispielsweise die -Methode auf, um alle Anzeigengruppen im Konto abzurufen.
var iterator = AdsApp.adGroups().get();
Was aber, wenn ich eine bestimmte Entität oder Teilmenge von Entitäten möchte?
Die Auswahl bietet verschiedene Möglichkeiten, die Liste der Entitäten zu filtern. Sie können die -Methode des Selektors withIds()
verwenden, um bestimmte Entitäten nach IDs abzurufen, oder Sie können verwenden withCondition()
, um die Auswahlkriterien für die Auswahl der Entitäten anzugeben. Die Selektoren für alle Entitätstypen mit Ausnahme von negativen Schlüsselwort (keyword) Listen bieten die Möglichkeit, die Liste der Entitäten zu filtern.
Verwenden Sie die Punktnotation, um mehrere Filter zusammen zu zeichenfolgen. Wenn Sie mehrere Filter angeben, werden diese als AND-Vorgang behandelt. Der Selektor gibt nur die Entitäten zurück, die allen Bedingungen entsprechen.
Um alle Anzeigengruppen in einer Kampagne abzurufen, verwenden Sie die withCondition()
-Methode, um den Namen der Kampagne anzugeben.
var campaignName = 'My Campaign';
var iterator = AdsApp.adGroups()
.withCondition(`CampaignName = '${campaignName}'`)
.get();
Eine Liste der Bedingungen und Operatoren, mit denen Sie die Liste der Entitäten filtern können, finden Sie in der -Methode des Selektors withCondition()
. Eine Liste der Bedingungen für Anzeigengruppen finden Sie beispielsweise unter der withCondition-Methode der Anzeigengruppenauswahl.
Um eine Anzeigengruppe nach ID abzurufen, verwenden Sie die withIds()
-Methode, um die abzurufende Anzeigengruppe anzugeben.
var ids = ["123456789"];
var iterator = AdsApp.adGroups()
.withIds(ids)
.get();
Alternativ können Sie die Anzeigengruppe anhand des Namens abrufen.
var campaignName = 'My Campaign';
var adGroupName = 'My AdGroup';
var iterator = AdsApp.adGroups()
.withCondition(`CampaignName = '${campaignName}'`)
.withCondition(`Name = '${adGroupName}'`)
.get();
Weitere Informationen zu Selektoren finden Sie unter Was sind Selektoren?
Gewusst wie die Auswahl verwenden, um die gefilterte Liste von Entitäten zu durchlaufen?
Das ist nicht der Fall. Die Auswahl definiert nur die Entitäten, die Sie abrufen möchten. Um die Entitäten tatsächlich abzurufen, verwenden Sie einen Iterator. Um den Iterator abzurufen, rufen Sie die -Methode des Selektors get()
auf.
var ids = ["123456789"];
var iterator = AdsApp.adGroups()
.withIds(ids)
.get();
Verwenden Sie eine einfache while-Schleife , um die Liste der Entitäten zu durchlaufen.
while (iterator.hasNext()) {
var adGroup = iterator.next();
// Do something with the entity
}
Weitere Informationen zu Iteratoren finden Sie unter Was sind Iteratoren?
Gewusst wie Leistungsdaten für eine Entität abrufen?
Bei den meisten Entitäten können Sie Leistungsdaten anfordern, sofern verfügbar. Zuerst müssen Sie Skripts jedoch den Datumsbereich für die Leistungsdaten mitteilen, wenn Sie die Auswahl angeben. Um einen Datumsbereich anzugeben, verwenden Sie ein vordefiniertes Literal, z. B. YESTERDAY oder LAST_MONTH, oder verwenden Sie ein Start- und Enddatum. Weitere Informationen finden Sie unter forDateRange(string dateRange) und forDateRange(Object dateFrom, Object dateTo).
var campaignName = 'My Campaign';
var adGroupName = 'My AdGroup';
var iterator = AdsApp.adGroups()
.forDateRange('LAST_30_DAYS')
.withCondition(`CampaignName = '${campaignName}'`)
.withCondition(`Name = '${adGroupName}'`)
.get();
while (iterator.hasNext()) {
var adGroup = iterator.next();
var stats = adGroup.getStats();
}
Sie müssen auch einen Datumsbereich angeben, wenn Sie eine Leistungsdatenspalte in einer Selektormethode withCondition()
angeben. Wenn Sie beispielsweise nur Anzeigengruppen mit einer CTR von mehr als 0,22 Prozent verwenden möchten, müssen Sie einen Datumsbereich angeben.
var startDate = {year: 2018, month: 6, day: 3};
var endDate = {year: 2018, month: 6, day: 13};
var iterator = AdsApp.adGroups()
.forDateRange(startDate, endDate)
.withCondition("Ctr > 0.22")
.get();
Gewusst wie eine Entität hinzufügen?
Um eine Entität hinzuzufügen, verwenden Sie ein Generatorobjekt. Um ein Generatorobjekt abzurufen, rufen Sie die new*-Methode für das übergeordnete Objekt auf, dem Sie untergeordnete Elemente hinzufügen. Um einer Kampagne z. B. Anzeigengruppen hinzuzufügen, rufen Sie die -Methode der newAdGroupBuilder()
Kampagne auf.
Das Builder-Objekt enthält Methoden zum Festlegen aller Eigenschaften des Objekts, die Sie angeben dürfen. Es enthält auch eine build()
Methode, die Sie zum Erstellen der Entität verwenden. Im Folgenden wird gezeigt, wie Sie eine Anzeigengruppe erstellen. (Informationen zum Abrufen eines Kampagnenobjekts finden Sie unter Abrufen einer Kampagne anhand des Namens.)
var adGroupName = "My ad group";
var endDate = {year: 2018, month: 6, day: 13};
var customParameters = {key1: 'value1', key2: 'value2', key3: 'value3'};
var adGroupOperation = campaign.newAdGroupBuilder()
.withName(adGroupName)
.withStatus('ENABLED')
.withLanguage('English')
.withBiddingStrategy('MANUAL_CPC')
.withCpc(1.2)
.withCustomParameters(customParameters)
.withEndDate(endDate)
.build();
Die build
-Methode gibt ein Vorgangsobjekt zurück, mit dem Sie überprüfen können, ob Skripts die Entität erfolgreich erstellt haben. Im Folgenden wird das typische Aufrufmuster veranschaulicht. Rufen Sie die getResult
-Methode nur auf, wenn Sie auf die Eigenschaften der neuen Entität zugreifen möchten.
if (adGroupOperation.isSuccessful()) {
var adGroup = adGroupOperation.getResult();
}
else {
for (var error of adGroupOperation.getErrors()) {
Logger.log(`${error}\n`);
}
}
Weitere Informationen zu Generatoren und Leistungsaspekten beim Aufrufen der Vorgangsmethoden finden Sie unter Was sind Generatoren?
Gewusst wie eine Entität aktualisieren?
Nachdem Sie ein Generatorobjekt zum Hinzufügen einer Entität verwendet haben, verwenden Sie die Methoden der Entität, um deren Eigenschaften zu aktualisieren. Im folgenden Beispiel wird der CPC-Gebotsbetrag der Anzeigengruppe aktualisiert.
var ids = ["123456789"];
var adGroups = AdsApp.adGroups()
.withIds(ids)
.get();
if (adGroups.hasNext()) {
var adGroup = adGroups.next();
adGroup.bidding().setCpc(2.5);
}
Aber woher weiß ich, dass das Update funktioniert hat?
Wenn Sie versuchen, eine Eigenschaft mit einem ungültigen Wert zu aktualisieren, schreibt Scripts einen Fehler in das Änderungsprotokoll, löst jedoch keine Ausnahme aus, sodass das Skript weiterhin ausgeführt wird. Rufen Sie die Eigenschaft nicht ab, nachdem Sie sie aktualisiert haben, um zu überprüfen, ob die Eigenschaft den neuen Wert enthält. Dies wirkt sich negativ auf die Leistung aus.
function main() {
var id = "123456789";
var bidAmount = -2.5;
var keyword = getKeyword(id);
if (keyword != null) {
keyword.bidding().setCpc(bidAmount); // Bid is not set because bid amount is not valid
}
}
function getKeyword(id) {
var keywords = AdsApp.keywords()
.withIds([id])
.get();
if (keywords.hasNext()) {
return keywords.next();
}
else {
return null;
}
}
Schreiben in die Protokolldatei
Skripts stellen eine Protokolldatei bereit, in die Sie Ablaufverfolgungs- und Debuginformationen schreiben können. Weitere Informationen finden Sie unter Änderungsprotokolle und Textprotokolle.