Generatoren

Standardmäßig werden Entitäten in AdWords-Skripts mit Generatoren erstellt. Mit Generatoren kann eine AdWords-Entität synchron oder asynchron erstellt werden. Sie können auch überprüfen, ob die Operation erfolgreich war oder nicht, und je nach Ergebnis geeignete Maßnahmen ergreifen. Im folgenden Code-Snippet wird mithilfe eines Generators ein Keyword erstellt.

// Retrieve your ad group.
var adGroup = AdWordsApp.adGroups().get().next();

// Create a keyword operation.
var keywordOperation = adGroup.newKeywordBuilder()
    .withCpc(1.2)
    .withText("shoes")
    .withFinalUrl("http://www.example.com/shoes")
    .build();

// Optional: examine the outcome. The call to isSuccessful()
// will block until the operation completes.
if (keywordOperation.isSuccessful()) {
  // Get the result.
  var keyword = keywordOperation.getResult();
} else {
  // Handle the errors.
  var errors = keywordOperation.getErrors();
}

In der aktuellen Version werden Generatoren für Anzeigen und Keywords unterstützt. Die bereits vorhandenen Generatoren für Anzeigengruppen und Anzeigenerweiterungen – Telefonnummern, Sitelinks und mobile Apps – wurden ebenfalls standardisiert. Mit den addSitelink-, addPhoneNumber- und addMobileApp-Methoden der Klassen AdGroup und Campaign wird nun der Ausführungsstatus zurückgegeben.

Leistungsfaktoren

Standardmäßig werden AdWords-Skripts asynchron ausgeführt. So können Operationen zusammengefasst werden, um eine höhere Leistung zu erzielen. Wenn allerdings Operation-Methoden wie isSuccessful() oder getResult() aufgerufen werden, wird durch AdWords-Skripts zwangsweise die zugehörige Liste mit ausstehenden Operationen geleert. Dies kann wiederum die Leistung beeinträchtigen. Erstellen Sie stattdessen ein Array, um die Operationen zu speichern. Iterieren Sie anschließend das Array, um die Ergebnisse abzurufen.

Schlechte Leistung Gute Leistung
for (var i = 0; i < keywords.length; i++)
  var keywordOperation = adGroup
    .newKeywordBuilder()
    .withText(keywords[i])
    .build();

  // Bad: retrieving the result in the same
  // loop that creates the operation
  // leads to poor performance.
  var newKeyword =
      keywordOperation.getResult();
  newKeyword.applyLabel("New keywords”);
}
// Create an array to hold the operations
var operations = [];

for (var i = 0; i < keywords.length; i++) {
  var keywordOperation = adGroup
    .newKeywordBuilder()
    .withText(keywords[i])
    .build();
  operations.push(keywordOperation);
}

// Process the operations separately. Allows
// AdWords scripts to group operations into
// batches.
for (var i = 0; i < operations.length; i++) {
  var newKeyword = operations[i].getResult();
  newKeyword.applyLabel("New keywords”);
}

Feedback geben zu...

AdWords Scripts
AdWords Scripts