
Agente de IA para PPC com automação de consultas negativas
Automatize palavras-chave negativas no Google Ads com o Agente de IA para PPC da FlowHunt. Exclua consultas irrelevantes, reduza gastos desnecessários e melhore...
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.
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.
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.
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.
Para reduzir o gasto com palavras-chave indesejadas, as empresas devem adotar várias estratégias:
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.
Para quem deseja aprender mais sobre gestão eficiente de palavras-chave e otimização com IA, considere explorar estes recursos:
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.
main()
. Ela abre o documento Google Sheets especificado por spreadsheetURL
, recupera configurações como apiKey
, country
, language
e outras.minimumMatch
especificado.callFlowHuntApi()
para interagir com a API do FlowHunt em diversas tarefas, como recuperar IDs de workspace e agrupar palavras-chave.Para implantar esse script, os usuários precisam:
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).
//Global variables
var spreadsheetURL;
var spreadsheet;
var sheetSettings;
var sheetAddedKW;
var sheetNegativeKW;
var apiKey;
var labelName;
var country;
var language;
var location;
var urlsCount;
var minimumMatch;
var workspaceId;
function main() {
// 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();
}
}
function analyzeNotAssignedWords() {
Logger.log("*** START Checking not assigned keywords");
// Iterate through all ad groups in the account
var adGroupsIterator = AdsApp.adGroups().get();
while (adGroupsIterator.hasNext()) {
var adGroup = adGroupsIterator.next();
var groupName = 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
var searchTermsQuery = "SELECT Query FROM SEARCH_QUERY_PERFORMANCE_REPORT " +
"WHERE AdGroupId = " + adGroup.getId() +
" AND QueryTargetingStatus = \"NONE\" " +
"DURING TODAY";
var searchTermsIterator = AdsApp.report(searchTermsQuery).rows();
var adGroupKeywords = [];
while (searchTermsIterator.hasNext()) {
var searchTerm = searchTermsIterator.next();
var searchTermText = searchTerm["Query"].trim();
var similarQueries = getSimilarQueries(groupName, searchTermText)
var filteredSimilarQueries = getFilteredSimilarQueries(similarQueries);
if (filteredSimilarQueries.length > 0) {
var keywordOperation = adGroup.newKeywordBuilder().withText("[" + searchTermText + "]").build();
if (keywordOperation.isSuccessful()) {
adGroupKeywords.push(searchTermText);
var rowData = [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);
var rowData = [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");
}
function getSimilarQueries(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") {
return JSON.parse(result.result);
}
return []
}
function getFilteredSimilarQueries(similarQueries) {
filtered = [];
for (var i=1; i<similarQueries.length; i++){
if (similarQueries[i].count>=minimumMatch) {
filtered.push(similarQueries[i]);
}
}
return filtered;
}
function addPositiveKWsToCluster() {
Logger.log("*** START Checking new campaign keywords");
// Iterate through all ad groups in the account
var adGroupsIterator = AdsApp.adGroups().get();
var processedKWs = sheetAddedKW.getDataRange().getValues();
var processedKWsMap = {};
var rowsAdded = 0;
for (var i = 1; i < processedKWs.length; i++) { // Start at 1 to skip header row if exists
var groupName = processedKWs[i][0];
var keyword = processedKWs[i][1];
processedKWsMap[groupName + '|' + keyword] = true;
}
while (adGroupsIterator.hasNext()) {
var adGroup = adGroupsIterator.next();
var groupName = adGroup.getId() + " - " + adGroup.getName();
if (hasLabel(adGroup, labelName)) {
var keywordsIterator = adGroup.keywords().get();
var adGroupKeywords = [];
while (keywordsIterator.hasNext()) {
var keyword = keywordsIterator.next();
if (keyword.isEnabled()) {
var key = groupName + '|' + keyword.getText();
if (!processedKWsMap[key]) {
adGroupKeywords.push(keyword.getText());
var rowData = [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");
return rowsAdded;
}
function addKeywordsToFlowHunt(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});
}
function getSettingValue(settingName) {
var data = sheetSettings.getDataRange().getValues();
for (var i = 0; i < data.length; i++) {
if (data[i][0] === settingName) {
return data[i][1];
}
}
return null;
}
function getWorkspaceId() {
result = callFlowHuntApi("/auth/me", "GET")
if (result !== null) {
return result.api_key_workspace_id;
}
}
function callFlowHuntApi(endpoint, method, requestBody) {
var url = "https://api.flowhunt.io/v2" + endpoint;
var headers = {
"Api-Key": apiKey,
"Content-Type": "application/json"
};
var options = {
"method" : method, // or "post", "put", etc.
"headers" : headers,
"payload": JSON.stringify(requestBody)
};
try {
var response = UrlFetchApp.fetch(url, options);
var responseData = JSON.parse(response.getContentText());
Logger.log(responseData);
return responseData;
} catch (e) {
Logger.log("An error occurred: " + e.message);
}
return null;
}
function hasLabel(adGroup, labelName) {
var labels = adGroup.labels().get();
while (labels.hasNext()) {
var label = labels.next();
if (label.getName() === labelName) {
Logger.log("Processing Adgroup " + adGroup.getName());
return true;
}
}
return false;
}
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.
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.
Automatize palavras-chave negativas no Google Ads com o Agente de IA para PPC da FlowHunt. Exclua consultas irrelevantes, reduza gastos desnecessários e melhore...
Descubra por que o isolamento de termos de pesquisa é vital para otimizar anúncios PPC. Saiba como direcionar termos de pesquisa de alto desempenho, aumentar o ...
Descubra como a automação da gestão de PPC e estratégias avançadas de otimização de palavras-chave podem dobrar suas taxas de conversão, reduzir gastos com anún...