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) | |
| } |