Modulo 06 · Fase VENDI
Google Ads con Claude
Una campagna Search live su ricerche come "migliori sostituti pasto", con conversioni tracciate e uno script che la sorveglia.
Risultato: campagna Search live6 lezioni
Mappa del modulo
Sei lezioni. Una campagna che gira.
- Search intentperché Google, i 3 livelli di intento
- Struttura campagna Search1 campagna, 3 gruppi, RSA
- ConversioniGoogle Tag + evento lead + Enhanced conversions
- Keyword e annunci con Claude30 kw, 15 titoli, 4 descrizioni
- Kw negative + scriptlista base e automazione in JavaScript
- Lettura e ottimizzazioneCTR, CPC, CPA, regole settimanali
M06.L01 · Lezione 1 di 6
Search intent
Obiettivo: distinguere una ricerca che vuole comprare da una che vuole capire.
Tre livelli di intento
Capire, confrontare, comprare
- Informativo: "come usare oli essenziali"vuole capire · landing con guida + form · CPC basso
- Comparativo: "migliori sostituti pasto"sta scegliendo · landing con confronto onesto + prova · CPC medio
- Transazionale: "sostituto pasto proteico prezzo"vuole comprare · landing con checkout · CPC alto, ma converte
Volumi di ricerca · Italia
La domanda esiste già
0
ricerche/mese "migliori sostituti pasto"
0
ricerche/mese "come usare oli essenziali"
0
CPC medio "olio essenziale lavanda come si usa"
volumi e CPC da Keyword Planner · verifica i tuoi nel Validation Report
M06.L02 · Lezione 2 di 6
Struttura campagna Search
Obiettivo: lo schema della campagna. 1 campagna, 3 gruppi per intento, un RSA per gruppo.
Struttura
Campagna → gruppi → annunci
CampagnaSostituti pasto – ITSearch · solo Rete di ricerca · Italia · 5-10 €/giorno
Gruppo 1Informativo"come usare", "a cosa serve"
Gruppo 2Comparativo"migliori", "quale scegliere"
Gruppo 3Transazionale"proteico prezzo", "comprare"
RSA15 titoli · 4 descrizionilanding: guida + form
RSA15 titoli · 4 descrizionilanding: confronto + form
RSA15 titoli · 4 descrizionilanding: prodotto + checkout
Impostazioni che contano
Corrispondenze e budget
- Corrispondenza a frase: "migliori sostituti pasto"vale anche per "quali sono i migliori sostituti pasto 2026"
- Corrispondenza esatta: [sostituto pasto proteico]solo quella ricerca o varianti strette · CPC più controllato
- Niente corrispondenza generica all'iniziotroppo larga: brucia budget su ricerche fuori tema
- Budget 5-10 €/giorno per 14 giorniclick a sufficienza per leggere i numeri · Massimizza i click, CPC max 1 €
- Località: Italia · Lingua: italiano · Rete Display: OFF
M06.L03 · Lezione 3 di 6
Conversioni
Obiettivo: Google Ads conta ogni contatto della landing e sa da quale ricerca arriva.
Prompt · Claude Code
Il prompt che inserisce la conversione
In index.html c'è già il Google Tag (gtag.js) con ID [G-XXXXXXX], caricato dopo il consenso.
Aggiungi il tracciamento delle conversioni Google Ads senza duplicare il tag:
1. Nel config di gtag aggiungi anche l'ID Google Ads: gtag('config', 'AW-[CONVERSION_ID]').
2. All'invio del form, SOLO dopo la risposta ok:true di POST /api/lead:
gtag('event', 'conversion', { send_to: 'AW-[CONVERSION_ID]/[CONVERSION_LABEL]', value: 1, currency: 'EUR' });
Mantieni anche l'evento generate_lead di GA4 già presente.
3. Enhanced conversions: prima dell'evento conversion chiama
gtag('set', 'user_data', { email: [email normalizzata in minuscolo dal campo del form] }).
Nessun altro dato personale. Solo se il consenso è stato dato.
4. Se il form reindirizza a /grazie.html, sposta l'evento conversion in quella pagina
e passa l'email via sessionStorage (mai in URL).
5. Metti CONVERSION_ID e CONVERSION_LABEL nelle costanti in cima allo script.
Alla fine: mostrami il diff, poi carica su GitHub con il messaggio "conversione google ads".
Dimmi come verifico in Tag Assistant che l'evento conversion parta una sola volta.
Checklist · verifica
La conversione funziona se…
- Obiettivi → Conversioni: esiste l'azione "lead" (conteggio: una)
- Tag Assistant vede AW-[ID] e, dopo il form di test, un evento conversionuno solo, non due
- Lo stato passa da "Inattiva" a "Registra conversioni" entro 24-48 h
- Enhanced conversions risulta "Attivo"
- Prima del consenso: nessuna chiamata a googleads.g.doubleclick.netDevTools → Network
M06.L04 · Lezione 4 di 6
Keyword e annunci con Claude
Obiettivo: 30 keyword in 3 gruppi e 3 annunci RSA completi, conformi alle policy Google.
Prompt · copia in Claude
Il prompt per keyword e RSA
Sei uno specialista Google Ads Search per il settore benessere in Italia.
Contesto: [nome azienda] · prodotto [sostituto pasto proteico] · landing [URL]
· cliente [descrizione] · dati kw del Validation Report nel progetto.
Compito 1 — Keyword: 30 keyword in italiano divise in 3 gruppi per intento
(10 informativo, 10 comparativo, 10 transazionale). Per ognuna: corrispondenza
consigliata (a frase con "virgolette" o esatta con [parentesi]) e intento in una parola.
Compito 2 — Un annuncio RSA per gruppo:
- 15 titoli, ognuno max 30 caratteri (conta i caratteri e scrivili accanto)
- 4 descrizioni, ognuna max 90 caratteri (conta i caratteri)
- 2 titoli con la keyword principale, 2 con la CTA, 1 con il nome [nome azienda] se permesso
- percorso URL: 2 parole max 15 caratteri l'uno
Compliance Google (policy salute e prodotti alimentari): nessun claim medico, mai le parole
"dimagrisci", "cura", "guarisci", "perdi X kg", nessuna immagine prima/dopo, nessun riferimento
a condizioni di salute dell'utente ("se hai il diabete…"), mai promesse di guadagno.
Sostituti pasto: "sostituisce un pasto nel contesto di una dieta ipocalorica".
Formato: tabella keyword (Gruppo · Keyword · Corrispondenza · Intento) e 3 blocchi RSA
con conteggio caratteri per riga. Segnala con ⚠ ogni riga che supera il limite.
Demo a schermo
Costruiamo la campagna rec
genera con Claudecrea la campagnaincolla kw e RSApubblica
M06.L05 · Lezione 5 di 6
Kw negative e script
Obiettivo: la campagna non spende su ricerche inutili e uno script la controlla ogni giorno.
Lista negativa base
Dove non vuoi comparire
- gratis, gratuito, freecerca di non pagare
- lavoro, lavorare, offerte di lavorocerca un impiego
- wikipedia, significato, definizionevuole la definizione
- truffa, recensioni negative, controindicazioninon è il tuo cliente, adesso
- ricetta, fai da te, fatto in casavuole farselo da solo
- [nome competitor 1], [nome competitor 2]solo se la tua azienda vieta il confronto
Prompt · copia in Claude
Il prompt che scrive lo script
Sei un esperto di Google Ads Scripts (JavaScript, API AdsApp). Scrivi uno script per l'account Google Ads di [nome azienda], campagna "[Sostituti pasto – IT]". Cosa deve fare, ogni giorno: 1. Scorrere tutte le keyword attive della campagna. 2. Per ogni keyword con almeno [100] click negli ultimi 30 giorni, 0 conversioni e CPC medio superiore a [1,50] €: metterla in pausa. 3. Scrivere nel log ogni keyword messa in pausa con testo, click, CPC medio. 4. Inviare un'email di riepilogo a [tua email] solo se ha messo in pausa almeno 1 keyword. Vincoli: usare solo l'API AdsApp (keywords().withCondition, getStatsFor, pause, MailApp); soglie in costanti in cima al file; nessuna modifica alle offerte; nessuna cancellazione, solo pausa (reversibile). Commenti in italiano, brevi. Formato: il file script.js completo e 3 righe su come installarlo in Strumenti → Script, autorizzarlo e programmarlo ogni giorno alle 7:00.
Codice · Google Ads Script
Lo script che sorveglia la campagna
// Pausa le keyword che costano e non convertono. Solo pausa: reversibile.
const CAMPAGNA = '[Sostituti pasto – IT]';
const MIN_CLICK = 100; // click minimi negli ultimi 30 giorni
const SOGLIA_CPC = 1.50; // € · CPC medio oltre cui intervenire
const EMAIL = '[tua email]';
function main() {
const kws = AdsApp.keywords()
.withCondition('CampaignName = "' + CAMPAGNA + '"')
.withCondition('Status = ENABLED')
.withCondition('Clicks >= ' + MIN_CLICK)
.withCondition('Conversions = 0')
.forDateRange('LAST_30_DAYS')
.get();
const pausate = [];
while (kws.hasNext()) {
const kw = kws.next();
const s = kw.getStatsFor('LAST_30_DAYS');
if (s.getAverageCpc() > SOGLIA_CPC) {
kw.pause();
pausate.push(kw.getText() + ' · ' + s.getClicks() + ' click · CPC ' + s.getAverageCpc().toFixed(2) + ' €');
Logger.log('Pausata: ' + kw.getText());
}
}
if (pausate.length) MailApp.sendEmail(EMAIL, 'Google Ads · ' + pausate.length + ' keyword in pausa', pausate.join('\n'));
}
M06.L06 · Lezione 6 di 6
Lettura e ottimizzazione
Obiettivo: leggere 4 numeri e prendere 5 decisioni, ogni lunedì, in 20 minuti.
Ogni lunedì · 20 minuti
Quattro numeri, cinque regole
- CTR sotto 3 % su un gruppo → riscrivi i titoli con Claudel'annuncio non risponde alla ricerca
- CPC sopra 1,50 € su una kw → abbassa il CPC max o passa a esattao lascia fare allo script
- Tasso di conversione sotto 5 % → problema di landing, non di annunciorileggi l'apertura e il form del Modulo 3
- CPA (costo per contatto) sopra il tuo limite → sposta budget sul gruppo con CPA più bassoil limite è nel Validation Report
- Termini di ricerca → 5 minuti per le nuove negativeincolla la lista in Claude: "quali sono fuori tema?"
Economico vs completo
Due modi di gestire. Stessa campagna.
| Funzione | Economico | Completo |
|---|---|---|
| AI | Claude Pro 20 €/mesekw, RSA, negative, script in chat | Claude Max (stessa app) da 100 €/mese |
| Gestione campagna | Editor manuale in Google Ads 0 €tu incolli, tu leggi ogni lunedì | Google Ads API / script via Claude 0 €legge i report e propone le modifiche |
| Automazione | 1 Google Ads Script (pausa kw) 0 € | Script multipli + report automatico in Notion via Claude Code |
| Ricerca kw | Keyword Planner + Google Trends 0 € | Ahrefs Lite 129 $/mese (connettore) o Similarweb Starter |
| Budget ads | Google Ads da 5 €/giorno (≈ 150 €/mese) | Google Ads da 10 €/giorno (≈ 300 €/mese) |
| Totale indicativo | ≈ 170 €/mese (strumenti + budget) | ≈ 530 €/mese (strumenti + budget) |
Attenzione compliance
Non dire
- "Dimagrisci 5 kg in un mese"
- "Olio essenziale che cura l'ansia"
- "Diventa distributore e cambia vita"
Di' invece
- "Sostituisce un pasto nel contesto di una dieta ipocalorica"
- "Olio di lavanda per la tua routine serale"
- "Scopri il prodotto. Distributore indipendente [nome azienda]"
Fine modulo
Cosa hai costruito
- Campagna Search live: 3 gruppi per intento, 3 RSA
- 30 keyword a frase/esatta + lista negativa base
- Conversione "lead" attiva con Enhanced conversions
- Script che mette in pausa le kw fuori soglia
- Routine del lunedì: 4 numeri, 5 regole, 20 minuti
- Annunci verificati sulla policy salute di Google
M06
completato