IDs

Die meisten Google Ads-Entitäten haben eine getId()-Methode, die ihre Kennung zurückgibt. In den meisten Fällen sind IDs nicht unbedingt erforderlich, können aber nützlich sein, wenn

Mit Berichten arbeiten
Mithilfe von IDs lässt sich eine Berichtszeile gut mit der tatsächlichen Google Ads-Einheit verknüpfen.
Zuordnung mit einem externen Datenspeicher verwalten
Möglicherweise haben Sie bereits ID-basierte Informationen in Ihrer eigenen Datenbank gespeichert.
Beim Versuch, die Leistung zu steigern

Das Abrufen nach IDs geht häufig schneller als alternative Vorgehensweisen. Der Code zum Abrufen einer einzelnen Entität ist ebenfalls etwas einfacher:

let campaigns = AdsApp.campaigns()
   .withIds([678678])
   .get();
// versus
let campaigns = AdsApp.campaigns()
   .withCondition("Name='My Campaign'")
   .get();

Eindeutigkeit

Kampagnen-IDs und Anzeigengruppen-IDs sind eindeutig. Zwei Kampagnen oder Anzeigengruppen haben niemals dieselbe ID. Anzeigen und Keywords haben jedoch zusammengesetzte IDs: Die eindeutige ID eines Keywords ist eine Kombination aus der Anzeigengruppen-ID und der Keyword-ID. Eine eindeutige Kennung für eine Anzeige ist eine Kombination aus ihrer Anzeigengruppen-ID und Anzeigen-ID. Dies hat Auswirkungen auf die Art und Weise, wie selector.withIds() aufgerufen wird.

Für Kampagnen und Anzeigengruppen erwartet selector.withIds() ein Array von Zahlen:

let ids = [123123, 234234, 345345];
let campaignSelector = AdsApp.campaigns().withIds(ids);

Für Anzeigen und Keywords benötigt selector.withIds() jedoch ein Array mit Arrays mit zwei Elementen, wobei das erste Element die Anzeigengruppen-ID ist. Im folgenden Snippet werden drei Keywords aus einer Anzeigengruppe abgerufen:

let adGroupId = 123123;
let keywordSelector = AdsApp.keywords().withIds([
    [adGroupId, 234234],
    [adGroupId, 345345],
    [adGroupId, 456456]
]);

Dasselbe Konstrukt gilt beim Abrufen von Anzeigen.

Temporäre IDs

Wenn Sie mit einer Mutate-Anfrage mit mehreren Vorgängen arbeiten, müssen Sie gelegentlich temporäre IDs verwenden, um Ressourcen miteinander zu verknüpfen, da die vollständigen Ressourcennamen erst verfügbar sind, wenn Sie die API-Antwort erhalten. Temporäre IDs müssen negative Zahlen sein, die mit -1 beginnen und sich nicht innerhalb derselben Mutate-Anfrage wiederholen dürfen. Damit Sie temporäre IDs effektiv nutzen können, müssen Sie Code schreiben, um zu verhindern, dass doppelte temporäre IDs erstellt werden:

let nextId = -1;

function getNextTempId() {
    const ret = nextId;
    nextId -= 1;
    return ret;
}

Bei jedem nachfolgenden Aufruf von getNextTempId wird eine Zahl zurückgegeben, die um eins kleiner ist als die vorherige. Da alle temporären IDs negativ sein müssen, beginnen Sie mit -1.

Temporäre IDs werden nicht job- oder mutationsübergreifend gespeichert. Verwenden Sie den tatsächlichen Ressourcennamen, um auf eine Ressource zu verweisen, die in einer vorherigen Mutate-Anfrage erstellt wurde.