Este tutorial documenta um script que audita a atividade de metas de conversão em todas as contas do seu MCC. Ele grava os resultados em uma Planilha Google, marca a integridade de cada meta, codifica o status por cores 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.
Este script audita todas as contas do Google Ads sob sua MCC e avalia o status de cada meta de conversão durante um período de análise definido. Em vez de adivinhar quais metas estão ativas ou não, este sistema fornece um instantâneo em tempo real em uma Planilha Google e alerta você apenas quando algo precisa da sua atenção.
Haverá duas notificações por e-mail: uma para contas que precisam de atenção e outra para todas as contas boas.
Exemplo:
Mensagens:
Entendi, seu script precisa duas saídas de e-mail distintas :
✅ E-mail “Tudo bem” (se sem problemas são encontrados)
⚠️ E-mail “Precisa de Atenção” (se qualquer as metas estão inativas, ausentes ou com baixo desempenho)
Veja exatamente como ambas as versões devem ficar, usando seus dados de amostra e lógica atual:
Mensagem #1
Todas as metas de conversão monitoradas estão relatando atividades dos últimos 60 dias.
Nenhum problema encontrado em nenhuma conta.
Veja o relatório completo:
https://docs.google.com/spreadsheets/d/yoursheetid
Mensagem #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 (requer atenção)
Acme Corp (987-654-321) - Agendar chamada (Inativo)
Acme Corp (987-654-321) - Inscrição para teste gratuito (requer atenção)
Rocket Leads (456-789-123) - (configurado, sem atividade) (Sem conversões recentes)
Grupo de Teste Beta (321-654-987) - (não definido) (Inativo)
Zebra Analytics (999-111-222) - Download do Whitepaper (Precisa de Atenção)
Veja o relatório completo:
https://docs.google.com/spreadsheets/d/yoursheetid
Antes de implantar o script, certifique-se de que seu ambiente esteja configurado corretamente. Este script foi projetado para ser executado em um contexto MCC do Google Ads para gravar dados e enviar alertas.
Este é o script completo e sem edições. Todos os comentários, formatação e lógica estão exatamente como escritos originalmente. Não faça modificações se planeja acompanhar o detalhamento mais adiante neste tutorial.
// ========== CONFIGURAÇÃO ========== const ID_DA_FOLHA = '1PvpW3eUl5fqRwabBg0P7D8LKzW83MOTVX1KDBMB3ipA'; const DIAS_DE_OLHO_RETROCESSO = 60; const ID_DE_CONTA_EXCLUÍDA = [ '000-000-000', '000-000-000', '000-000-000' ]; const E-MAILS_DE_DESTINATÁRIOS = ' [email protected] '; // ================================== função principal() { planilha const = SpreadsheetApp.openById(SHEET_ID).getSheets()[0]; planilha.clear(); sheet.appendRow(['Nome da conta', 'ID da conta', 'Nome da meta', 'Conversões', 'Status', 'Intervalo de datas']); const startDate = getDateXDaysAgo(LOOKBACK_DAYS); const datafim = getDataHoje(); const dateRangeLabel = `Últimos ${LOOKBACK_DAYS} dias (${startDate} a ${endDate})`; contas const = 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(`⏳ Conta corrente: ${accountName} (${accountId})`); if (EXCLUDED_ACCOUNT_IDS.includes(accountId)) { Logger.log(`🚫 Ignorando conta excluída: ${accountName} (${accountId})`); continue; } try { MccApp.select(account); const query = ` SELECT ConversionTypeName, Conversões DE RELATÓRIO_DE_DESEMPENHO_DA_CAMPANHA DURANTE ${Data_de_início},${Data_de_término} `; const report = AdsApp.report(query); const rows = report.rows(); const goalMap = {}; while (rows.hasNext()) { const row = rows.next(); const goalName = row['ConversionTypeName'] || '(não definido)'; const conversions = parseFloat(row['Conversões']) || 0; if (!goalMap[goalName]) { goalMap[goalName] = 0; } goalMap[goalName] += conversões; } if (Object.keys(goalMap).length === 0) { Logger.log(`⚠️ Nenhum dado de conversão foi retornado para a conta: ${accountName} (${accountId})`); const status = 'Nenhuma Conversão Recente'; sheet.appendRow([ accountName, accountId, '(configurado, sem atividade)', 0, status, dateRangeLabel ]); setStatusColumnColor(sheet, rowIndex, status); flagged.push(`${accountName} (${accountId}) - nenhuma meta de conversão foi acionada`); rowIndex++; continue; } for (const [goalName, totalConversions] de Object.entries(goalMap)) { let status; if (totalConversions > 0) { status = 'Ativo'; } else if (goalName.toLowerCase().includes('teste') || goalName === '(não definido)') { status = 'Inativo'; } else { status = 'Requer atenção'; } sheet.appendRow([ accountName, accountId, goalName, totalConversions, status, dateRangeLabel ]); setStatusColumnColor(sheet, rowIndex, status); if (status !== 'Ativo') { flagged.push(`${accountName} (${accountId}) - ${goalName} (${status})`); } rowIndex++; } } catch (e) { Logger.log(`❌ Erro ao processar a conta: ${accountName} (${accountId}) - ${e.message}`); } } if (flagged.length > 0) { const subject = '⚠️ Metas de conversão que precisam de atenção'; const body = `As seguintes metas de conversão podem precisar de revisão (por exemplo, nenhuma conversão recente ou inativas):\n\n` + flagged.join('\n') + `\n\nVeja o relatório completo:\nhttps://docs.google.com/spreadsheets/d/${SHEET_ID}`; MailApp.sendEmail(RECIPIENT_EMAILS, subject, body); } else { Logger.log('✅ Todas as metas estão relatando conversões.'); } } // 🎨 Aplicar cor apenas à coluna "Status" (Coluna E) function setStatusColumnColor(sheet, row, status) { const range = sheet.getRange(row, 5); // Coluna E switch(status) { case 'Ativo': range.setBackground('#d9ead3'); // Verde claro break; case 'Inativo': range.setBackground('#f4cccc'); // Vermelho claro break; case 'Precisa de Atenção': range.setBackground('#fff2cc'); // Amarelo claro break; case 'Sem Conversões Recentes': range.setBackground('#e6e6fa'); // Roxo claro break; default: range.setBackground(null); } } // 🕒 Auxiliares function getTodayDate() { const date = new Date(); return Utilities.formatDate(date, AdsApp.currentAccount().getTimeZone(), 'aaaaMMdd'); } function getDateXDaysAgo(days) { const date = new Date(); date.setDate(date.getDate() - days); return Utilities.formatDate(date, AdsApp.currentAccount().getTimeZone(), 'aaaaMMdd'); }
Este tutorial mostra como configurar o verificador de integridade da meta de conversão para sua conta MCC do Google Ads. Siga cada etapa para colocar o sistema em funcionamento, escrever no Planilhas Google e enviar alertas quando algo não funcionar.
Comece configurando o destino de saída.
Você implantará este script dentro da sua conta MCC.
Na primeira vez que você usar o script, você precisa autorizá-lo.
Você deve concluir esta etapa ou o script não será executado.
Dentro do script, revise e modifique o seguinte:
Você pode deixar o resto do script exatamente como está.
Execute-o manualmente uma vez para garantir que tudo funcione.
Para tornar isso automático, configure-o para ser executado em um cronograma recorrente.
O script será executado automaticamente e só o alertará quando algo estiver errado.
Quando o script é executado, ele verifica todas as metas de conversão. Se alguma estiver inativa ou não estiver sendo disparada, você receberá um e-mail.
Este script não é apenas um despejo de dados. Ele é um monitor para cada meta de conversão em toda a sua MCC do Google Ads. Você recebe um alerta quando algo quebra, trava ou interrompe o rastreamento silenciosamente. Quando tudo está bem, você fica em silêncio.
Ele verifica todas as contas que você gerencia, sinaliza metas inativas ou com baixo desempenho e envia um relatório filtrado e sem ruído diretamente para sua caixa de entrada. A Planilha Google oferece uma visualização em tempo real do status das metas por conta, nome da meta e volume de conversão, com indicações visuais integradas.
Você não está vasculhando interfaces. Não está esperando até o final do mês para perceber que estava cego. Você está no controle antes que isso se torne um problema.
Confira postagens semelhantes:
Confira postagens semelhantes:
Se você gerencia várias contas, não perca nosso guia sobre rastreando problemas do GA4 de várias propriedades ou exportador termos de pesquisa reais de alto desempenho com um script leve para refinar sua segmentação.
Cansado de ficar na dúvida se o seu monitoramento funciona? Quer uma equipe que crie sistemas em vez de apenas relatórios?
A Bright Vessel não gerencia apenas o Google Ads; nós projetamos visibilidade de desempenho em escala. Se você precisar de ajuda para implementar este script, integrá-lo a uma pilha de automação maior ou criar uma camada de análise personalizada que lhe diga algo, estamos prontos.
Fale com a equipe que cria o que outras agências falsificam.
"*" indica campos obrigatórios
"*" indica campos obrigatórios
"*" indica campos obrigatórios