Compilateurs

Les outils de création sont la méthode standard pour créer des entités dans les scripts Google Ads. Ils vous permettent de créer une entité Google Ads de manière synchrone ou asynchrone. Vous pouvez également vérifier si l'opération a réussi ou non et prendre les mesures appropriées en fonction du résultat. L'extrait de code suivant montre comment créer un mot clé à l'aide d'un compilateur.

// 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();
}

Toute entité qui peut être créée à l'aide de scripts Google Ads le fait à l'aide de ce modèle de création.

Considérations sur les performances

Par défaut, les scripts Google Ads exécutent leurs opérations de manière asynchrone. Cela permet aux scripts de regrouper vos opérations sous forme de lots et d'atteindre des performances élevées. Toutefois, l'appel des méthodes Operation telles que isSuccessful() et getResult() oblige les scripts Google Ads à vider leur liste d'opérations en attente, ce qui peut nuire aux performances. À la place, créez un tableau pour contenir les opérations, puis itérez ce tableau pour récupérer les résultats.

Performances médiocres Performances satisfaisantes
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”);
}