Builders
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Os criadores são uma forma padrão de criar entidades nos scripts do Google Ads. Com os builders, é possível criar uma entidade do Google Ads de forma síncrona ou assíncrona. Você
também pode verificar se a operação foi bem-sucedida ou não e tomar
as ações adequadas dependendo do resultado. O snippet de código a seguir mostra como criar uma palavra-chave usando um builder.
// 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();
}
Qualquer entidade que possa ser criada usando os scripts do Google Ads faz isso usando esse padrão de builder.
Por padrão, os scripts do Google Ads executam suas operações de forma assíncrona. Isso permite que os scripts agrupem suas operações como lotes e alcancem alta performance. No entanto, chamar os métodos Operation, como isSuccessful()
e getResult()
, força os scripts do Google Ads a limpar a lista de operações pendentes, o que pode levar a um desempenho ruim. Em vez disso, crie uma matriz para armazenar as operações e itere
por essa matriz para recuperar os resultados.
Desempenho fraco |
Bom desempenho |
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");
}
|
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-27 UTC.
[null,null,["Última atualização 2025-08-27 UTC."],[[["\u003cp\u003eBuilders are the standard way to create entities in Google Ads Scripts, offering synchronous and asynchronous options with success checks.\u003c/p\u003e\n"],["\u003cp\u003eThe builder pattern is utilized for creating any entity within Google Ads scripts.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Ads scripts default to asynchronous operations for performance, but retrieving results immediately can hinder this; it's recommended to batch operations for efficiency.\u003c/p\u003e\n"],["\u003cp\u003eInstead of retrieving results directly after each operation, store operations in an array and process them separately to enhance script performance by allowing for batching.\u003c/p\u003e\n"]]],[],null,["# Builders are the standard way to create entities in Google Ads scripts. Builders allow\nyou to build a Google Ads entity either synchronously or asynchronously. You\ncan also check whether the operation was successful or not, and take\nappropriate actions depending on the operation's outcome. The following code\nsnippet shows how to create a keyword using a builder. \n\n // Retrieve your ad group.\n let adGroup = AdsApp.adGroups().get().next();\n\n // Create a keyword operation.\n let keywordOperation = adGroup.newKeywordBuilder()\n .withCpc(1.2)\n .withText(\"shoes\")\n .withFinalUrl(\"http://www.example.com/shoes\")\n .build();\n\n // Optional: examine the outcome. The call to isSuccessful()\n // will block until the operation completes.\n if (keywordOperation.isSuccessful()) {\n // Get the result.\n let keyword = keywordOperation.getResult();\n } else {\n // Handle the errors.\n let errors = keywordOperation.getErrors();\n }\n\nAny entity that can be created using Google Ads scripts does so using this builder\npattern.\n\nPerformance considerations\n--------------------------\n\nBy default, Google Ads scripts executes its operations asynchronously. This\nallows scripts to group your operations as batches, and achieve high\nperformance. However, calling the\n[Operation](/google-ads/scripts/docs/reference/adsapp/adsapp_sitelinkoperation)\nmethods like\n[`isSuccessful()`](/google-ads/scripts/docs/reference/adsapp/adsapp_sitelinkoperation#isSuccessful)\nand\n[`getResult()`](/google-ads/scripts/docs/reference/adsapp/adsapp_sitelinkoperation#getResult)\nforces Google Ads scripts to flush its pending operations list, and thus may lead to\npoor performance. Instead, create an array to hold the operations, then iterate\nthrough that array to retrieve the results.\n\n| Poor performance | Good performance |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ```transact-sql for (let i = 0; i \u003c 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\"); } ``` | ```transact-sql // Create an array to hold the operations let operations = []; for (let i = 0; i \u003c 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 \u003c operations.length; i++) { let newKeyword = operations[i].getResult(); newKeyword.applyLabel(\"New keywords\"); } ``` |"]]