O Google usa tecnologia de IA na tradução de conteúdos para seu idioma de preferência. As traduções com IA podem ter erros.
Ads Manager Scripts
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Recuperar todas as contas
function getAllAccounts() {
const accountIterator = AdsManagerApp.accounts().get();
for (const account of accountIterator) {
const accountName = account.getName() ? account.getName() : '--';
console.log('%s,%s,%s,%s', account.getCustomerId(), accountName,
account.getTimeZone(), account.getCurrencyCode());
}
}
Recuperar contas com IDs de clientes
function getAccountsFromCustomerIds() {
// This is useful when you are reading customer IDs from an external data
// source, such as a Google Spreadsheet.
// You can also use the condition "CustomerId in ['123-456-7890',
// '345-678-9000', '890-123-6000']".
const accountIterator = AdsManagerApp.accounts()
.withIds(['123-456-7890', '345-678-9000', '890-123-6000'])
.get();
for (const account of accountIterator) {
const accountName = account.getName() ? account.getName() : '--';
console.log('%s,%s,%s,%s', account.getCustomerId(), accountName,
account.getTimeZone(), account.getCurrencyCode());
}
}
Recuperar contas por rótulo
function getAccountsByLabel() {
// Only CONTAINS and DOES_NOT_CONTAIN operators are supported.
const accountIterator = AdsManagerApp.accounts()
.withCondition("LabelNames CONTAINS 'High spend accounts'")
.get();
for (const account of accountIterator) {
const accountName = account.getName() ? account.getName() : '--';
console.log('%s,%s,%s,%s', account.getCustomerId(), accountName,
account.getTimeZone(), account.getCurrencyCode());
}
}
Atualizar várias contas em série
function updateAccountsInSeries() {
// You can use this approach when you have only minimal processing to
// perform in each of your client accounts.
// Select the accounts to be processed.
const accountIterator = AdsManagerApp.accounts()
.withCondition("LabelNames CONTAINS 'Cars'")
.get();
for (const account of accountIterator) {
// Switch to the account you want to process.
AdsManagerApp.select(account);
// Retrieve all Search and Display campaigns to be paused.
const campaignIterator = AdsApp.campaigns()
.withCondition("LabelNames = 'Christmas promotion'")
.get();
for (const campaign of campaignIterator) {
console.log(`Pausing campaign ${campaign.getName()} in ` +
`account ${account.getCustomerId()}`);
campaign.pause();
}
}
}
Atualizar várias contas paralelamente
function updateAccountsInParallel() {
// You can use this approach when you have a large amount of processing
// to do in each of your client accounts.
// Select the accounts to be processed. You can process up to 50 accounts.
const accountSelector = AdsManagerApp.accounts()
.withCondition("LabelNames CONTAINS 'High spend accounts'")
.withLimit(50);
// Process the account in parallel. The 'processAccount' function will
// be called in the context of each account in the selector. The 'allFinished' function
// will be called in this script once processing is complete, and is optional.
accountSelector.executeInParallel('processAccount', 'allFinished');
}
/**
* Process one account at a time. This method is called by the executeInParallel
* method call in updateAccountsInParallel function for every account that
* it processes.
*
* @return {Number} the number of campaigns paused by this method.
*/
function processAccount() {
// executeInParallel will automatically switch context to the account being
// processed, so all calls to AdsApp will apply to the selected account.
const campaignIterator = AdsApp.campaigns()
.withCondition("LabelNames = 'Christmas promotion'")
.get();
for (const campaign of campaignIterator) {
console.log(`Pausing campaign ${campaign.getName()} in ` +
`account ${account.getCustomerId()}`);
campaign.pause();
}
// Optional: return a string value. If you have a more complex JavaScript
// object to return from this method, use JSON.stringify(value). This value
// will be passed on to the callback method, if specified, in the
// executeInParallel method call.
return campaignIterator.totalNumEntities().toFixed(0);
}
/**
* Post-process the results from processAccount. This method will be called
* once all the accounts have been processed by the executeInParallel method
* call.
*
* @param {Array.<ExecutionResult>} results An array of ExecutionResult objects,
* one for each account that was processed by the executeInParallel method.
*/
function allFinished(results) {
for (const result of results) {
console.log(`Customer ID: ${result.getCustomerId}; ` +
`status = ${result.getStatus}.`);
// Check the execution status. This can be one of ERROR, OK, or TIMEOUT.
if (result.getStatus() == 'ERROR') {
console.log(`-- Failed with error: '${result.getError()}'.`);
} else if (result.getStatus() == 'OK') {
// This is the value you returned from processAccount method. If you
// used JSON.stringify(value) in processAccount, you can use
// JSON.parse(text) to reconstruct the JavaScript object.
const retval = result.getReturnValue();
console.log(`--Processed ${retval} campaigns.`);
} else {
// Handle timeouts here.
}
}
}
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 2026-02-18 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2026-02-18 UTC."],[],[]]