Builders

Standardmäßig werden Entitäten in Google Ads-Skripts mit Generatoren erstellt. Mit Builders können Sie eine Google Ads-Entität entweder 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 Sie ein Keyword mithilfe eines Builders erstellen.

// 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. Dadurch können Skripts Ihre Vorgänge als Batches gruppieren und eine hohe Leistung erzielen. Wenn jedoch Vorgangsmethoden wie isSuccessful() und getResult() aufgerufen werden, wird durch Google Ads-Skripts zwangsweise die Liste der ausstehenden Vorgänge geleert. Dies kann wiederum die Leistung beeinträchtigen. Erstellen Sie stattdessen ein Array, um die Vorgänge zu speichern, 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”);
}