Skip to main content

O marketing digital é um campo em constante desenvolvimento e, com isso, surgem novas ferramentas e técnicas para ajudar na promoção de produtos e serviços de forma eficaz. Uma das plataformas mais populares para anúncios online é o Google Ads, que permite compor campanhas publicitárias segmentadas e alcançar o público-alvo de maneira precisa. No entanto, gerenciar várias campanhas pode ser um serviço bem trabalhoso, principalmente para quem atua sozinho ou em pequenas empresas. Felizmente, existem diversos scripts úteis que podem auxiliar a automatizar tarefas rotineiras no Google Ads, permitindo que você economize horas e tenha mais eficácia na administração de suas campanhas. Neste conteúdo , apresentaremos cinco scripts que podem ser extremamente úteis para quem deseja melhorar suas campanhas de marketing digital no Google Ads.

Scripts que foram criados para esse artigo:

  1. Pausar campanhas após atingir um determinado orçamento
  2. Aumentar lances quando o custo por conversão é baixo
  3. Pausar campanhas em feriados e fins de semana
  4. Encontrar palavras-chave com zero impressões
  5. Pausar palavras-chave com menos de 10 impressões nos últimos 7 dias
  6. Encontrar páginas de destino com erro ou não encontradas

Para acessar o editor de scripts do google ads, basta realizar os seguintes passos:

  1. Acesse sua conta do Google Ads e vá para a aba “Scripts” na barra lateral.
  2. Clique em “Criar script” para criar um novo script.
  3. No editor de script, você pode inserir os códigos que serão citados abaixo, não esqueça de testá-los antes de salvar

  1. Script que verifica diariamente campanhas que gastaram X e as pausa automaticamente
// Aqui você pode determinar qual o valor deseja que ela seja pausada.
var BUDGET_LIMIT = 1000; 

// Obtém todas as campanhas da conta
var campaigns = AdsApp.campaigns().get();

// Percorre as campanhas e pausa as que atingiram o orçamento máximo
while (campaigns.hasNext()) {
  var campaign = campaigns.next();
  var budget = campaign.getBudget().getAmount();
  var cost = campaign.getStatsFor("YESTERDAY").getCost();
  if (cost.getMicroAmount() >= BUDGET_LIMIT * 1e6) {
    campaign.pause();
  }
}

Após de digitar o código, clique em “Salvar e executar” para experimentar o script. Você pode ver o resultado da execução do script na guia “Histórico de execução”.

Se o script funcionou certo, você pode definir o agendamento para que o script seja executado automaticamente todos os dias. Clique em “Agendar execução” na parte inferior da tela. Em seguida, escolha a alternativa “Diário” na lista de frequência de execução e clique em “Agendar”.

2. Aumentar lance X% quando a palavra-chave tem um custo por conversão menor do que X

Esse script varrerá todas as palavras-chave das campanhas, e ao verificar um custo por conversão menor que X e maior que R$1, irá aumentar X% o lance conforme definido no código

// Custo máximo por conversão em sua moeda local
var COST_PER_CONVERSION_LIMIT = 10;

// Aumento do lance em porcentagem
var BID_INCREASE_PERCENTAGE = 10;

// Obtém todas as palavras-chave da conta
var keywords = AdsApp.keywords().get();

// Percorre as palavras-chave e aumenta o lance das que têm um custo por conversão abaixo do limite
while (keywords.hasNext()) {
  var keyword = keywords.next();
  var stats = keyword.getStatsFor("YESTERDAY");
  var costPerConversion = 0;
  if (stats.getConversions() > 0) {
    costPerConversion = stats.getCost() / stats.getConversions();
  }
  if (costPerConversion.getMicroAmount() > 1e6 && costPerConversion.getMicroAmount() <= COST_PER_CONVERSION_LIMIT * 1e6) {
    var maxCpc = keyword.getMaxCpc();
    keyword.setMaxCpc(maxCpc.multipliedBy(1 + BID_INCREASE_PERCENTAGE / 100));
  }
}

Esse código poderá ser executado pontualmente clicando em executar, ou poderá ser agendado para executar diariamente ou semanalmente seguindo o mesmo passo a passo do item 1.

3. Pausar campanhas em feriados e reativar no próximo dia útil

Caso você tenha um estabelecimento que recebe clientes localmente e não abre nos feriados, esse script pode te salvar um dinheiro que seria desperdiçado à toa, para que ele funcione corretamente é preciso que você insira as datas que deseja que as campanhas sejam pausadas, e como bônus fique tranquilo, pois a campanha NUNCA reativa num final de semana, portanto se o feriado for emendado com o final de semana, você pode descansar tranquilamente pois o script só ativará no próximo dia útil (caso tenham emendas com dias úteis e você preferir que a campanha permaneça desativada, não esqueça de colocar a data no campo HOLIDAYS do código abaixo:

// Data dos feriados (caso haja emenda, coloque também se desejar que fique pausada)
var HOLIDAYS = ["01-01", "04-21", "05-01", "09-07", "10-12", "11-02", "11-15", "12-25"];

// Verifica se a data atual é um feriado
function isHoliday() {
  var today = new Date();
  var date = Utilities.formatDate(today, "BRT", "MM-dd");
  return HOLIDAYS.indexOf(date) >= 0;
}

// Verifica se a data atual é um final de semana
function isWeekend() {
  var today = new Date();
  var day = today.getDay();
  return day == 0 || day == 6;
}

// Verifica se a data atual é um dia de semana (não é final de semana)
function isWeekday() {
  return !isWeekend();
}

// Obtém todas as campanhas da conta
var campaigns = AdsApp.campaigns().get();

// Percorre as campanhas e as pausa se a data atual for um feriado
while (campaigns.hasNext()) {
  var campaign = campaigns.next();
  if (isHoliday()) {
    campaign.pause();
  } else {
    if (!isWeekend()) {
      campaign.enable();
    }
  }
}

lembre-se de agendar para que esse script rode todos os dias como citado no primeiro item deste artigo.

4. Pausar palavras-chave tenham menos de X impressões no período de X dias

// Obtém o número de impressões nos últimos X dias
function getImpressionsLastXDays(minImpressions, days) {
  var today = new Date();
  var xDaysAgo = new Date(today.getTime() - days * 24 * 60 * 60 * 1000);
  var stats = AdsApp.currentAccount().getStatsFor(xDaysAgo, today);
  return stats.getImpressions() < minImpressions;
}

// Função principal
function main() {
  // Defina qual o mínimo de impressões e quantos dias você deseja analisar
  var minImpressions = 10;
  var days = 7;

  // Obtém todas as palavras-chave da conta
  var keywords = AdsApp.keywords().get();

  // Percorre as palavras-chave e as pausa se o número de impressões nos últimos X dias for menor que o mínimo desejado
  while (keywords.hasNext()) {
    var keyword = keywords.next();
    if (!getImpressionsLastXDays(minImpressions, days)) {
      keyword.pause();
    }
  }
}

No exemplo acima, o script irá procurar num intervalo de 7 dias, palavras-chave com menos de 10 impressões e pausá-las.

5. Mostra quais anúncios possuem URL’s dando erro ou direcionando para páginas não encontrada

Esse tipo de problema pode dar muito prejuízo, por isso esse script pode ajudar a encontrar páginas que estão inseridas em anúncios na sua conta que estão dando erro 500 ou 404 (não encontrada).

// Obtém todos os grupos de anúncios da conta
var adGroups = AdsApp.adGroups().get();

// Percorre os grupos de anúncios e verifica se há erros de URL de destino
while (adGroups.hasNext()) {
  var adGroup = adGroups.next();
  var destinationUrlErrors = adGroup.getDestinationUrlErrors();
  for (var i = 0; i < destinationUrlErrors.length; i++) {
    var destinationUrlError = destinationUrlErrors[i];
    var entityId = destinationUrlError.getEntityId();
    var errorText = destinationUrlError.getErrorText();
    var fieldPath = destinationUrlError.getFieldPath();
    Logger.log(entityId + ": " + errorText + " (" + fieldPath + ")");
  }
}

Esse script pode ser usado pontualmente e não precisa ser agendado.

Em conclusão, os scripts do Google Ads são uma ferramenta poderosa para automatizar tarefas comuns e personalizar ainda mais suas campanhas de marketing digital. Se você tiver dificuldades em operar suas campanhas sozinho e prefere trabalhar com uma agência de marketing digital para potencializar seus resultados, fale com a Score!