Builders

Standardmäßig werden Entitäten in Google Ads-Skripts mit Generatoren erstellt. Mit Builders können Sie eine Google Ads-Entität synchron oder asynchron erstellen. Sie können auch prüfen, ob der Vorgang erfolgreich war, und je nach Ergebnis entsprechende Maßnahmen ergreifen. Das folgende Code-Snippet zeigt, wie ein Keyword mit einem Builder erstellt wird.

// Retrieve your ad group.
let adGroup = AdsApp.adGroups().get().next();

// Create a keyword operation.
let 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.
  let keyword = keywordOperation.getResult();
} else {
  // Handle the errors.
  let errors = keywordOperation.getErrors();
}

Alle Entitäten, die mit Google Ads-Scripts erstellt werden können, werden mit diesem Builder-Muster erstellt.

Hinweise zur Leistung

Standardmäßig werden Google Ads-Skripts asynchron ausgeführt. So können in Skripts Vorgänge als Batches gruppiert werden, um eine hohe Leistung zu erzielen. Wenn Sie jedoch die Operation-Methoden wie isSuccessful() und getResult() aufrufen, wird die Liste der ausstehenden Vorgänge in Google Ads-Scripts geleert. Das kann zu einer schlechten Leistung führen. Erstellen Sie stattdessen ein Array, in dem die Vorgänge gespeichert werden, und iterieren Sie dann durch dieses Array, um die Ergebnisse abzurufen.

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

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

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

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