Automação de Palavras-chave Negativas no Google Ads com IA
A FlowHunt automatiza a gestão de palavras-chave negativas no Google Ads com IA, ajudando empresas a reduzir custos, otimizar investimentos em anúncios e melhorar os resultados de campanhas sem esforço.
Google Ads
Negative Keywords
AI
Automation
PPC
Digital Marketing
Scripts
O gasto com palavras-chave indesejadas acontece quando seus anúncios aparecem em resultados de busca que não correspondem ao que você está vendendo. Isso pode rapidamente consumir seu orçamento, já que cada clique irrelevante custa dinheiro sem gerar uma venda. Por exemplo, se uma empresa que vende sapatos de couro de alto padrão segmenta palavras-chave amplas como “comprar sapatos”, pode atrair cliques de pessoas interessadas em tênis ou sandálias, que não são o seu público. Esse descompasso na segmentação de palavras-chave pode levar a desperdício no investimento em anúncios e a um ROI mais baixo. É fundamental que as empresas compreendam esse conceito para evitar perdas financeiras desnecessárias e focar o orçamento nas palavras-chave corretas.
O Papel das Palavras-chave Negativas
Palavras-chave negativas são uma ferramenta essencial em qualquer campanha do Google Ads. Elas permitem que os anunciantes excluam termos de busca específicos para que apenas pesquisas relevantes levem à exibição dos anúncios. Por exemplo, ao usar palavras-chave negativas como “barato” ou “desconto”, a empresa de sapatos de couro evita cliques de pessoas que não buscam produtos premium. Ao elaborar cuidadosamente uma lista de palavras-chave negativas, as empresas podem otimizar o investimento, reduzir cliques indesejados e aumentar a eficácia geral da campanha.
Pronto para expandir seu negócio?
Comece seu teste gratuito hoje e veja resultados em dias.
A Inteligência Artificial (IA) está mudando a forma como os anunciantes gerenciam campanhas no Google Ads. Ferramentas de IA como a FlowHunt são feitas para agrupamento de palavras-chave, ajudando empresas a identificar e organizar palavras-chave relacionadas de forma mais eficiente. Essa automação simplifica o processo de encontrar tanto palavras-chave positivas quanto negativas, reduzindo o trabalho manual envolvido na gestão das campanhas. A gestão de palavras-chave com IA permite ajustes em tempo real com base nos dados de desempenho, garantindo que o investimento em anúncios esteja sempre otimizado para o melhor ROI.
Estratégias para Reduzir o Gasto com Palavras-chave Indesejadas
Para reduzir o gasto com palavras-chave indesejadas, as empresas devem adotar várias estratégias:
Atualize regularmente sua lista de palavras-chave para acompanhar tendências de mercado e interesses dos consumidores.
Implemente uma forte estratégia de palavras-chave negativas pesquisando e atualizando constantemente os termos que deseja excluir.
Monitore e ajuste as campanhas com base nos dados de desempenho.
Analise quais palavras-chave geram vendas e quais não para refinar a segmentação e maximizar o investimento em anúncios.
Junte-se à nossa newsletter
Receba gratuitamente as últimas dicas, tendências e ofertas.
Estudo de Caso: Abordagem da PostAffiliatePro
A PostAffiliatePro enfrentava problemas com o gasto mensal em anúncios, tendo dificuldade em obter o ROI desejado de suas campanhas no Google Ads. Eles decidiram usar IA para resolver esse problema. Incorporando ferramentas baseadas em IA, automatizaram o processo de gestão de palavras-chave, identificando positivas e negativas com mais precisão. Essa mudança permitiu otimizar o investimento, reduzir custos significativamente e melhorar a eficiência das campanhas. A experiência destaca os benefícios de usar tecnologia de IA para gerenciar o gasto com palavras-chave de forma eficaz. As análises de cada nova palavra-chave são feitas em até uma hora após a primeira impressão da palavra. Essa velocidade ajuda a identificar palavras negativas antes mesmo que visitantes possam clicar no anúncio do Google.
Taxa de conversão aprimorada (somente buscas relevantes geram mais vendas)
Recursos Adicionais
Para quem deseja aprender mais sobre gestão eficiente de palavras-chave e otimização com IA, considere explorar estes recursos:
Script Google Ads para Avaliar Cada Nova Palavra-chave
Aqui está nosso script, que executamos a cada hora para avaliar clusters de palavras-chave.
Esse script tem como objetivo automatizar várias tarefas relacionadas à gestão de campanhas do Google Ads. Ele interage com o Google Sheets para configuração e definições, e realiza operações nas contas Google Ads, como analisar termos de pesquisa, adicionar ou excluir palavras-chave e integrar com a API do FlowHunt para agrupamento avançado com IA.
Google Sheet para gerenciar as configurações do script
Palavras-chave negativas aplicadas automaticamente aos grupos de anúncios
Função Principal
A lógica principal está na função main(). Ela abre o documento Google Sheets especificado por spreadsheetURL, recupera configurações como apiKey, country, language e outras.
Inicialmente, o sistema tenta adicionar palavras-chave positivas ao cluster do FlowHunt. Se for bem-sucedido, prossegue para analisar termos de pesquisa não atribuídos.
Análise de Palavras-chave
Analisando Palavras Não Atribuídas: A função percorre todos os grupos de anúncios da conta marcados com um rótulo específico. Recupera termos de pesquisa do Google Ads que não estão atualmente segmentados e tiveram pelo menos uma impressão.
O sistema utiliza a API do FlowHunt para encontrar palavras semelhantes à que está sendo analisada, filtrando-as por um critério de minimumMatch especificado.
Termos de pesquisa que atendem aos critérios são adicionados como palavras-chave positivas ou marcados como negativas se não atenderem ao mínimo, atualizando a Google Sheet relevante e também suas campanhas no Google Ads.
Integração com FlowHunt
Interação com a API: O script usa a função callFlowHuntApi() para interagir com a API do FlowHunt em diversas tarefas, como recuperar IDs de workspace e agrupar palavras-chave.
Adicionar Palavras ao Cluster: Essa função envia palavras-chave positivas de volta ao FlowHunt para agrupamento, garantindo que sejam informadas por dados de busca em tempo real do Google Ads.
Palavras-chave adicionadas e negativas são registradas em sheets separadas para acompanhamento e revisão contínua.
Uso
Para implantar esse script, os usuários precisam:
Informar a URL válida do Google Sheets e garantir que as sheets necessárias (“Settings”, “AddedKW”, “NegativeKW”) estejam presentes.
Configurar o Google Sheets com a chave API do FlowHunt, códigos de país e outras definições operacionais.
Garantir que o script seja executado em ambiente de Script do Google Ads com o acesso API habilitado.
Adicione o script ao seu Google Ads no menu Ferramentas -> Ações em Massa -> Scripts.
Não esqueça de definir o link real para seu documento Google Sheet. O resto é nossa mágica. Identificamos palavras-chave que pertencem à campanha e automatizamos o gerenciamento (tanto negativas quanto positivas).
Script Google Ads para Gerenciar Palavras-chave Negativas Automaticamente
//Global variables
varspreadsheetURL;
varspreadsheet;
varsheetSettings;
varsheetAddedKW;
varsheetNegativeKW;
varapiKey;
varlabelName;
varcountry;
varlanguage;
varlocation;
varurlsCount;
varminimumMatch;
varworkspaceId;
functionmain() {
// Provide the Google Sheets URL here
spreadsheetURL="https://docs.google.com/spreadsheets/d/....... FULL URL TO GOOGLE SHEET";
spreadsheet=SpreadsheetApp.openByUrl(spreadsheetURL);
sheetSettings=spreadsheet.getSheetByName("Settings");
sheetAddedKW=spreadsheet.getSheetByName("AddedKW");
sheetNegativeKW=spreadsheet.getSheetByName("NegativeKW");
apiKey=getSettingValue("FlowHuntAPIkey")
labelName=getSettingValue("LabelName")
country=getSettingValue("CountryCode")
language=getSettingValue("LanguageCode")
location=getSettingValue("Location")
urlsCount=getSettingValue("TopUrlsCount")
minimumMatch=getSettingValue("MinimumMatch")
workspaceId=getWorkspaceId()
if (workspaceId.length<10) {
Logger.log("Failed to load workspace id from FlowHunt, check API key");
return;
}
Logger.log("FlowHunt WorkspaceId: "+workspaceId);
if (addPositiveKWsToCluster() ==0) {
// Analyze new keywords just if all positive keywords added already
analyzeNotAssignedWords();
}
}
functionanalyzeNotAssignedWords() {
Logger.log("*** START Checking not assigned keywords");
// Iterate through all ad groups in the account
varadGroupsIterator=AdsApp.adGroups().get();
while (adGroupsIterator.hasNext()) {
varadGroup=adGroupsIterator.next();
vargroupName=adGroup.getId() +" - "+adGroup.getName();
if (hasLabel(adGroup, labelName)) {
// Get the search terms for the current ad group ordered by clicks in the last X days
varsearchTermsQuery="SELECT Query FROM SEARCH_QUERY_PERFORMANCE_REPORT "+"WHERE AdGroupId = "+adGroup.getId() +" AND QueryTargetingStatus = \"NONE\" "+"DURING TODAY";
varsearchTermsIterator=AdsApp.report(searchTermsQuery).rows();
varadGroupKeywords= [];
while (searchTermsIterator.hasNext()) {
varsearchTerm=searchTermsIterator.next();
varsearchTermText=searchTerm["Query"].trim();
varsimilarQueries=getSimilarQueries(groupName, searchTermText)
varfilteredSimilarQueries=getFilteredSimilarQueries(similarQueries);
if (filteredSimilarQueries.length>0) {
varkeywordOperation=adGroup.newKeywordBuilder().withText("["+searchTermText+"]").build();
if (keywordOperation.isSuccessful()) {
adGroupKeywords.push(searchTermText);
varrowData= [groupName, searchTermText, new Date(), "ADDING AS POSITIVE, REVIEW!", JSON.stringify(filteredSimilarQueries)];
sheetAddedKW.appendRow(rowData);
} else {
Logger.log("Failed to add keyword as positive:"+searchTermText)
}
} else {
// add to negative
adGroup.createNegativeKeyword("["+searchTermText+"]");
Logger.log("Excluded search term in ad group '"+groupName+"': "+searchTermText);
varrowData= [groupName, "["+searchTermText+"]", new Date(), JSON.stringify(similarQueries)];
sheetNegativeKW.appendRow(rowData);
}
}
if (adGroupKeywords.length>0) {
//Add all keywords in the list to FlowHunt Cluster
addKeywordsToFlowHunt(groupName, adGroupKeywords);
}
}
}
Logger.log("*** FINISHED Checking not assigned keywords");
}
functiongetSimilarQueries(groupName, query) {
result=callFlowHuntApi("/serp/serp/cluster/query_intersections?workspace_id="+workspaceId, "POST", {
"query":query,
"country":country,
"language":language,
"location":location,
"group_name":groupName,
"live_mode":true,
"max_position":urlsCount });
Logger.log(result)
if (result.status=="SUCCESS") {
returnJSON.parse(result.result);
}
return []
}
functiongetFilteredSimilarQueries(similarQueries) {
filtered= [];
for (vari=1; i<similarQueries.length; i++){
if (similarQueries[i].count>=minimumMatch) {
filtered.push(similarQueries[i]);
}
}
returnfiltered;
}
functionaddPositiveKWsToCluster() {
Logger.log("*** START Checking new campaign keywords");
// Iterate through all ad groups in the account
varadGroupsIterator=AdsApp.adGroups().get();
varprocessedKWs=sheetAddedKW.getDataRange().getValues();
varprocessedKWsMap= {};
varrowsAdded=0;
for (vari=1; i<processedKWs.length; i++) { // Start at 1 to skip header row if exists
vargroupName=processedKWs[i][0];
varkeyword=processedKWs[i][1];
processedKWsMap[groupName+'|'+keyword] =true;
}
while (adGroupsIterator.hasNext()) {
varadGroup=adGroupsIterator.next();
vargroupName=adGroup.getId() +" - "+adGroup.getName();
if (hasLabel(adGroup, labelName)) {
varkeywordsIterator=adGroup.keywords().get();
varadGroupKeywords= [];
while (keywordsIterator.hasNext()) {
varkeyword=keywordsIterator.next();
if (keyword.isEnabled()) {
varkey=groupName+'|'+keyword.getText();
if (!processedKWsMap[key]) {
adGroupKeywords.push(keyword.getText());
varrowData= [groupName, keyword.getText(), new Date(), "Already present in campaign"];
sheetAddedKW.appendRow(rowData);
processedKWsMap[key] =true;
}
}
}
if (adGroupKeywords.length>0) {
//Add all keywords in the list to FlowHunt Cluster
addKeywordsToFlowHunt(groupName, adGroupKeywords);
} else {
Logger.log("No new keywords in Group: "+groupName);
}
rowsAdded=rowsAdded+adGroupKeywords.length }
}
Logger.log("*** FINISHED Checking new campaign keywords");
returnrowsAdded;
}
functionaddKeywordsToFlowHunt(GroupName, adGroupKeywords) {
requests= []
adGroupKeywords.forEach(function(keyword) {
requests.push(
{
"query":keyword,
"country":country,
"language":language,
"location":location,
"group_name":GroupName,
"count_urls":30 }
);
});
callFlowHuntApi("/serp/serp/cluster/add_queries?workspace_id="+workspaceId, "POST", {"requests":requests});
}
functiongetSettingValue(settingName) {
vardata=sheetSettings.getDataRange().getValues();
for (vari=0; i<data.length; i++) {
if (data[i][0] ===settingName) {
returndata[i][1];
}
}
returnnull;
}
functiongetWorkspaceId() {
result=callFlowHuntApi("/auth/me", "GET")
if (result!==null) {
returnresult.api_key_workspace_id;
}
}
functioncallFlowHuntApi(endpoint, method, requestBody) {
varurl="https://api.flowhunt.io/v2"+endpoint;
varheaders= {
"Api-Key":apiKey,
"Content-Type":"application/json" };
varoptions= {
"method":method, // or "post", "put", etc.
"headers":headers,
"payload":JSON.stringify(requestBody)
};
try {
varresponse=UrlFetchApp.fetch(url, options);
varresponseData=JSON.parse(response.getContentText());
Logger.log(responseData);
returnresponseData;
} catch (e) {
Logger.log("An error occurred: "+e.message);
}
returnnull;
}
functionhasLabel(adGroup, labelName) {
varlabels=adGroup.labels().get();
while (labels.hasNext()) {
varlabel=labels.next();
if (label.getName() ===labelName) {
Logger.log("Processing Adgroup "+adGroup.getName());
returntrue;
}
}
returnfalse;
}
Perguntas frequentes
Palavras-chave negativas impedem que seus anúncios apareçam em buscas irrelevantes, reduzindo gastos desnecessários e melhorando o ROI da campanha ao focar apenas nas consultas mais relevantes.
Ferramentas de IA como o FlowHunt analisam dados de busca em tempo real, identificam palavras-chave irrelevantes e atualizam automaticamente suas campanhas com palavras-chave negativas, economizando tempo e aumentando a eficiência.
Espere taxas de conversão mais altas, redução de gastos com cliques irrelevantes e campanhas mais eficientes, já que a IA otimiza continuamente suas listas e segmentação de palavras-chave.
Você precisará conectar sua conta do Google Ads, configurar definições em uma Google Sheet e implementar o script fornecido para habilitar a gestão automatizada de palavras-chave alimentada pela IA do FlowHunt.
Viktor Zeman é co-proprietário da QualityUnit. Mesmo após 20 anos liderando a empresa, ele continua sendo principalmente um engenheiro de software, especializado em IA, SEO programático e desenvolvimento backend. Ele contribuiu para inúmeros projetos, incluindo LiveAgent, PostAffiliatePro, FlowHunt, UrlsLab e muitos outros.
Viktor Zeman
CEO, Engenheiro de IA
Automatize seu Google Ads com IA
Pronto para maximizar o ROI do seu Google Ads? Descubra como a automação com IA gerencia suas palavras-chave negativas e otimiza o investimento em anúncios.
Flow of the Week #2: O Escritor de IA que Transforma Uma Palavra-chave em um Artigo de Blog Completo
Flow of the Week #2 é o Gerador de Blog Avançado — um escritor de IA gratuito que pega uma palavra-chave e retorna um artigo totalmente pesquisado, estruturado ...
Simplifique a Criação de Conteúdo com Seu Próprio Gerador de Ideias de Conteúdo com IA
Dê adeus ao bloqueio criativo e receba ideias de conteúdo personalizadas. Aprenda como criar seu próprio Gerador de Ideias de Conteúdo com IA personalizado com ...
3 min de leitura
AI
Content Creation
+4
Consentimento de Cookies Usamos cookies para melhorar sua experiência de navegação e analisar nosso tráfego. See our privacy policy.