Como monitorar o status das metas do Google Ads nas contas MCC
Como monitorar o status das metas do Google Ads nas contas MCC

Como monitorar o status das metas do Google Ads nas contas MCC usando o Planilhas Google

Está gostando deste artigo?
Compartilhe-o nas mídias sociais!
Conteúdo

Este tutorial documenta um script que audita a atividade da meta de conversão em todas as contas sob seu MCC. Ele grava os resultados em uma planilha do Google, marca a integridade de cada meta, codifica por cores o status e envia um resumo por e-mail somente quando há um problema.

Não há ferramentas desnecessárias ou painéis de terceiros, apenas controle bruto e visibilidade completa.

Monitorar o status das metas do Google Ads nas contas MCC

O que esse script faz

Esse script audita todas as contas do Google Ads sob sua MCC e avalia o status de cada meta de conversão em um período de análise definido. Em vez de adivinhar quais metas estão ativas ou quebradas, esse sistema fornece um instantâneo em tempo real em uma planilha do Google e só o alerta quando algo precisa de sua atenção.

  • Conecta-se ao seu MCC e percorre cada conta vinculada
  • Skips accounts you've blocklisted (excluded)
  • Extrai o desempenho de conversão em nível de campanha em um período de lookback definido
  • Avalia a integridade de cada meta de conversão
  • Registre os resultados em uma planilha do Google, aplicando cores de fundo ao status
  • Envia por e-mail um resumo apenas das contas ou metas problemáticas

Notificações por e-mail

There will be two email notifications: one for accounts needing attention and the other for all good accounts.

Exemplo:

contas ou metas problemáticas
Mensagens:

Got it, your script needs two distinct email outputs:

  1. E-mail "All Good" (se nenhum problema for encontrado)

  2. ⚠️ E-mail "Needs Attention" (se alguma meta estiver inativa, ausente ou com baixo desempenho)

Veja exatamente como as duas versões devem ficar, usando seus dados de amostra e a lógica atual:

Mensagem nº 1

Todas as metas de conversão monitoradas estão informando a atividade dos últimos 60 dias.

Não foram encontrados problemas em nenhuma conta.

Veja o relatório completo:
https://docs.google.com/spreadsheets/d/yoursheetid

Mensagem nº 2

As seguintes metas de conversão podem precisar de revisão (por exemplo, nenhuma conversão recente ou inativa):

Bright Widgets Inc (123-456-789) - Envio de formulário de contato (precisa de atenção)
Acme Corp (987-654-321) - Agendar chamada (Inativo)
Acme Corp (987-654-321) - Registro de teste gratuito (precisa de atenção)
Rocket Leads (456-789-123) - (configurado, sem atividade) (Sem conversões recentes)
Beta Test Group (321-654-987) - (não configurado) (Inativo)
Zebra Analytics (999-111-222) - Download de whitepaper (precisa de atenção)

Veja o relatório completo:
https://docs.google.com/spreadsheets/d/yoursheetid

Requisitos

Antes de implementar o script, certifique-se de que seu ambiente esteja configurado corretamente. Esse script foi projetado para ser executado em um contexto de MCC do Google Ads para gravar dados e enviar alertas.

  • Conta MCC do Google Ads
  • Planilha do Google (deve ser criada manualmente)

O roteiro original

Este é o script em sua forma completa e não editada. Todos os comentários, a formatação e a lógica estão exatamente como foram escritos originalmente. Não o modifique se estiver planejando seguir o detalhamento mais adiante neste tutorial.

// ========== CONFIGURATION ==========

const SHEET_ID = '1PvpW3eUl5fqRwabBg0P7D8LKzW83MOTVX1KDBMB3ipA';

const LOOKBACK_DAYS = 60;

const EXCLUDED_ACCOUNT_IDS = [

'000-000-000', '000-000-000', '000-000-000'

];

const RECIPIENT_EMAILS = '[email protected]';

// ===================================

function main() {

const sheet = SpreadsheetApp.openById(SHEET_ID).getSheets()[0];

sheet.clear();

sheet.appendRow(['Account Name', 'Account ID', 'Goal Name', 'Conversions', 'Status', 'Date Range']);

const startDate = getDateXDaysAgo(LOOKBACK_DAYS);

const endDate = getTodayDate();

const dateRangeLabel = `Last ${LOOKBACK_DAYS} days (${startDate} to ${endDate})`;

const accounts = MccApp.accounts().get();

const flagged = [];

let rowIndex = 2;

while (accounts.hasNext()) {

const account = accounts.next();

const accountId = account.getCustomerId();

const accountName = account.getName();

Logger.log(`⏳ Checking account: ${accountName} (${accountId})`);

if (EXCLUDED_ACCOUNT_IDS.includes(accountId)) {

Logger.log(`🚫 Skipping excluded account: ${accountName} (${accountId})`);

continue;

}

try {

MccApp.select(account);

const query = `

SELECT ConversionTypeName, Conversions

FROM CAMPAIGN_PERFORMANCE_REPORT

DURING ${startDate},${endDate}

`;

const report = AdsApp.report(query);

const rows = report.rows();

const goalMap = {};

while (rows.hasNext()) {

const row = rows.next();

const goalName = row['ConversionTypeName'] || '(not set)';

const conversions = parseFloat(row['Conversions']) || 0;

if (!goalMap[goalName]) {

goalMap[goalName] = 0;

}

goalMap[goalName] += conversions;

}

if (Object.keys(goalMap).length === 0) {

Logger.log(`⚠️ No conversion data returned for account: ${accountName} (${accountId})`);

const status = 'No Recent Conversions';

sheet.appendRow([

accountName,

accountId,

'(configured, no activity)',

0,

status,

dateRangeLabel

]);

setStatusColumnColor(sheet, rowIndex, status);

flagged.push(`${accountName} (${accountId}) - no conversion goals triggered`);

rowIndex++;

continue;

}

for (const [goalName, totalConversions] of Object.entries(goalMap)) {

let status;

if (totalConversions > 0) {

status = 'Active';

} else if (goalName.toLowerCase().includes('test') || goalName === '(not set)') {

status = 'Inactive';

} else {

status = 'Needs Attention';

}

sheet.appendRow([

accountName,

accountId,

goalName,

totalConversions,

status,

dateRangeLabel

]);

setStatusColumnColor(sheet, rowIndex, status);

if (status !== 'Active') {

flagged.push(`${accountName} (${accountId}) - ${goalName} (${status})`);

}

rowIndex++;

}

} catch (e) {

Logger.log(`❌ Error processing account: ${accountName} (${accountId}) - ${e.message}`);

}

}

if (flagged.length > 0) {

const subject = '⚠️ Conversion Goals Needing Attention';

const body = `The following conversion goals may need review (e.g., no recent conversions or inactive):\n\n`

+ flagged.join('\n')

+ `\n\nView the full report:\nhttps://docs.google.com/spreadsheets/d/${SHEET_ID}`;

MailApp.sendEmail(RECIPIENT_EMAILS, subject, body);

} else {

Logger.log('✅ All goals are reporting conversions.');

}

}

// 🎨 Apply color to only the "Status" column (Column E)

function setStatusColumnColor(sheet, row, status) {

const range = sheet.getRange(row, 5); // Column E

switch (status) {

case 'Active':

range.setBackground('#d9ead3'); // Light green

break;

case 'Inactive':

range.setBackground('#f4cccc'); // Light red

break;

case 'Needs Attention':

range.setBackground('#fff2cc'); // Light yellow

break;

case 'No Recent Conversions':

range.setBackground('#e6e6fa'); // Light purple

break;

default:

range.setBackground(null);

}

}

// 🕒 Helpers

function getTodayDate() {

const date = new Date();

return Utilities.formatDate(date, AdsApp.currentAccount().getTimeZone(), 'yyyyMMdd');

}

function getDateXDaysAgo(days) {

const date = new Date();

date.setDate(date.getDate() - days);

return Utilities.formatDate(date, AdsApp.currentAccount().getTimeZone(), 'yyyyMMdd');

}

Detalhamento do script por seção

CONFIGURAÇÃO

  • SHEET_ID: destino do Google Sheets para todos os resultados
  • LOOKBACK_DAYS: Janela de relatório em dias
  • EXCLUDED_ACCOUNT_IDS: Contas de clientes a serem ignoradas
  • RECIPIENT_EMAILS: Quem recebe o e-mail quando há um problema

Função main()

  • Abre a planilha, limpa-a e define os cabeçalhos
  • Calcula o intervalo de datas
  • Passa por todas as subcontas da MCC
  • Skips any that are blocklisted
  • Usa o CAMPAIGN_PERFORMANCE_REPORT para obter todos os dados da meta
  • Para cada meta:
    • Agrega o total de conversões
    • Atribui um status:
      • Ativo: conversões > 0
      • Inativo: meta de teste ou não definido
      • Precisa de atenção: zero conversões, não é um teste
      • No Recent Conversions (Nenhuma conversão recente): nenhum dado de meta retornado
  • Anexa dados à planilha
  • Chama setStatusColumnColor() para marcar cada linha
  • Constrói uma lista de sinalizações e envia e-mails se algum problema for encontrado

setStatusColumnColor(sheet, row, status)

  • Aplica uma cor de fundo à coluna E, dependendo do status da meta:
    • Verde para ativo
    • Vermelho para inativo
    • Amarelo para necessidades de atenção
    • Roxo para nenhuma atividade

Ajudantes de datas

  • getTodayDate() retorna a data de hoje no fuso horário correto
  • getDateXDaysAgo() retorna a data X dias atrás

This walkthrough shows how to set up the conversion goal health checker for your Google Ads MCC account. Follow each step to get the system running, write to Google Sheets, and send alerts when something breaks.

Etapa 1: criar a planilha do Google

Comece configurando o destino de saída.

  1. Ir para o Planilhas Google
  2. Clique em "Blank" (Em branco) para criar uma nova planilha
  3. Please give it a name like Goal Monitor
  4. A parte no meio é sua ID da planilha
  5. Cole o ID em seu script onde está escrito const SHEET_ID = '...'

Etapa 2: Abra o painel de scripts do Google Ads

Você implantará esse script em sua conta do MCC.

  1. Faça login em sua conta do Google Ads MCC
  2. Clique em "Tools and Settings" (Ferramentas e configurações) na navegação superior
  3. Under "Bulk Actions," select "Scripts."
  4. Clique no botão de adição (+) para adicionar um novo script
  5. Cole o script inteiro exatamente como foi escrito no editor de código

Etapa 3: Autorizar o script

Na primeira vez que usar o script, você precisará autorizá-lo.

  1. Clique em "Authorize" (Autorizar) no canto superior direito
  2. Selecione sua conta do Google
  3. Aprovar todas as permissões solicitadas

Você deve concluir essa etapa ou o script não será executado.

Etapa 4: Defina a configuração do script

Dentro do script, revise e modifique o seguinte:

  • SHEET_ID: Cole a ID da planilha copiada
  • LOOKBACK_DAYS: Altere se necessário (o padrão é 60)
  • EXCLUDED_ACCOUNT_IDS: Adicione as contas que você não deseja que sejam escaneadas
  • RECIPIENT_EMAILS: Adicione o e-mail ou e-mails para receber relatórios de alerta

Você pode deixar o restante do script exatamente como está.

Etapa 5: Executar um teste manual

Execute-o uma vez manualmente para ter certeza de que tudo está funcionando.

  1. Clique em "Run" (Executar) na parte superior da navegação.
  2. Aguarde até que a execução seja concluída.
  3. Abra a Planilha do Google conectada.
  4. Verifique isso:
    • Os cabeçalhos foram criados
    • Os dados foram gravados para cada conta ativa.
    • Os status e as cores são aplicados corretamente na coluna E.

Etapa 6: Agendar o script (opcional)

Para tornar isso automático, configure-o para ser executado em uma programação recorrente.

  1. No editor de scripts, clique em "Create Schedule".
  2. Escolha uma frequência (recomenda-se que seja diária)
  3. Defina o tempo de execução (o ideal é de manhã cedo)
  4. Salvar e fechar

O script será executado automaticamente e só o alertará quando algo estiver desligado.

Etapa 7: Revisar alertas

Quando o script é executado, ele verifica todas as metas de conversão. Se alguma delas estiver inativa ou não estiver sendo atingida, você receberá um e-mail.

Resumo

Esse script não é apenas um despejo de dados. Ele é um cão de guarda para cada meta de conversão em todo o seu MCC do Google Ads. Você é alertado quando algo quebra, trava ou deixa de ser rastreado. Quando tudo está bem, você recebe um silêncio.

Ele verifica todas as contas que você gerencia, sinaliza metas inativas ou com baixo desempenho e fornece um relatório filtrado e sem ruídos diretamente na sua caixa de entrada. A planilha do Google oferece uma visualização em tempo real do status da meta por conta, nome da meta e volume de conversão, com dicas visuais incorporadas.

Você não está vasculhando as interfaces. Você não está esperando até o final do mês para perceber que ficou cego. Você está no controle antes que isso se torne um problema.

Confira postagens semelhantes:

Confira postagens semelhantes:

If you manage multiple accounts, don’t miss our guide on tracking GA4 issues from numerous properties or exporting top-performing actual search terms with a lightweight script to refine your targeting.

Entre em contato conosco

Cansado de tentar adivinhar se seu rastreamento funciona? Deseja uma equipe que crie sistemas em vez de apenas relatórios?

Bright Vessel doesn’t just manage Google Ads; we engineer performance visibility at scale. Whether you need help deploying this script, integrating it into a larger automation stack, or building a custom analytics layer that tells you something, we’re ready.

Fale com a equipe que constrói o que outras agências falsificam.

Entre em contato com a Bright Vessel

Obtenha sua auditoria de SEO gratuita

Formulário gratuito de auditoria de SEO

"*" indica campos obrigatórios

Esse campo é para fins de validação e deve ser deixado inalterado.
Conteúdo
Está gostando deste artigo?
Compartilhe-o nas mídias sociais!
Obtenha sua auditoria de SEO gratuita

Formulário gratuito de auditoria de SEO

"*" indica campos obrigatórios

Esse campo é para fins de validação e deve ser deixado inalterado.
Obtenha sua auditoria de SEO gratuita

Formulário gratuito de auditoria de SEO

"*" indica campos obrigatórios

Esse campo é para fins de validação e deve ser deixado inalterado.
Gostou deste artigo?
Compartilhe-o nas mídias sociais!

Dê uma olhada em outra postagem do blog!

Voltar para todas as postagens do blog
© 2024 Bright Vessel. Todos os direitos reservados.
cruzadomenuchevron-downseta para a esquerda