O script avançado do Google Ads remove os locais das palavras-chave
Esse script automatiza a remoção de locais individuais das palavras-chave em escala no Planilhas Google.
Uma das tarefas mais tediosas ao trabalhar com palavras-chave baseadas em local é remover os locais individuais das palavras-chave em escala. Estes são os termos de palavra-chave com base na localização, como “concessionária de carros em Londres”.
Como em qualquer tarefa repetitiva e tediosa, os desenvolvedores da minha agência criaram um script do Google Ads para automatizar a remoção dos locais das palavras-chave nas Planilhas Google.
Como o script funciona
O script puxa todas as palavras-chave da sua conta e, em seguida, pesquisa cada uma delas em nosso banco de dados de todos os locais do Reino Unido.
Você também pode configurá-lo para extrair apenas palavras-chave de determinadas campanhas nas configurações que explicarei na seção de configuração abaixo.
Em seguida, ele puxa o local das palavras-chave e cria uma saída como abaixo. A palavra-chave está na primeira coluna e, em seguida, o local contido nela está na segunda coluna.
Como configurar o script
Antes de executar o script, existem algumas variáveis que você precisa configurar.
- Na linha 18. Você precisará criar uma nova planilha do Google que será usada para gerar o relatório mostrando as palavras-chave e os locais dentro delas. Você precisará especificar o URL da planilha em que deseja que o relatório seja exibido na linha 18 do script.
- Na linha 21. Você pode alterar quais campanhas você deseja incluir. Para incluir todas as campanhas que contêm o termo “marca”, por exemplo, digite a palavra “marca” aqui. se você deseja incluir todas as campanhas, deixe esse campo em branco.
- Na linha 22. Por outro lado, se você quiser excluir todas as campanhas que contêm o termo “genéricos”, por exemplo, digite a palavra “genéricos” aqui. se você deseja incluir todas as campanhas, deixe esse campo em branco.
O script
/ ** | |
* | |
* Palavras-chave separadas do script de locais | |
* O script extrai todas as palavras-chave da conta e separa os locais dentro delas da palavra-chave | |
* | |
* Versão: 1.0 | |
* mantido por Clicteq | |
* | |
** / | |
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // | |
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // | |
// Especifique o URL da planilha | |
SHEET_URL = ‘https://docs.google.com/spreadsheets/d/19TeMBlXgWATNFZ-AJSMpY9-r_rWF7TOMHqmDcaE1zeA/edit#gid=0’ | |
// Limite o número de campanhas usando as condições contém / não contém | |
CAMPAIGN_CONTAINS = ” | |
CAMPAIGN_NOT_CONTAINS = ” | |
função getCondition () { | |
if (CAMPAIGN_CONTAINS && CAMPAIGN_NOT_CONTAINS) {return ‘AND CampaignName CONTAINS’ + ‘”‘ + CAMPAIGN_CONTAINS + ‘”‘ + ‘AND CampaignName DOES_NOT_CONTAIN’ + ‘”‘ + CAMPAIGN_NOT_CONTAINS + ‘”‘} | |
caso contrário, se (CAMPAIGN_CONTAINS) {return ‘AND CampaignName CONTAINS’ + ‘”‘ + CAMPAIGN_CONTAINS + ‘”‘} | |
caso contrário, se (CAMPAIGN_NOT_CONTAINS) {return ‘AND CampaignName DOES_NOT_CONTAIN’ + ‘”‘ + CAMPAIGN_NOT_CONTAINS + ‘”‘} | |
else {return ”} | |
} | |
função flattenList (nestedList) { | |
var temp = [] | |
for (var i em nestedList) { | |
if (nestedList [i] [0] == ”) {return temp} | |
temp.push (lista aninhada [i] [0] .toLowerCase ()) | |
} | |
temperatura de retorno | |
} | |
LOCATIONS = flattenList (SpreadsheetApp.openByUrl (‘https://docs.google.com/spreadsheets/d/1QEkL5PpoyL7FgEqUJ-JlWSZo6xuvIZ_CleRVt1Tavtw/edit#gid=0’) .getDataRange () .getVataRange (). | |
função cleanKeyword (keyword) { | |
while (keyword.indexOf (‘+’)> – 1) { | |
var position = keyword.indexOf (‘+’) | |
keyword = keyword.replace (‘+’, ”) | |
} | |
retornar keyword.toLowerCase () | |
} | |
função findLocation (palavra-chave) { | |
var match = ” | |
para (var i em LOCATIONS) { | |
/*if(keyword.indexOf(LOCATIONS[i] + ”)> -1 || keyword.indexOf (” + LOCATIONS [i])> -1 || keyword.indexOf (” + LOCATIONS [i] + ”)> -1) { | |
retornar LOCAIS [i] | |
} * / | |
if (keyword.indexOf (LOCATIONS [i])> -1) { | |
var isWord = false | |
if (LOCATIONS [i] .length> match.length) { | |
if (LOCATIONS [i] .indexOf (”) == -1) { | |
var words = keyword.split (”) | |
isWord = words.indexOf (LOCAIS [i])> -1 | |
} | |
mais {isWord = true} | |
if (isWord) {match = LOCATIONS [i]}} | |
} | |
} | |
partida de retorno | |
} | |
função getKeywords () { | |
var condition = getCondition () | |
var query = ‘SELECT CampaignName, Critérios FROM KEYWORDS_PERFORMANCE_REPORT WHERE CampaignStatus = ENABLED AND AdGroupStatus = ENABLED e Status = ENABLED’ + condição | |
var report = AdWordsApp.report (consulta) | |
var linhas = report.rows () | |
tabela var = [[‘Palavra-chave’, ‘Localização’]] | |
var i = 0 | |
while (lines.hasNext ()) { | |
var reportRow = linhas.next () | |
var palavra-chave = reportRow [‘Critérios’] | |
var clean = cleanKeyword (palavra-chave) | |
var location = findLocation (limpo) | |
var row = [palavra-chave, local] | |
table.push (linha) | |
/ * | |
i = i + 1 | |
if (i == 1000) { | |
pausa | |
} | |
* / | |
} | |
tabela de retorno | |
} | |
função clearSheet (guia) { | |
tab.clear () | |
} | |
função getRange (tab, linhas) { | |
var lastRow = lines.length | |
var lastColumn = 2 | |
var range = tab.getRange (1,1, lastRow, lastColumn) | |
faixa de retorno | |
} | |
função putToSheet (tab, linhas) { | |
var range = getRange (tab, linhas) | |
range.setValues (linhas) | |
} | |
função main () { | |
var tab = SpreadsheetApp.openByUrl (SHEET_URL) .getActiveSheet () | |
var linhas = getKeywords () | |
clearSheet (guia) | |
putToSheet (tab, linhas) | |
} |