Atualizar lances e monitorar alterações com scripts do AdWords

Publicados: 2021-10-23

Os scripts do AdWords são uma ótima ferramenta para gerenciar ajustes de lance. Em artigos anteriores, como Automatização de lances com planilhas do Google e scripts do AdWords, abordamos diferentes maneiras de alterar lances e gerenciar uploads. Este artigo pegará essas ideias e as combinará em seu próprio sistema de licitação!

Ainda manteremos uma abordagem de alto nível neste artigo para mantê-la acessível ou onde você quiser. Se você tiver menos experiência com scripts, isso o torna mais fácil de seguir (o que ainda é algo que você pode aplicar por conta própria). Se você tiver mais experiência, poderá fazer facilmente suas próprias edições para aprimorar a ferramenta.

Ao longo desse processo, aproveitaremos as ferramentas gratuitas e add-ons para criar um sistema que extrai os dados, processa os dados e carrega um conjunto de alterações de lance. Em vez de ser um script completo, utilizaremos planilhas e recursos de upload para tornar a edição mais acessível a não codificadores.

O que vamos usar

Usaremos o complemento Google AdWords para coletar dados, Planilhas Google para gerenciar lances, scripts do AdWords para formatar e fazer upload das alterações e, por fim, usaremos o aplicativo Planilhas Google para copiar as alterações e salvá-las para referência.

  • Complemento do Google AdWords - Colete dados
  • Planilhas Google - aplique as alterações por meio de fórmulas e retorne as alterações.
  • Scripts do AdWords - verifique as alterações, crie um arquivo de upload, envie para o AdWords, salve o log de alterações no Google Drive.

Extraindo os dados

Primeiro, precisamos configurar nosso pull de dados. Você pode usar uma ferramenta para extrair os dados, usar um script ou colar os dados manualmente. Como se trata de automação, pularemos a última opção. O primeiro exemplo usará o complemento do AdWords (se você quiser limitar a exposição do seu código por enquanto) e nós retornaremos aos recursos para o script de extração de dados.

Depois de instalar o complemento do AdWords, vá para o Planilhas e crie uma nova. Abra o add-on e comece a configurar sua planilha. Queremos extrair qualquer métrica de desempenho mais a coluna de CPC máximo. Se você estiver alterando os lances como uma porcentagem do último lance, você precisará do lance atual. Se quiser manter um registro, você também precisará da coluna.

Se preferir, você também pode usar uma ferramenta como o SuperMetrics. Ou você pode usar a funcionalidade de relatório em scripts do AdWords para importar alterações. Ambos oferecem soluções um pouco mais automatizadas.

Se você gostaria de saber mais sobre a funcionalidade de relatório, recomendo fortemente os seguintes artigos,

Google Developers, Reporting - AdWords Scripts Reporting reference

Fred Vallaeys, Search Engine Land - Este script automatiza a adição de quaisquer dados do AdWords a uma planilha do Google

Faça ajustes de lance

Assim que tivermos nossos dados de desempenho, podemos começar a calcular os novos lances! Neste exemplo, ajustaremos com base no CPA com uma fórmula básica em uma nova coluna.

A seguir, adicionaremos uma coluna auxiliar para definir quais colunas foram alteradas.

Agora faremos uma nova planilha para armazenar nossas alterações, algo óbvio como “Mudanças de palavras-chave para upload”. Eu recomendo usar query () para retornar todas as linhas alteradas para sua própria planilha. Isso tornará mais fácil acessar o AdWords e limitará o código que temos que escrever para selecionar o intervalo correto.

Formatando o Upload

Isso requer algumas etapas. Nós precisamos,

  1. Acesse a planilha.
  2. Puxe os dados.
  3. Formate-o para bulkUpload e crie um arquivo
  4. Envie o arquivo para o AdWords.

Acessar a planilha é bastante fácil, usaremos a URL e o nome do arquivo para acessar a planilha.

Agora a parte um pouco complicada. Se você não está familiarizado com o processo. Precisamos criar um arquivo csv para upload. Já temos as linhas que queremos enviar. Basicamente, criaremos um arquivo em branco e então o preencheremos com as linhas da planilha “Mudanças de palavras-chave para upload”.

Assim que tivermos o upload feito, estamos a uma linha de distância do upload.

Criação do log de backup

Freqüentemente, os usuários se preocupam com a capacidade de reverter as alterações ou com o sistema descontrolado. É improvável, mas para sermos extremamente cuidadosos, podemos fazer uma cópia e salvá-la em nosso Google Drive.

Eu recomendo criar uma pasta com antecedência. Copiar o ID da pasta do URL e inseri-lo no script. Isso evita que sua unidade de nível superior fique cheia de cópias e ajuda a mantê-la limpa e organizada!

Envie um e-mail com as alterações

As atualizações por e-mail ajudam você e sua equipe a acompanhar as mudanças e ficar de olho na magnitude das mudanças. Podemos usar o emailApp para enviar um e-mail aos membros da equipe, junto com uma breve mensagem com links para as planilhas de alteração que criamos na última etapa. Também podemos obter uma contagem rápida das linhas no arquivo de upload para contar o número de alterações de lance.

Para incluir os links, vamos formatar o corpo da mensagem como HTML, adicionar algumas quebras e torná-lo um pouco mais bonito.

Empacotando

Se você estiver atualizando automaticamente seus dados de palavra-chave, vá em frente e agende seu script para enviar automaticamente as alterações.

Se você estiver carregando dados de palavra-chave manualmente, ainda poderá programar o upload, mas faria mais sentido executar o script manualmente depois de atualizar os dados.

Melhorando o Processo

Existem dois caminhos principais para melhorias. Você pode fazer o script de todo o processo e remover a parte da planilha. Isso simplifica as etapas e pode tornar as coisas mais fáceis de gerenciar se você não precisar da planilha.

A segunda opção para atualizar sua planilha de licitação com regras e decisões mais complexas. Adicionar mais variáveis ​​à sua regra de lance, implementar vários tipos de conversão ou incluir dados de terceiros pode ajudá-lo a construir um modelo de lance mais eficaz.

Roteiro Completo

function main () {

// e-mail para atualizações de lances
var email = [“[email protected]”];

// ID da pasta que você reservou para armazenar cópias da planilha de lances
// extraia do final do URL da pasta do Drive
var bidFolderId = ”;

// URL de seu livro de alterações de lance
var biddingWorkBookUrl = ”;

// Open workbook
var biddingWorkBook = SpreadsheetApp.openByUrl (biddingWorkBookUrl);

// Folha com alterações de lance
// string pode ser atualizada para o nome de seu próprio arquivo
var keywordBidUpload = brandBook.getSheetByName ('Mudanças de palavras-chave para upload');

// Obtenha a folha que deseja copiar
var keywordBids = brandBook.getSheetByName ('Keyword Bids');

// Obtenha a última linha para calcular o número de alterações de lance.
var bidChangeCount = keywordBids.getLastRow () - 1;

function createCopy (sheetObject) {
var destinationFolder = DriveApp.getFolderById (bidFolderId);
var file = DriveApp.getFileById (sheetObject.getId ()). makeCopy (”Bid Copy -” + createDateString (), destinationFolder);
return file.getUrl ();
}

var brandCopy = createCopy (keywordBids);

function uploadBids (folha) {
// cria nomes de coluna para upload
var colunas = [“Campanha”, “Grupo de anúncios”, “Palavra-chave”, ”Tipo de correspondência”, “Máx. CPC ”];
// criar upload csv
var upload = AdWordsApp.bulkUploads (). newCsvUpload (colunas);
// obtém todos os valores da planilha
var values ​​= sheet.getDataRange (). getValues ​​();
// converter as linhas da folha e anexar ao arquivo de upload
para (i = 1; i <valores. comprimento; i ++) {
var campanha = valores [i] [0];
var ad_group = valores [i] [1];
var palavra-chave = valores [i] [2];
var match_type = values ​​[i] [3];
var max_cpc = valores [i] [4];

upload.append ({
'Campanha': campanha,
'Grupo de anúncios': ad_group,
'Palavra-chave': palavra-chave,
'Tipo de correspondência': match_type,
'Max. CPC ': max_cpc});

};
};

uploadBids (keywordBidUpload);

// Cria o texto da data para anexar ao nome do arquivo
function createDateString () {
var newDate = new Date ();
var mês = String (newDate.getMonth ());
var day = String (newDate.getDate ());
var year = String (newDate.getFullYear ());
mês de retorno + “-” + dia + “-” + ano;

}

var dateString = createDateString ();

var subject = “Alterações no lance da conta” + dateString;

var options = {
htmlBody: “Olá, <br /> <br /> As alterações de lance foram implementadas. <br /> <br /> Houve ”+
bidChangeCount + ”alterações de lance de palavra-chave. <br /> <br />” +
“Alterações e configurações anteriores podem ser encontradas em, <br /> <br />” +
'<a href = \ ”' + brandCopy +
'”> Mudanças de marca </a>';

}

MailApp.sendEmail (e-mail, assunto, ”, opções)

}
// Fim do script