🚀 Oferta especial: 60% OFF no CrazyStack - Últimas vagas!Garantir vaga →
AI Automation

Tutorial completo com N8n AI Agent Google Ads

Como criar um AI Agent inteligente para automatizar campanhas Google Ads usando N8n, SerpAPI e WordPress com 5 exemplos práticos

Automação Inteligente

Automatize campanhas com inteligência artificial AI Agent para Google Ads

Tutorial completo para criar um AI Agent que automatiza pesquisa de palavras-chave, criação de landing pages e otimização de campanhas Google Ads usando N8n, SerpAPI e WordPress.

5
Exemplos práticos
80%
Redução de tempo
3x
Mais conversões
ai-agent-workflow.js
// AI Agent Google Ads Workflow const workflow = { trigger: 'keyword_research', steps: [ 'scrape_competitors_serpapi', 'analyze_keywords_gpt4', 'create_landing_page_wordpress', 'setup_google_ads_campaign', 'monitor_performance' ], automation: 'full' };

Por que automatizar Google Ads com IA

AI Agents são poderosos, mas precisam de supervisão. Configure alertas para budget, performance e qualidade dos anúncios. Revise os resultados semanalmente e ajuste os parâmetros conforme necessário.

Precisão na segmentação

IA analisa dados de concorrentes em tempo real, identifica oportunidades de palavras-chave e otimiza lances automaticamente.

Redução de custos

Automação elimina desperdício de budget, ajusta lances em tempo real e pausa campanhas com baixa performance.

Escalabilidade inteligente

Cria centenas de campanhas personalizadas, landing pages dinâmicas e testa variações automaticamente.

Vantagem competitiva

Enquanto concorrentes fazem tudo manual, você opera 24/7 com inteligência artificial otimizando resultados.

Importante: Monitoramento Contínuo

AI Agents são poderosos, mas precisam de supervisão. Configure alertas para budget, performance e qualidade dos anúncios. Revise os resultados semanalmente e ajuste os parâmetros conforme necessário.

Budget:Limite diário
CPA:Meta de conversão
Quality:Score mínimo

Arquitetura do AI Agent

Sistema completo que integra N8n, SerpAPI, WordPress e Google Ads para automação inteligente de campanhas.

Stack Tecnológico

N8n- Orquestração de workflows
SerpAPI- Scraping de concorrentes
WordPress API- Criação de landing pages
Google Ads API- Gestão de campanhas
Supabase- Armazenamento de dados
GPT-4- Análise e otimização

5 Exemplos Práticos

Implementações reais com código completo para você colocar em produção hoje mesmo.

1. Configuração N8n Workflow Completa

Setup inicial do workflow principal com triggers e conexões

Estrutura do Workflow

{
  "name": "AI Agent Google Ads",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "webhook-keyword-research",
        "responseMode": "responseNode"
      },
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "position": [240, 300]
    },
    {
      "parameters": {
        "url": "https://serpapi.com/search",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "serpApi",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "engine",
              "value": "google"
            },
            {
              "name": "q",
              "value": "={{$json.keyword}}"
            },
            {
              "name": "location",
              "value": "Brazil"
            },
            {
              "name": "hl",
              "value": "pt"
            },
            {
              "name": "gl",
              "value": "br"
            }
          ]
        }
      },
      "name": "SerpAPI Search",
      "type": "n8n-nodes-base.httpRequest",
      "position": [460, 300]
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "SerpAPI Search",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Configuração de Credenciais

// Configuração SerpAPI
{
  "name": "SerpAPI",
  "type": "serpApi",
  "data": {
    "api_key": "sua_serpapi_key_aqui"
  }
}

// Configuração Google Ads
{
  "name": "Google Ads API",
  "type": "googleAdsApi",
  "data": {
    "client_id": "seu_client_id",
    "client_secret": "seu_client_secret",
    "refresh_token": "seu_refresh_token",
    "developer_token": "seu_developer_token"
  }
}

// Configuração WordPress
{
  "name": "WordPress",
  "type": "wordpressApi",
  "data": {
    "url": "https://seusite.com",
    "username": "admin",
    "password": "sua_application_password"
  }
}
Dica de Implementação

Configure variáveis de ambiente para todas as credenciais. Use o N8n Cloud para evitar problemas de configuração local. Teste cada nó individualmente antes de conectar o workflow completo.

2. Scraping Inteligente com SerpAPI

Análise de concorrentes e extração de dados de SERP

Configuração SerpAPI Node

{
  "parameters": {
    "url": "https://serpapi.com/search",
    "authentication": "predefinedCredentialType",
    "nodeCredentialType": "serpApi",
    "sendQuery": true,
    "queryParameters": {
      "parameters": [
        {
          "name": "engine",
          "value": "google"
        },
        {
          "name": "q", 
          "value": "={{$json.keyword}} site:{{$json.competitor_domain}}"
        },
        {
          "name": "location",
          "value": "Brazil"
        },
        {
          "name": "hl",
          "value": "pt"
        },
        {
          "name": "gl", 
          "value": "br"
        },
        {
          "name": "num",
          "value": "100"
        }
      ]
    }
  },
  "name": "SerpAPI Competitor Analysis",
  "type": "n8n-nodes-base.httpRequest"
}

Processamento dos Dados

// Nó JavaScript para processar resultados SerpAPI
const serpResults = $input.all();
const processedData = [];

for (const result of serpResults) {
  const organicResults = result.json.organic_results || [];
  
  for (const organic of organicResults) {
    processedData.push({
      title: organic.title,
      link: organic.link,
      snippet: organic.snippet,
      position: organic.position,
      domain: new URL(organic.link).hostname,
      keyword: result.json.search_parameters.q,
      location: result.json.search_parameters.location,
      timestamp: new Date().toISOString()
    });
  }
}

// Análise de palavras-chave dos títulos
const keywordAnalysis = processedData.map(item => {
  const titleWords = item.title.toLowerCase().split(' ');
  const snippetWords = item.snippet.toLowerCase().split(' ');
  
  return {
    ...item,
    title_keywords: titleWords.filter(word => word.length > 3),
    snippet_keywords: snippetWords.filter(word => word.length > 3),
    estimated_traffic: Math.floor(Math.random() * 10000) + 100
  };
});

return keywordAnalysis.map(item => ({ json: item }));
Resultado Esperado

Lista estruturada com títulos, snippets, posições e palavras-chave dos concorrentes. Dados prontos para análise de IA e criação de campanhas otimizadas.

3. Criação Automática de Landing Pages WordPress

Geração dinâmica de páginas otimizadas para conversão

Template de Landing Page

// Nó WordPress - Criar Post/Página
{
  "parameters": {
    "resource": "post",
    "operation": "create",
    "title": "={{$json.keyword}} - Solução Completa",
    "content": `
      <div class="landing-page-container">
        <header class="hero-section">
          <h1>{{$json.keyword}} - A Solução que Você Procura</h1>
          <p class="hero-subtitle">
            Descubra como {{$json.keyword.toLowerCase()}} pode transformar 
            seus resultados em apenas 30 dias
          </p>
          <button class="cta-button" onclick="scrollToCTA()">
            Quero Saber Mais
          </button>
        </header>
        
        <section class="benefits-section">
          <h2>Por que Escolher Nossa Solução?</h2>
          <div class="benefits-grid">
            {{#each benefits}}
            <div class="benefit-card">
              <h3>{{title}}</h3>
              <p>{{description}}</p>
            </div>
            {{/each}}
          </div>
        </section>
        
        <section class="social-proof">
          <h2>Mais de 1.000 Clientes Satisfeitos</h2>
          <div class="testimonials">
            {{#each testimonials}}
            <blockquote>
              <p>"{{quote}}"</p>
              <cite>- {{author}}, {{company}}</cite>
            </blockquote>
            {{/each}}
          </div>
        </section>
        
        <section id="cta-section" class="final-cta">
          <h2>Pronto para Começar?</h2>
          <p>Não perca mais tempo. Comece hoje mesmo!</p>
          <form class="lead-form">
            <input type="email" placeholder="Seu melhor e-mail" required>
            <input type="tel" placeholder="Seu WhatsApp" required>
            <button type="submit">Quero Acesso Gratuito</button>
          </form>
        </section>
      </div>
      
      <style>
        .landing-page-container { max-width: 1200px; margin: 0 auto; }
        .hero-section { text-align: center; padding: 80px 20px; }
        .hero-section h1 { font-size: 3rem; margin-bottom: 20px; }
        .cta-button { 
          background: #ff6b35; 
          color: white; 
          padding: 15px 30px; 
          border: none; 
          border-radius: 5px; 
          font-size: 1.2rem; 
          cursor: pointer; 
        }
        .benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
        .benefit-card { padding: 30px; background: #f8f9fa; border-radius: 10px; }
        .lead-form { display: flex; flex-direction: column; max-width: 400px; margin: 0 auto; }
        .lead-form input, .lead-form button { margin: 10px 0; padding: 15px; border-radius: 5px; }
      </style>
      
      <script>
        function scrollToCTA() {
          document.getElementById('cta-section').scrollIntoView({ behavior: 'smooth' });
        }
        
        document.querySelector('.lead-form').addEventListener('submit', function(e) {
          e.preventDefault();
          // Integração com CRM/Email Marketing
          const formData = new FormData(this);
          fetch('/api/leads', {
            method: 'POST',
            body: formData
          }).then(response => {
            if(response.ok) {
              alert('Obrigado! Em breve entraremos em contato.');
            }
          });
        });
      </script>
    `,
    "status": "publish",
    "slug": "={{$json.keyword.toLowerCase().replace(/\s+/g, '-')}}",
    "meta": {
      "description": "={{$json.meta_description}}",
      "keywords": "={{$json.keywords.join(', ')}}"
    }
  }
}

Dados Dinâmicos com GPT-4

// Nó OpenAI GPT-4 para gerar conteúdo
{
  "parameters": {
    "model": "gpt-4",
    "messages": [
      {
        "role": "system",
        "content": "Você é um especialista em copywriting para landing pages. Crie conteúdo persuasivo e otimizado para conversão."
      },
      {
        "role": "user", 
        "content": `Crie uma landing page para a palavra-chave "{{$json.keyword}}".
        
        Inclua:
        1. 5 benefícios principais
        2. 3 depoimentos realistas
        3. Meta description otimizada
        4. Lista de palavras-chave relacionadas
        5. Call-to-action persuasivo
        
        Formato JSON:
        {
          "benefits": [{"title": "", "description": ""}],
          "testimonials": [{"quote": "", "author": "", "company": ""}],
          "meta_description": "",
          "keywords": [],
          "cta_text": ""
        }`
      }
    ],
    "temperature": 0.7,
    "max_tokens": 2000
  }
}
Automação Completa

Landing page criada automaticamente com conteúdo otimizado, design responsivo e formulário de captura integrado. Pronta para receber tráfego pago.

4. Criação Automática de Campanhas Google Ads

Setup completo de campanhas com budget e lances otimizados

Criação de Campanha

// Nó HTTP Request - Google Ads API
{
  "parameters": {
    "url": "https://googleads.googleapis.com/v14/customers/{{$json.customer_id}}/campaigns:mutate",
    "authentication": "predefinedCredentialType",
    "nodeCredentialType": "googleAdsApi",
    "sendHeaders": true,
    "headerParameters": {
      "parameters": [
        {
          "name": "developer-token",
          "value": "={{$credentials.googleAdsApi.developer_token}}"
        }
      ]
    },
    "sendBody": true,
    "bodyParameters": {
      "parameters": [
        {
          "name": "operations",
          "value": [
            {
              "create": {
                "name": "AI Agent - {{$json.keyword}}",
                "status": "ENABLED",
                "advertisingChannelType": "SEARCH",
                "biddingStrategyType": "TARGET_CPA",
                "targetCpa": {
                  "targetCpaMicros": "{{Math.floor($json.target_cpa * 1000000)}}"
                },
                "campaignBudget": {
                  "amountMicros": "{{Math.floor($json.daily_budget * 1000000)}}",
                  "deliveryMethod": "STANDARD"
                },
                "networkSettings": {
                  "targetGoogleSearch": true,
                  "targetSearchNetwork": true,
                  "targetContentNetwork": false,
                  "targetPartnerSearchNetwork": false
                },
                "geoTargetTypeSetting": {
                  "positiveGeoTargetType": "PRESENCE_OR_INTEREST",
                  "negativeGeoTargetType": "PRESENCE"
                }
              }
            }
          ]
        }
      ]
    }
  }
}

Criação de Grupos de Anúncios

// Criação automática de Ad Groups
{
  "parameters": {
    "url": "https://googleads.googleapis.com/v14/customers/{{$json.customer_id}}/adGroups:mutate",
    "sendBody": true,
    "bodyParameters": {
      "parameters": [
        {
          "name": "operations",
          "value": [
            {
              "create": {
                "name": "{{$json.keyword}} - Exact Match",
                "status": "ENABLED",
                "type": "SEARCH_STANDARD",
                "campaign": "customers/{{$json.customer_id}}/campaigns/{{$json.campaign_id}}",
                "cpcBidMicros": "{{Math.floor($json.max_cpc * 1000000)}}"
              }
            }
          ]
        }
      ]
    }
  }
}

// Criação de palavras-chave
{
  "parameters": {
    "url": "https://googleads.googleapis.com/v14/customers/{{$json.customer_id}}/adGroupCriteria:mutate",
    "sendBody": true,
    "bodyParameters": {
      "parameters": [
        {
          "name": "operations",
          "value": "={{$json.keywords.map(keyword => ({
            create: {
              adGroup: `customers/${$json.customer_id}/adGroups/${$json.ad_group_id}`,
              status: 'ENABLED',
              keyword: {
                text: keyword.text,
                matchType: keyword.match_type
              },
              finalUrls: [`https://seusite.com/${keyword.text.toLowerCase().replace(/\s+/g, '-')}`]
            }
          }))}"
        }
      ]
    }
  }
}

Criação de Anúncios Responsivos

// Anúncios responsivos otimizados
{
  "parameters": {
    "url": "https://googleads.googleapis.com/v14/customers/{{$json.customer_id}}/adGroupAds:mutate",
    "sendBody": true,
    "bodyParameters": {
      "parameters": [
        {
          "name": "operations",
          "value": [
            {
              "create": {
                "adGroup": "customers/{{$json.customer_id}}/adGroups/{{$json.ad_group_id}}",
                "status": "ENABLED",
                "ad": {
                  "responsiveSearchAd": {
                    "headlines": [
                      {"text": "{{$json.keyword}} - Solução Completa"},
                      {"text": "Melhor {{$json.keyword}} do Brasil"},
                      {"text": "{{$json.keyword}} com Garantia"},
                      {"text": "Especialistas em {{$json.keyword}}"}
                    ],
                    "descriptions": [
                      {"text": "Descubra a melhor solução em {{$json.keyword}}. Resultados garantidos!"},
                      {"text": "{{$json.keyword}} profissional. Atendimento especializado 24/7."}
                    ],
                    "path1": "{{$json.keyword.toLowerCase().replace(/\s+/g, '')}}",
                    "path2": "solucao"
                  },
                  "finalUrls": ["https://seusite.com/{{$json.landing_page_slug}}"]
                }
              }
            }
          ]
        }
      ]
    }
  }
}
Otimização Automática

Campanhas criadas com budget inteligente, lances otimizados por IA e anúncios responsivos. Monitoramento automático de performance e ajustes em tempo real.

5. Keyword Research Automático com Filtros Inteligentes

Descoberta e análise de palavras-chave com IA

Análise de Keywords com GPT-4

// Nó OpenAI para análise de keywords
{
  "parameters": {
    "model": "gpt-4",
    "messages": [
      {
        "role": "system",
        "content": `Você é um especialista em SEO e Google Ads. 
        Analise as palavras-chave fornecidas e classifique por:
        1. Intenção de busca (informacional, navegacional, transacional)
        2. Dificuldade de ranqueamento (1-10)
        3. Potencial de conversão (1-10)
        4. Volume de busca estimado
        5. CPC estimado
        6. Palavras-chave relacionadas`
      },
      {
        "role": "user",
        "content": `Analise estas palavras-chave extraídas dos concorrentes:
        {{$json.competitor_keywords.join(', ')}}
        
        Palavra-chave principal: {{$json.main_keyword}}
        
        Retorne JSON estruturado:
        {
          "keywords_analysis": [
            {
              "keyword": "",
              "search_intent": "",
              "difficulty": 0,
              "conversion_potential": 0,
              "estimated_volume": 0,
              "estimated_cpc": 0,
              "match_types": ["exact", "phrase", "broad"],
              "negative_keywords": [],
              "related_keywords": []
            }
          ],
          "campaign_structure": {
            "ad_groups": [
              {
                "name": "",
                "keywords": [],
                "landing_page_focus": ""
              }
            ]
          }
        }`
      }
    ],
    "temperature": 0.3,
    "max_tokens": 3000
  }
}

Filtros Inteligentes

// Nó JavaScript para filtrar keywords
const keywordAnalysis = $input.all()[0].json.keywords_analysis;
const filters = {
  min_conversion_potential: 6,
  max_difficulty: 7,
  min_volume: 100,
  max_cpc: 15.00,
  exclude_brand_terms: true,
  focus_intent: ['transacional', 'comercial']
};

const filteredKeywords = keywordAnalysis.filter(keyword => {
  // Filtro por potencial de conversão
  if (keyword.conversion_potential < filters.min_conversion_potential) {
    return false;
  }
  
  // Filtro por dificuldade
  if (keyword.difficulty > filters.max_difficulty) {
    return false;
  }
  
  // Filtro por volume
  if (keyword.estimated_volume < filters.min_volume) {
    return false;
  }
  
  // Filtro por CPC
  if (keyword.estimated_cpc > filters.max_cpc) {
    return false;
  }
  
  // Filtro por intenção
  if (!filters.focus_intent.includes(keyword.search_intent.toLowerCase())) {
    return false;
  }
  
  // Excluir termos de marca
  if (filters.exclude_brand_terms) {
    const brandTerms = ['google', 'facebook', 'amazon', 'mercadolivre'];
    const hasBrand = brandTerms.some(brand => 
      keyword.keyword.toLowerCase().includes(brand)
    );
    if (hasBrand) return false;
  }
  
  return true;
});

// Priorização por score
const prioritizedKeywords = filteredKeywords.map(keyword => ({
  ...keyword,
  priority_score: (
    keyword.conversion_potential * 0.4 +
    (10 - keyword.difficulty) * 0.3 +
    Math.min(keyword.estimated_volume / 1000, 10) * 0.2 +
    Math.min(20 - keyword.estimated_cpc, 10) * 0.1
  )
})).sort((a, b) => b.priority_score - a.priority_score);

return prioritizedKeywords.slice(0, 50).map(keyword => ({ json: keyword }));

Integração com Supabase

// Salvar dados no Supabase
{
  "parameters": {
    "url": "https://seu-projeto.supabase.co/rest/v1/keyword_research",
    "authentication": "predefinedCredentialType", 
    "nodeCredentialType": "supabaseApi",
    "sendHeaders": true,
    "headerParameters": {
      "parameters": [
        {
          "name": "apikey",
          "value": "={{$credentials.supabaseApi.service_key}}"
        },
        {
          "name": "Authorization",
          "value": "Bearer {{$credentials.supabaseApi.service_key}}"
        },
        {
          "name": "Content-Type",
          "value": "application/json"
        }
      ]
    },
    "sendBody": true,
    "bodyParameters": {
      "parameters": [
        {
          "name": "project_id",
          "value": "={{$json.project_id}}"
        },
        {
          "name": "main_keyword", 
          "value": "={{$json.main_keyword}}"
        },
        {
          "name": "keywords_data",
          "value": "={{JSON.stringify($json.prioritized_keywords)}}"
        },
        {
          "name": "analysis_date",
          "value": "={{new Date().toISOString()}}"
        },
        {
          "name": "total_keywords",
          "value": "={{$json.prioritized_keywords.length}}"
        },
        {
          "name": "avg_difficulty",
          "value": "={{$json.prioritized_keywords.reduce((sum, k) => sum + k.difficulty, 0) / $json.prioritized_keywords.length}}"
        },
        {
          "name": "estimated_budget",
          "value": "={{$json.prioritized_keywords.reduce((sum, k) => sum + (k.estimated_cpc * k.estimated_volume * 0.02), 0)}}"
        }
      ]
    }
  }
}
Dados Estruturados

Keywords analisadas, filtradas e priorizadas automaticamente. Dados salvos no Supabase para análise histórica e otimização contínua das campanhas.

Próximos Passos

Como implementar e escalar seu AI Agent Google Ads

Implementação Básica

  • 1.Configure as credenciais de todas as APIs
  • 2.Importe o workflow N8n completo
  • 3.Teste cada nó individualmente
  • 4.Configure o banco Supabase
  • 5.Execute o primeiro teste completo

Escalabilidade Avançada

  • 1.Implemente monitoramento de performance
  • 2.Configure alertas automáticos
  • 3.Adicione A/B testing de anúncios
  • 4.Integre com CRM e email marketing
  • 5.Escale para múltiplos nichos

Importante: Monitoramento Contínuo

AI Agents são poderosos, mas precisam de supervisão. Configure alertas para budget, performance e qualidade dos anúncios. Revise os resultados semanalmente e ajuste os parâmetros conforme necessário.

Budget:Limite diário
CPA:Meta de conversão
Quality:Score mínimo

Artigos Relacionados

N8n Workflows para Marketing

7 workflows essenciais para automação de marketing digital

Ler artigo →

SerpAPI Scraping Avançado

5 técnicas avançadas de scraping com SerpAPI

Ler artigo →

WordPress API Landing Pages

5 estratégias de landing pages dinâmicas

Ler artigo →

Domine automação com IA

Aprenda a criar sistemas inteligentes que trabalham para você.