

Você já conhece a dor de cabeça se estiver executando campanhas Performance Max ou de correspondência ampla. O Google oculta as consultas de pesquisa reais. Este script as traz de volta. Ele se conecta diretamente ao seu MCC, captura as consultas convertidas e as insere em uma Planilha Google com CPA e taxa de conversão calculados.
Nosso script, "Como exportar termos de pesquisa de anúncios do Google de alto desempenho para o Planilhas Google usando o Apps Script", é perfeito para agências que gerenciam vários clientes ou profissionais de marketing que querem parar de adivinhar.
Vamos analisar.

A seção Scripts é onde toda a automação em massa é configurada no Google Ads MCC.
1. Faça login na sua MCC (Conta de Gerente) e vá para Ferramentas > Ações em Massa > Scripts
2. Clique no botão azul de mais (+) para criar um novo script
Isso abre o editor de scripts. Não se preocupe, você não estará codificando do zero. Você estará colando um script já escrito. Clicar neste botão cria um contêiner de script em branco para sua automação.

Nomear seu script é essencial para o gerenciamento e o agendamento de longo prazo.
3. Nomeie o script de forma que seja fácil identificá-lo mais tarde
Na parte superior da janela do editor de scripts, você verá um campo para inserir um nome. Use algo claro, como "Relatório de Termos de Pesquisa com Melhor Desempenho". Isso ajudará você a reconhecer o script posteriormente ao gerenciar vários scripts ou contas.
Você pode nomeá-lo Termos de pesquisa reais com melhor desempenho e insira o script (incluído no final deste post).

Nomeie o script
4. Cole o script inteiro no editor
function main() {
// Set the destination Google Sheet URL
var spreadsheetUrl = 'Paste Your Google Sheet URL Here';
// Get the account name to dynamically name the sheet
var accountName = AdsApp.currentAccount().getName();
// Use the account name to label the tab inside the spreadsheet
var sheetName = accountName + ' - Top Performing Terms PC 90 Days';
// Open the spreadsheet by URL
var spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl);
// Get the sheet by name, or create it if it doesn't exist
var sheet = spreadsheet.getSheetByName(sheetName) || spreadsheet.insertSheet(sheetName);
// Clear any existing data from the sheet
sheet.clear();
// Write header row to the spreadsheet
sheet.getRange('A1').setValue('Campaign Name');
sheet.getRange('B1').setValue('Ad Group Name');
sheet.getRange('C1').setValue('Search Term');
sheet.getRange('D1').setValue('Conversions');
sheet.getRange('E1').setValue('Conversion Value');
sheet.getRange('F1').setValue('Cost Per Conversion (CPA)');
sheet.getRange('G1').setValue('Conversion Rate (%)');
// Set the custom date range for reporting (format: YYYYMMDD)
var startDate = '20230315';
var endDate = '20240915';
// Build the query from the Search Query Performance Report
var report = AdsApp.report(
"SELECT CampaignName, AdGroupName, Query, Conversions, ConversionValue, Cost, Clicks " +
"FROM SEARCH_QUERY_PERFORMANCE_REPORT " +
"WHERE Conversions > 0 " +
"DURING " + startDate + "," + endDate
);
// Get report rows and set starting row for data insertion
var rows = report.rows();
var rowNumber = 2;
// Iterate through each row of the report
while (rows.hasNext()) {
var row = rows.next();
// Lowercase the search term for consistent brand filtering
var searchTerm = row['Query'].toLowerCase();
var conversions = parseFloat(row['Conversions']);
// Skip rows with less than 1 conversion
if (conversions < 1) continue;
// Exclude branded terms to avoid polluting the report
if (searchTerm.includes('parker chase') || searchTerm.includes('parker-chase') || searchTerm.includes('endeavor schools')) {
continue;
}
// Optional generic filter - add or remove terms here
if (
searchTerm.includes('creative') ||
searchTerm.includes('learning') ||
searchTerm.includes('content')
) {
continue;
}
// Extract cost and click values to calculate performance
var cost = parseFloat(row['Cost']);
var clicks = parseFloat(row['Clicks']);
// Calculate cost per conversion (CPA)
var cpa = conversions > 0 ? cost / conversions : 0;
// Calculate conversion rate
var conversionRate = clicks > 0 ? (conversions / clicks) * 100 : 0;
// Format values
cpa = cpa.toFixed(2);
conversionRate = conversionRate.toFixed(2);
// Write the row to the spreadsheet
sheet.getRange(rowNumber, 1).setValue(row['CampaignName']);
sheet.getRange(rowNumber, 2).setValue(row['AdGroupName']);
sheet.getRange(rowNumber, 3).setValue(row['Query']);
sheet.getRange(rowNumber, 4).setValue(conversions);
sheet.getRange(rowNumber, 5).setValue(row['ConversionValue']);
sheet.getRange(rowNumber, 6).setValue('$' + cpa); // Include dollar sign for CPA
sheet.getRange(rowNumber, 7).setValue(conversionRate + '%'); // Add percentage symbol
// Move to the next row in the sheet
rowNumber++;
}
// Log how many rows were processed
Logger.log('Export completed. Total rows processed: ' + (rowNumber - 2));
}
O script inclui várias configurações marcadas que você pode ajustar antes de executá-lo. Todas elas estão dentro dos blocos de comentários do script e podem ser alteradas com base em seus objetivos específicos, intervalo de relatórios ou preferências de formatação.
Aqui está uma análise do que você pode modificar e por quê:
1. URL da planilha
var planilhaUrl = 'https://docs.google.com/spreadsheets/d/xxxxx/edit';
O que ele faz:
É para lá que o script envia seus dados. Substitua o URL do espaço reservado pelo link para sua Planilha Google. Se você estiver usando vários endereços de e-mail, certifique-se de que a Planilha esteja compartilhada com a conta do Google vinculada à sua MCC.
2. Configurações de intervalo de datas
var startDate = '20230315';
var endDate = '20240915';
O que ele faz:
Isso controla a janela de relatórios. As datas devem ser formatadas como AAAAMMDD. Você pode ajustá-las para corresponder ao período de tempo que estiver analisando: os últimos 30 dias, os últimos 90 dias, intervalos trimestrais personalizados, etc.
3. Comportamento do nome da planilha
var sheetName = accountName + ' - Termos de melhor desempenho PC 90 dias';
O que ele faz:
Esta linha nomeia dinamicamente a aba Planilha com base na conta que executa o script. Você pode alterar a parte da string de texto ('—Termos de Melhor Desempenho PC 90 Dias') se quiser rotular os relatórios de forma diferente. Isso é útil ao executar relatórios em várias marcas ou subcontas.
4. Filtragem de termos de marca
if (searchTerm.includes('parker chase') || searchTerm.includes('parker-chase') || searchTerm.includes('endeavor schools')) {
continue;
}
O que ele faz:
Esta seção exclui quaisquer termos de marca do seu relatório. Você pode atualizar esta lista adicionando ou removendo condições .includes(). Por exemplo, se quiser excluir "MinhaMarca", basta adicionar:
|| searchTerm.includes('minhamarca')
Use letras minúsculas consistentemente, pois o script converte todas as consultas para letras minúsculas.
5. Filtragem de termos genéricos
if (
searchTerm.includes('creative') ||
searchTerm.includes('learning') ||
searchTerm.includes('content')
) {
continue;
}
O que ele faz:
Este filtro opcional elimina termos que não são específicos da marca, mas ainda assim confundem os dados, como "aprendizagem" ou "criativo". Você pode adicionar ou remover filtros aqui com base no que considera ruído.
6. Limite de desempenho
se (conversões < 1) continuar;
O que ele faz:
Esta linha remove consultas sem conversões. Você pode aumentar esse limite, se desejar, apenas para termos de melhor desempenho. Por exemplo, altere para:
se (conversões < 3) continuarem;
...para incluir apenas termos de pesquisa com 3 ou mais conversões no intervalo de datas.
7. Formatação de saída da planilha
sheet.getRange(rowNumber, 6).setValue('$' + cpa);
sheet.getRange(rowNumber, 7).setValue(conversionRate + '%');
O que ele faz:
Isso controla como o CPA e a taxa de conversão são escritos na planilha. Você pode editar ou excluir as adições de string para remover símbolos (por exemplo, $ ou %).
Após a execução bem-sucedida do script, ele preencherá sua Planilha Google com uma tabela estruturada. Cada linha representa um termo de pesquisa que gerou pelo menos uma conversão dentro do intervalo de datas especificado.

O exemplo da planilha do Google
O script gera um conjunto de colunas de desempenho na sua Planilha Google, fornecendo uma visão clara da contribuição de cada termo de pesquisa. Essas colunas incluem os nomes da campanha e do grupo de anúncios para rastrear onde o termo foi acionado, o termo de pesquisa digitado pelo usuário, o número de conversões geradas, o valor total da conversão, o custo médio por conversão e a taxa de conversão geral. Cada campo é fundamental para entender o que funciona e o que é desperdiçado.
Nome da campanha
Nome da campanha onde o anúncio foi acionado
Nome do grupo de anúncios
Um grupo de anúncios que corresponde ao termo de pesquisa
Termo de pesquisa
A frase exata que o usuário digitou no Google
Conversões
Número de conversões rastreadas desse termo
Valor de conversão
O valor total dessas conversões, com base nas configurações da sua conta
Custo por conversão (CPA)
O custo médio para gerar uma conversão a partir desse termo de pesquisa
Taxa de conversão (%)
Porcentagem de cliques que resultaram em uma conversão
Este script é uma base sólida, mas pode ir além, dependendo da profundidade que você deseja para seus relatórios. Se você gerencia várias marcas ou contas em um MCC, adicionar rótulos ou filtros de campanha pode ajudar a isolar os dados por marca ou unidade de negócios. Programar o script para ser executado automaticamente semanalmente ou mensalmente economiza tempo e garante relatórios consistentes. Você pode criar uma lógica para enviar alertas quando métricas importantes, como CPA ou taxa de conversão, ultrapassarem determinados limites. Para uma análise mais granular, você pode combinar isso com outros relatórios. PALAVRAS-CHAVE_RELATÓRIO_DE_DESEMPENHO para obter detalhamentos por tipo de correspondência. Dentro da Planilha, adicionar tabelas dinâmicas ou formatação condicional pode gerar insights mais rapidamente. E se você quiser um visual mais visual, os dados podem ser extraídos para o Looker Studio para painéis que seus clientes possam entender.
Adicione rótulos de campanha ou filtros em nível de conta para segmentar dados em grandes MCCs
Use o agendamento integrado para automatizar relatórios semanais ou mensais
Acione alertas por e-mail quando o CPA exceder um valor específico ou a taxa de conversão cair abaixo de um limite
Junte dados de outros relatórios, como KEYWORDS_PERFORMANCE_REPORT para detalhar os tipos de correspondência
Adicione resumos básicos ou formatação condicional diretamente no Planilhas
Conecte a saída ao Looker Studio para painéis de desempenho visual
Na Bright Vessel, criamos ferramentas de automação personalizadas como esta para clientes que precisam de insights claros de desempenho em ambientes de anúncios desorganizados. Se você está cansado de vasculhar painéis ruins ou executar cinco exportações manuais para obter os dados necessários, este script é apenas uma das muitas maneiras pelas quais simplificamos o processo.
Confira nosso passo a passo relacionado sobre “Como monitorar o status das metas do Google Ads em contas MCC usando o Planilhas Google e o Apps Script” para ver outro método para automatizar o rastreamento em escala.
Precisa de uma versão que se integre ao Slack, crie painéis do Looker ou conecte várias contas de anúncios em uma planilha mestre? Nós podemos fazer isso. Vamos conversar .

"*" indica campos obrigatórios

"*" indica campos obrigatórios

"*" indica campos obrigatórios