Les générateurs sont le moyen standard de créer des entités dans les scripts Google Ads. Les outils de création 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 de l'opération. L'extrait de code suivant montre comment créer un mot clé à l'aide d'un outil de création.
// 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é pouvant être créée à l'aide de scripts Google Ads l'est à l'aide de ce modèle de constructeur.
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 de hautes performances. 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 entraîner de mauvaises 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”); } |