Nei test blind comparativi che conduciamo in continuo sugli account osservati nei benchmark pubblici nel 2026 — dati Google Ads aggregati — applicati ai LLM principali (GPT-5, Claude Opus 4.7, Gemini 2.5 Pro), un prompt in prosa naive del tipo «scrivi 15 headline RSA per CRM B2B» produce dal 40 al 55% di output direttamente utilizzabile — il resto da correggere o scartare per ridondanza, fuori tema, superamento caratteri, o allucinazioni su feature inesistenti. A seconda dei verticali testati, lo scarto si situa tra il 28% (verticali tecnici B2B dove l'IA allucina di più) e il 67% (verticali B2C grande pubblico dove il linguaggio è più standardizzato). Lo stesso caso con prompt JSON strutturato con vincoli character_max, theme_distribution, excluded_terms, format_output sale al 75-88% di output utilizzabile. Il guadagno non sta nella qualità del modello — sta nella precisione dei vincoli. Un LLM 2026 segue i vincoli JSON drasticamente meglio dei vincoli in prosa. ChatGPT non è magico su Google Ads; strutturato, diventa produttivo.
Questo articolo fornisce 30 prompt JSON raggruppati per caso d'uso: 6 RSA generation, 5 negativi discovery, 4 audit narrativo, 5 reporting executive, 5 ottimizzazione tattica, più 5 bonus in appendice. Tutti testati su account reali e calibrati sui 3 LLM principali 2026. Per la redazione RSA pura, vedi la nostra metodologia di redazione RSA. Per l'audit completo di un account, la nostra checklist audit Google Ads. E per il reporting cliente, la nostra guida reporting 10 KPI. Il nostro calcolatore CTR gratuito confronta il vostro tasso di clic con le mediane Italia 2026 per verticale.
Perché prompt JSON strutturati (vs prosa)
Un prompt JSON strutturato è un prompt formattato in JSON con chiavi esplicite per il ruolo del modello, il contesto business, i vincoli (character count, esclusioni, formato output), gli esempi few-shot e le istruzioni di validazione. Rispetto a un prompt in prosa in linguaggio naturale, forza il modello a seguire regole verificabili — il che è molto più robusto sui LLM 2026, ottimizzati per seguire strutture formalizzate tramite il loro fine-tuning RLHF.
Differenze osservate in blind test su 200 prompt accoppiati (RSA, negativi, audit):
I 6 componenti critici di un prompt JSON Google Ads:
role— chi è il modello («Sei un Google Ads specialist senior»). Inquadra il tono e la profondità.context— dati business dell'account (verticale, ICP, budget, obiettivi). Breve ma preciso, niente prosa vaga.task— la missione specifica con verbo d'azione.constraints— regole rigide (character count, formato, esclusioni). È qui che avviene la magia.examples(opzionale) — da 2 a 4 esempi few-shot dello stile atteso. Aumenta la qualità del 15-25%.output_format— JSON, markdown, CSV. Imporre il formato facilita il parsing automatizzato.
I LLM 2026 allucinano con sicurezza sui benchmark Google Ads. Un prompt «qual è il CTR medio Search in Italia 2026» produce un numero plausibile ma senza fonte verificabile — tipicamente 2,8% o 3,1%. Regola ferrea: per qualsiasi domanda di benchmark, o iniettare esplicitamente i dati reali dell'account nel prompt (CSV o JSON), o citare una fonte ufficiale esterna (Search Engine Land, Wordstream, ThinkWithGoogle) che avete verificato. Aggiungere "no_external_benchmarks": true nei constraints riduce le allucinazioni statistiche dell'80%+ nei nostri test.
Riferimento ufficiale per approfondire: la documentazione prompt engineering OpenAI su platform.openai.com, la guida Anthropic su docs.anthropic.com e la documentazione Google AI Studio su ai.google.dev. Tutti e tre convergono sul valore dei prompt strutturati — JSON o XML — vs prosa libera.
Lo scarto di output utilizzabile (40-55% vs 75-88%) non dipende da una differenza di modello o di capacità bruta del LLM. È lo stesso GPT-5, lo stesso Claude Opus 4.7, lo stesso Gemini 2.5 Pro che producono i due risultati. La variabile esplicativa è la struttura formale dei vincoli. Un LLM 2026 è stato fine-tunato tramite RLHF su milioni di esempi di strutture formali (JSON, XML, function calling, tool use). Quando gli date una lista di vincoli in prosa libera, li interpreta con una varianza importante. Quando gli date gli stessi vincoli in JSON, li tratta come uno schema da validare — e il tasso di rispetto sale meccanicamente. È una proprietà emergente del training post-2024, non una magia del prompt.
RSA generation: 6 prompt per formato
La generazione di RSA è il caso d'uso N.1 dove l'IA fa risparmiare tempo misurabile. La chiave: non chiedere «scrivi 15 headline», ma imporre una matrice tematica rigorosa (cf. metodo RSA) con character count, distribuzione tematica ed esclusioni di termini.
Il formato Responsive Search Ad combina fino a 15 titoli e 4 descrizioni che Google permuta dinamicamente alla visualizzazione. La macchina di apprendimento Google Ads ottimizza le combinazioni titolo/descrizione in base all'utente, alla query e al contesto d'asta — ma può farlo correttamente solo se riceve sufficiente varietà tematica. Sui dati Google Ads aggregati 2025-2026, le RSA con meno di 10 titoli o con una diversità tematica scarsa (3 temi o meno su 7 attesi) si fermano con Ad Strength ad «Average» e il loro CTR sotto la mediana verticale. I sei prompt qui sotto mirano ad automatizzare la produzione preservando la diversità tematica — chiave del Quality Score su Search.
Prompt 1 — RSA Search standard 15 headline + 4 descrizioni
{
"role": "Tu es un copywriter Google Ads senior, francophone, expert RSA.",
"context": {
"vertical": "SaaS B2B CRM",
"icp": "PME 20-200 salariés, secteur services",
"differentiateurs": ["RGPD compliant", "Sans engagement", "Made in France"],
"competitors": ["HubSpot", "Pipedrive", "Salesforce Essentials"],
"ton": "professionnel direct, factuel, evidence-based"
},
"task": "Genere 15 headlines RSA et 4 descriptions pour ad group 'CRM B2B PME'.",
"constraints": {
"headline_max_chars": 30,
"description_max_chars": 90,
"theme_distribution": {
"keyword_principal": 3,
"benefices_chiffres": 3,
"proof_points": 2,
"cta_direct": 2,
"offre_urgence": 2,
"differenciation": 2,
"brand_seul": 1
},
"no_repetition_keyword_exact": true,
"no_external_benchmarks": true,
"include_keyword_in_3_headlines": "CRM B2B"
},
"examples_few_shot": [
{"headline": "CRM B2B PME · Démo 15 min", "theme": "keyword_cta"},
{"headline": "Gagnez 8h/semaine en 2026", "theme": "benefice_chiffre"}
],
"output_format": "JSON array avec keys: headline, theme, char_count"
}
Prompt 2 — RSA Display asset semplificati
{
"role": "Copywriter Display Google Ads.",
"task": "Genere 8 headlines (30 char max) et 4 descriptions (90 char max) pour campagne Display retargeting cart abandonners.",
"context": {
"vertical": "E-commerce mode femme",
"audience": "Cart abandonners 7 derniers jours",
"incentive": "-15% code WELCOME15",
"deadline": "48h"
},
"constraints": {
"tone": "urgence sans pression abusive",
"headline_themes": ["incentive", "deadline", "produit_oublie", "social_proof"],
"no_caps_lock": true,
"no_emojis": true
},
"output_format": "JSON object avec arrays headlines et descriptions"
}
Prompt 3 — RSA PMax asset group completo
{
"role": "PMax asset group designer.",
"task": "Genere asset group complet pour PMax campagne 'Sneakers Premium Hommes'.",
"constraints": {
"headlines_short": {"count": 5, "max_chars": 30},
"headlines_long": {"count": 5, "max_chars": 90},
"descriptions": {"count": 5, "max_chars": 90},
"callouts": {"count": 4, "max_chars": 25},
"structured_snippets": {"count": 3, "header": "brands", "values_max": 4},
"image_brief": "5 prompts pour générer images via DALL-E ou Midjourney : produit lifestyle, gros plan détail, vidéo 6s loop, square 1:1, 9:16 vertical"
},
"context": {
"vertical": "E-commerce sneakers premium",
"price_range": "180-450€",
"audience": "Hommes 25-45 urbains, premium-conscious"
},
"output_format": "JSON object structuré par asset type"
}
Prompt 4 — RSA brand defense (competitor che bidda sul vostro nome)
{
"role": "Brand defense PPC strategist.",
"task": "Genere 15 headlines RSA pour campagne Brand Defense — un concurrent bidde sur notre nom de marque.",
"context": {
"brand_name": "AcmeCRM",
"competitor_name": "RivalCRM",
"differentiateurs_vs_competitor": ["10 ans plus ancien", "Note 4.8/5", "Support FR 7j/7"]
},
"constraints": {
"headline_max_chars": 30,
"include_brand_in_5_headlines_minimum": true,
"tone": "confiant sans agressif (pas de bashing direct)",
"implicit_comparison": true,
"no_competitor_name_mention": true
},
"output_format": "JSON array avec headline, theme, brand_present"
}
Prompt 5 — RSA declinazione stagionale
{
"role": "Seasonal campaign copywriter.",
"task": "Decline RSA existante en version Black Friday.",
"input_existing_rsa": "[Coller ici les 15 headlines actuelles]",
"constraints": {
"preserve_brand_voice": true,
"preserve_3_brand_headlines": true,
"remplacer_offre_urgence_par": "Black Friday -40% jusqu'au 30 nov",
"remplacer_proof_par": "Best-sellers de l'année 2026",
"ajouter_compteur_urgence": "Plus que X jours"
},
"output_format": "JSON avec original + nouvelle version side-by-side"
}
Prompt 6 — RSA multi-lingua coerenza brand voice
{
"role": "Multilingual copywriter EN/FR/ES/DE.",
"task": "Adapte la RSA suivante en 4 langues en preservant la matrice thématique et le ton brand.",
"input_rsa_fr": "[Coller ici les 15 headlines FR + 4 desc]",
"constraints": {
"no_literal_translation": true,
"preserve_theme_distribution": true,
"preserve_proof_points_chiffres": true,
"adapt_idiomes_local": true,
"respect_char_count_per_language": {
"FR": 30, "EN": 30, "ES": 30, "DE": 30
},
"warn_if_translation_doesnt_fit_char_count": true
},
"output_format": "JSON object avec key par locale"
}
Per questi 6 prompt, il risparmio di tempo osservato secondo i benchmark pubblici che accompagniamo: produzione iniziale 45-60 min vs 2-3h in umano puro, con poi 15-20 min di editing umano per calibrare messaggio-mercato. ROI produttività confermato su ad group standardizzati (e-commerce mass market, lead gen volume); beneficio marginale su ad group strategici (brand premium, B2B nicchia).
Un punto di attenzione operativo: la brand voice non si insegna a un LLM con un singolo prompt. Per raggiungere una coerenza duratura su un volume di RSA (tipicamente 50-200 al mese su un account mid-market), bisogna o costituire una libreria di 8-12 esempi few-shot rappresentativi e iniettarli sistematicamente nel blocco examples_few_shot, o usare il sistema Projects di ChatGPT (o Claude Projects) per memorizzare un brief brand voice condiviso tra tutti i prompt. Sugli account osservati nei benchmark Google Ads pubblici, il secondo approccio riduce la varianza di tono tra RSA dell'ordine del 60-70% rispetto a prompt isolati. Implica però una disciplina di governance: l'aggiornamento del brief brand voice deve essere tracciato e versionato allo stesso modo del codice.
Negativi discovery: 5 prompt per fonte
Il discovery di negativi tramite IA è un caso d'uso ad alta leva — un account mid-market ha tipicamente da 200 a 800 parole chiave negative da scoprire nascoste nel suo search query report. Farlo a mano = 4-8 ore. Con un prompt JSON ben costruito + clustering, 30-45 min. Per il meccanismo discovery + clustering completo, vedi il nostro articolo negativi IA discovery + clustering.
La disciplina «negativi» è uno degli indicatori di maturità di un account Google Ads. A seconda dei verticali, lo scarto di CPA tra un account con una lista di negativi condivisa aggiornata e un account senza negativi sistematici si situa tra il 15 e il 28% — per lo stesso budget, lo stesso Smart Bidding, le stesse RSA. La ragione è meccanica: senza filtro negativo, il broad match spinge il budget verso query informazionali o fuori tema («come fare», «gratis», «definizione»), che consumano clic senza convertire. I cinque prompt qui sotto indirizzano le cinque fonti di segnale complementari: search query report Google Ads (la base), GA4 bounce rate, Meta Ads search bar, esclusioni trademark competitor, e clustering tematico per embeddings. Combinare tutte e cinque dà una disciplina di discovery molto più robusta di un approccio solo search query. Per il calcolo rapido con benchmark 2026 per verticale, vedi il nostro calcolatore CPA gratuito.
Prompt 7 — Negativi da search query report (bulk 500 righe)
{
"role": "PPC negative keywords analyst.",
"task": "Analyse le search query report ci-joint et identifie les négatifs candidats.",
"input_csv": "[Coller search query report CSV : query, impressions, clicks, conversions, cost]",
"context": {
"vertical": "SaaS CRM B2B",
"icp_keywords_positive": ["CRM", "logiciel", "PME", "B2B"],
"icp_keywords_negative": ["gratuit", "open source", "tutoriel", "comment faire"],
"intent_filter": "transactionnel uniquement"
},
"constraints": {
"min_impressions_threshold": 50,
"min_clicks_threshold": 5,
"max_conv_rate_threshold": 0.005,
"exclude_brand_terms": ["AcmeCRM", "Acme"],
"match_type_recommendation": "broad ou phrase selon volume",
"no_external_benchmarks": true
},
"output_format": "JSON array avec query, recommended_negative, match_type, reason, priority"
}
Prompt 8 — Negativi da GA4 landing page bounce
{
"role": "GA4 + Google Ads correlation analyst.",
"task": "Croise les requêtes Google Ads avec les bounce rate GA4 par landing page pour detecter mismatches.",
"input_ga4_csv": "[Page path, sessions, bounce rate, avg session duration]",
"input_gads_csv": "[Search query, landing page, impressions, clicks, conversions]",
"constraints": {
"bounce_rate_threshold": 0.75,
"min_sessions_for_signal": 30,
"correlation_window_days": 30
},
"task_detail": "Identifie les requetes Google Ads qui mènent à des landing pages avec bounce > 75% — candidates négatifs.",
"output_format": "JSON array avec query, landing_page, bounce_rate, sessions, recommended_action"
}
Prompt 9 — Negativi Meta Ads search bar interest analysis
{
"role": "Cross-channel negative keywords strategist.",
"task": "Analyse les requetes Meta Ads search bar pour identifier intents non-pertinents pour Google Ads.",
"input_meta_search_terms": "[Coller export Meta Ads Search bar terms]",
"context": {
"google_ads_vertical": "Lead gen courtier immobilier",
"google_ads_icp": "Acheteurs primo-accédants 28-45 ans"
},
"constraints": {
"intent_categories_to_extract": ["info_only", "wrong_persona", "wrong_geography", "wrong_product"],
"exclude_already_in_negative_list": "[Coller liste actuelle]"
},
"output_format": "JSON object grouped by intent_category"
}
Prompt 10 — Negativi competitor trademark exclusion
{
"role": "Trademark negative keywords legal-aware.",
"task": "Genere liste exhaustive de mots-clés négatifs pour exclure mes campagnes des recherches de marques concurrentes.",
"context": {
"competitors_to_exclude": ["HubSpot", "Pipedrive", "Salesforce", "Zoho", "monday.com"],
"include_misspellings": true,
"include_branded_keyword_combos": true
},
"constraints": {
"match_types": ["exact", "phrase"],
"exclude_generic_terms": ["CRM", "software"],
"include_typo_variants": true
},
"output_format": "JSON array avec negative_keyword, match_type, reason"
}
Prompt 11 — Negativi clustering tematico embeddings
{
"role": "Embeddings + clustering negative keywords specialist.",
"task": "Recoupe la liste de 500 search queries non-converties par clusters semantiques pour grouper les négatifs.",
"input_queries": "[Coller liste 500 search queries CSV]",
"constraints": {
"embedding_model": "text-embedding-3-small (suggéré)",
"clustering_algorithm": "DBSCAN ou KMeans k=15",
"min_cluster_size": 5,
"output_one_negative_per_cluster": true
},
"task_detail": "Pour chaque cluster, propose UN négatif phrase-match qui couvre 80%+ du cluster.",
"output_format": "JSON array avec cluster_id, sample_queries, recommended_negative_phrase, coverage_estimate"
}
Su questi account che seguiamo, questi 5 prompt permettono di scoprire tipicamente da 150 a 400 negativi candidati per audit trimestrale, di cui il 60-75% trattenuti dopo revisione umana. Risparmio di tempo enorme rispetto alla revisione manuale.
La granularità di applicazione resta una decisione umana. Un negativo rilevato dall'IA può applicarsi a quattro livelli distinti: account (tramite una lista condivisa), campagna, ad group, o gruppo di campagne tramite una lista condivisa a scope ristretto. Un negativo ampio («gratis», «tutorial») si mette sistematicamente a livello account; un negativo verticale-specifico («avvocato divorzio» in un account multi-pratica) si mette a livello campagna; un negativo intent-fine si mette a livello ad group. Documentata sulla pagina ufficiale Google Ads sulle liste condivise, questa gerarchia evita i conflitti dove un negativo pertinente in B2C si applica per errore a una campagna B2B dove fa perdere volume.
Audit narrativo: 4 prompt per dimensione
L'audit narrativo IA è diverso dall'audit quantitativo (che si genera via script o API). Il narrativo produce la prosa che contestualizza i numeri per uno stakeholder business. È qui dove Claude Opus 4.7 eccelle particolarmente — la sua coerenza a lunga distanza batte GPT-5 e Gemini sui report in prosa da 2-5 pagine.
Un audit narrativo si distingue da un audit quantitativo per la sua funzione: produrre un testo esplicativo che il destinatario possa leggere e su cui possa decidere, e non una sequenza di KPI. Le quattro dimensioni auditate qui sotto (struttura, creativo, tracking, budget) coprono insieme nella maggior parte dei casi più dell'80% dei problemi operativi di un account Google Ads mid-market. Per inquadrare questi audit, due principi vanno rispettati rigorosamente: iniettare direttamente i dati dell'account nel prompt (export CSV o JSON, non una descrizione in prosa), e vietare i benchmark esterni (no_external_benchmarks: true). Senza queste due regole, il LLM produce un audit falsamente convincente che mescola vere osservazioni sui vostri dati e allucinazioni su benchmark inesistenti. Il confine tra audit utile e audit pericoloso sta in questo dettaglio.
Prompt 12 — Audit struttura account
{
"role": "Senior Google Ads auditor avec 10 ans d'experience.",
"task": "Analyse la structure du compte ci-joint et produit un rapport narratif de 800 mots.",
"input_account_structure_csv": "[Coller export campaigns + ad_groups + keywords counts]",
"dimensions_to_audit": [
"naming_convention_consistency",
"campaign_budget_allocation",
"ad_group_size_balance",
"match_types_distribution",
"shared_negative_lists_usage"
],
"constraints": {
"tone": "factuel, sans complaisance, sans alarmisme",
"include_priority_actions": "top 3 quick wins + top 2 strategic",
"no_external_benchmarks": true,
"use_only_provided_data": true
},
"output_format": "Markdown structuré : Executive Summary, Findings par dimension, Priority Actions, Risks"
}
Prompt 13 — Audit creativo (RSA, Ad Strength, pinning)
{
"role": "Creative Google Ads auditor.",
"task": "Audit qualité créative du compte ci-joint, focus RSA et Asset Reports.",
"input_rsa_export": "[Coller export RSA toutes campagnes : ad_group, headlines, descriptions, ad_strength, pinning]",
"input_asset_report": "[Coller Asset Report : asset, performance_label]",
"checks": [
"headlines_count_per_rsa (target 15)",
"thematic_diversity (7 themes attendus)",
"pinning_excessive (warning si >1 pin per RSA)",
"ad_strength_poor_count",
"low_performing_assets_count"
],
"output_format": "Tableau CSV (ad_group, issue, severity, recommended_fix) + paragraphe synthèse"
}
Prompt 14 — Audit tracking conversioni
{
"role": "Conversion tracking auditor.",
"task": "Detecte les anomalies tracking sur le compte.",
"input_conversions_export": "[Coller export Tools > Conversions]",
"input_gtm_setup": "[Coller summary GTM tags]",
"checks": [
"duplicates_conversion_actions",
"missing_enhanced_conversions",
"inconsistent_attribution_models",
"stale_conversion_actions_no_data",
"consent_mode_status"
],
"constraints": {
"include_remediation_steps": true,
"include_estimated_signal_loss_percent": true
},
"output_format": "Markdown rapport avec sections par check"
}
Prompt 15 — Audit budget pacing
{
"role": "Budget pacing analyst.",
"task": "Detecte over/underspend par campagne sur les 30 derniers jours.",
"input_daily_spend_csv": "[Coller export daily spend par campagne 30j]",
"input_target_budgets": "[Daily budget target par campagne]",
"checks": [
"deviation_from_target_per_day",
"weekday_vs_weekend_pattern",
"early_month_overspend",
"ramping_campaigns_unstable"
],
"constraints": {
"tolerance_threshold_percent": 8,
"flag_if_consecutive_overspend_days": 3
},
"output_format": "Markdown avec tableau dérive + paragraphe explicatif"
}
Per l'audit pillar completo, vedi la nostra checklist audit Google Ads. I prompt qui sopra si concatenano in un workflow di audit semi-automatizzato, con validazione umana tra ogni step.
Reporting executive: 5 prompt per stakeholder
Il reporting è l'altro caso d'uso dove l'IA fa risparmiare massivamente tempo — un account manager passa in media 6-12h/mese sui report cliente. Con prompt per persona stakeholder, si scende a 1-2h. Vedi la nostra guida reporting cliente 10 KPI per gli indicatori da includere.
La regola d'oro del reporting executive è che un report non si riduce ai numeri: si riduce al quadro mentale del destinatario. Un CEO vuole una visione business su 1 pagina (300 parole massimo, senza gergo, con un numero headline e un piano). Un CFO vuole payback period e rapporto LTV:CAC, in vocabolario finance non marketing. Un team sales vuole la qualità dei lead espressa in MQL→SQL→deal, non in CTR. Un direttore marketing vuole le anomalie settimanali, i test proposti e i rapporti contestuali. Sugli account osservati nei benchmark Google Ads pubblici, lo scarto tra un reporting generico (lo stesso report per tutti gli stakeholder) e un reporting personalizzato per persona si misura nella durata di attenzione del destinatario — che passa in media da 90 secondi a 4-6 minuti per report. Il ROI reale non è nelle ore risparmiate dall'account manager ma nelle decisioni più fini prese dai destinatari.
Prompt 16 — Reporting CEO executive summary
{
"role": "CEO-grade executive reporter.",
"task": "Synthese 1 page exec summary à partir des données mensuelles ci-jointes.",
"input_monthly_data": "[Coller dashboard data : spend, conversions, CPA, ROAS, vs target]",
"audience": "CEO non-technique, attention 2 minutes",
"constraints": {
"max_length_words": 300,
"no_jargon": true,
"structure": ["headline_metric_vs_target", "what_drove_change", "next_month_plan"],
"tone": "factuel sans embellissement",
"include_risks": true
},
"output_format": "Markdown 1-page avec 3 sections"
}
Prompt 17 — Reporting marketing team weekly
{
"role": "Performance marketing weekly briefer.",
"task": "Brief hebdo opérationnel pour l'équipe marketing.",
"input_weekly_data": "[CSV last 7 days vs previous 7 days]",
"audience": "Marketing team mid-level, technique-friendly",
"constraints": {
"max_length_words": 500,
"include_anomalies_first": true,
"include_test_recommendations": "1-2 par semaine",
"use_jargon_authorized": ["CTR", "CPA", "ROAS", "LTV", "Smart Bidding"]
},
"output_format": "Markdown : Highlights / Lowlights / Anomalies / Tests proposés"
}
Prompt 18 — Reporting sales team lead quality
{
"role": "MQL/SQL pipeline analyst.",
"task": "Brief pour l'équipe sales sur la qualité des leads Google Ads.",
"input_crm_export": "[Coller export CRM avec source = Google Ads]",
"audience": "Sales team, focus quality not quantity",
"metrics_to_include": [
"MQL_count",
"SQL_conversion_rate_from_MQL",
"deal_velocity_days",
"closed_won_count",
"average_deal_value"
],
"constraints": {
"include_lead_scoring_distribution": true,
"flag_underperforming_campaigns_lead_quality": true
},
"output_format": "Markdown report sales-friendly"
}
Prompt 19 — Reporting CFO LTV:CAC
{
"role": "CFO-grade financial reporter PPC.",
"task": "Rapport financier focus payback period et LTV:CAC.",
"input_data": "[CAC par cohorte mensuelle 12 derniers mois + LTV cohorte 12m]",
"audience": "CFO, focus cash flow et marges",
"constraints": {
"include_payback_period_calculation": true,
"include_ltv_cac_ratio_per_cohort": true,
"include_blended_vs_paid_only_cac": true,
"no_marketing_jargon": true,
"use_finance_vocabulary": true
},
"output_format": "Markdown structuré sections finance"
}
Prompt 20 — Reporting agency client monthly QBR
{
"role": "Agency QBR reporter.",
"task": "Quarterly business review report pour client agency.",
"input_quarter_data": "[Coller data trimestre + comparatif Q-1 + comparatif Y-1]",
"audience": "Client decision-maker + équipe ops",
"constraints": {
"include_strategic_recommendations_top_3": true,
"include_competitive_benchmark_directional_only": true,
"include_next_quarter_roadmap": true,
"tone": "partner pas vendor",
"max_length_words": 1500
},
"output_format": "Markdown long form QBR-style"
}
Ottimizzazione tattica: 5 prompt per decisione
L'ottimizzazione tattica IA è il caso d'uso più delicato — è dove l'IA può dare raccomandazioni ad alto impatto, ma anche raccomandazioni pericolose se mal inquadrate. Sempre validare umanamente prima dell'esecuzione. Per la meccanica generale di ottimizzazione, vedi la nostra guida completa Performance Max 2026.
La distinzione critica tra prompt di analisi e prompt di decisione deve essere esplicita nel vostro workflow. I prompt di analisi (sezioni RSA, negativi, audit, reporting qui sopra) producono contenuto che validate prima della pubblicazione o della diffusione. Il costo di un prompt analitico sbagliato è un ritardo di editing. I prompt di decisione (i cinque qui sotto) producono raccomandazioni che, eseguite, modificano durevolmente la performance dell'account: un passaggio Target CPA→Target ROAS prematuro può costare tre settimane di relearning; un consolidamento di ad group mal calibrato può rompere audience pertinenti; una pausa di campagna basata su 30 giorni di rumore può tagliare una traiettoria di apprendimento sana. Per questi cinque prompt, la regola assoluta è chiedere esplicitamente al modello un punteggio di confidenza e un piano di rollback. Sotto 0,75 di confidenza, non si deploiaza. Senza rollback documentato, non si deploiaza nemmeno.
Prompt 21 — Decisione rebid Smart Bidding (Target CPA → Target ROAS)
{
"role": "Smart Bidding strategy advisor.",
"task": "Conseille sur la bascule Target CPA → Target ROAS pour la campagne ci-jointe.",
"input_campaign_data": "[Coller 90j data : conversions, value, CPA, ROAS, learning phase status]",
"decision_criteria": [
"min_50_value_based_conv_per_week",
"value_signal_reliability",
"learning_phase_stable_30_days",
"target_ROAS_realistic_vs_history"
],
"constraints": {
"give_go_no_go_recommendation": true,
"include_target_ROAS_initial_value": true,
"include_rollback_plan": true,
"include_monitoring_metrics_first_14_days": true
},
"output_format": "JSON : recommendation, target_ROAS_initial, rollback_trigger, kpi_to_monitor"
}
Prompt 22 — Decisione ristrutturazione (consolidamento ad group)
{
"role": "Account restructure strategist.",
"task": "Identifie les ad groups à consolider pour atteindre seuil signal Smart Bidding.",
"input_ad_groups_data": "[Coller export ad groups : conv 30j, spend, structure thématique]",
"criteria": {
"min_conv_per_ad_group_week": 5,
"thematic_proximity_threshold": 0.75,
"preserve_separate_match_types": true,
"preserve_separate_audiences": true
},
"constraints": {
"max_ad_groups_per_consolidation": 4,
"preserve_naming_convention": true,
"include_keyword_remap_plan": true
},
"output_format": "JSON array avec consolidation_group, source_ad_groups, target_ad_group_name, keywords_to_migrate"
}
Prompt 23 — Decisione lancio nuovo negativo
{
"role": "Negative keyword scope advisor.",
"task": "Pour chaque négatif candidat ci-joint, conseille la granularité d'application.",
"input_negatives_candidates": "[Coller liste négatifs candidats avec query history]",
"decision_levels": ["account_level", "campaign_level", "ad_group_level", "shared_negative_list"],
"criteria": {
"applies_to_all_campaigns": "account_level",
"applies_to_specific_vertical": "campaign_level",
"applies_to_specific_match_type_intent": "ad_group_level",
"reusable_pattern": "shared_negative_list"
},
"output_format": "JSON array avec negative, recommended_level, justification"
}
Prompt 24 — Decisione pausa campagna
{
"role": "Campaign pause/keep decision advisor.",
"task": "Analyse si campagne doit être pausée ou retravaillée.",
"input_campaign_60d": "[Coller 60j data campaign + benchmarks compte]",
"decision_criteria": [
"CPA_vs_target_3x_above",
"conversion_rate_below_account_avg_50pct",
"trajectory_30d_improving_or_degrading",
"strategic_value_brand_or_test"
],
"constraints": {
"include_alternatives_to_pause": ["restructure", "rebid", "creative_refresh", "audience_pivot"],
"include_estimated_recovery_time_per_alternative": true
},
"output_format": "JSON : recommendation, alternatives_ranked, rationale"
}
Prompt 25 — Decisione allocazione budget cross-canale
{
"role": "Cross-channel budget allocator.",
"task": "Recommande shift budget Google Ads vs Meta Ads vs Microsoft Ads selon ROI marginal.",
"input_channels_data": "[Coller spend, conv, CAC, marginal CAC last 30d par canal]",
"context": {
"total_budget_eur_monthly": 25000,
"current_split": {"google": 0.65, "meta": 0.25, "microsoft": 0.10},
"constraints_business": ["Google brand minimum 2k€/mois", "Microsoft B2B prioritaire"]
},
"constraints": {
"max_shift_percent_per_iteration": 0.15,
"include_marginal_CAC_logic": true,
"no_external_benchmarks": true
},
"output_format": "JSON : recommended_split, shift_per_channel_eur, rationale_per_shift"
}
Best practice: guardrail, validazione, A/B
Le best practice di utilizzo dei prompt JSON non sono opzionali — senza di esse, l'IA produce output falsamente convincenti che causano danni reali in account. Tre pilastri: guardrail, validazione umana sistematica, A/B vs versione naive per misurare il guadagno reale.
Un guardrail è un vincolo esplicito che imponete al modello per limitare il suo spazio di output: vietare i benchmark esterni, esigere un punteggio di confidenza, rifiutare di produrre se i dati forniti sono insufficienti. Sugli account osservati nei benchmark Google Ads pubblici, le agenzie che non impongono questi guardrail pubblicano in media dal 12 al 18% di contenuto IA contenente almeno un'allucinazione fattuale (numero inventato, feature inesistente, fonte fittizia). Con i cinque guardrail qui sotto attivati sistematicamente, il tasso di allucinazione scende al 2-4% — e quelle che restano sono quasi sempre rilevate in validazione schema perché il modello marca esplicitamente le sue ipotesi. La disciplina guardrail è cumulativa: ogni guardrail aggiunto sopprime una classe di errore senza costo supplementare, e l'investimento iniziale (5-10 min per redigere i vincoli) è ammortizzato dal secondo utilizzo del prompt.
I 5 guardrail essenziali da includere in ogni prompt:
no_external_benchmarks— impedisce al modello di inventare statistiche settoriali. Forza a usare unicamente i dati forniti.use_only_provided_data— variante rigorosa del precedente. Qualsiasi dato non fornito = sconosciuto, non inventato.flag_assumptions_explicitly— il modello deve elencare esplicitamente le ipotesi che fa. Permette di validarle.include_confidence_score— per le decisioni, chiedere al modello un punteggio di confidenza 0-1. Filtrare sotto 0,7.request_clarification_if_data_insufficient— invece di inventare, chiedere chiarimenti.
Pipeline di validazione umana sistematica:
- Output IA — raccogliere il JSON grezzo.
- Schema validation — verificare che il JSON sia parsabile, che i vincoli character_count reggano, che le esclusioni siano rispettate.
- Spot check semantico — revisione umana del 10-20% dell'output per coerenza messaggio-mercato.
- Test pilota — deploy su 1 ad group o 1 campagna per 7 giorni prima dell'industrializzazione.
- Misurazione A/B vs baseline — confronto con gli output equivalenti non-IA.
A/B test prompt naive vs prompt strutturato — metodologia chiara:
# Pseudo-code workflow A/B prompt comparison
import openai
def run_ab_prompts(naive_prompt, structured_prompt, n_runs=20):
naive_outputs = [openai.chat.completions.create(
model="gpt-5", messages=[{"role": "user", "content": naive_prompt}]
) for _ in range(n_runs)]
structured_outputs = [openai.chat.completions.create(
model="gpt-5", messages=[{"role": "user", "content": structured_prompt}]
) for _ in range(n_runs)]
metrics = {
"char_count_compliance": compare_char_compliance(naive_outputs, structured_outputs),
"theme_diversity": compare_diversity(naive_outputs, structured_outputs),
"human_edit_time_avg": measure_edit_time(naive_outputs, structured_outputs),
"hallucination_rate": detect_hallucinations(naive_outputs, structured_outputs),
}
return metrics
Test qualità condotti su 200 coppie di prompt (RSA, negativi, audit):
Secondo i benchmark pubblici dove abbiamo confrontato RSA IA ben promptate vs RSA umano puro per 21 giorni: il CTR esce equivalente al +5-8% a favore IA, ma il tasso di conversione dallo 0 al 3% inferiore (l'IA ottimizza il hook, non il matching messaggio-mercato complesso). Il guadagno netto business è sulla produttività (45 min vs 2-3h per RSA) e sulla coerenza multi-account, non sulla performance pura. Industrializzare sugli ad group standardizzati; mantenere l'umano sugli ad group strategici (brand premium, B2B nicchia, top revenue).
Per automatizzare il deployment dei prompt in pipeline di produzione, vedi i nostri articoli complementari RSA IA + ad rotation, negativi IA discovery + clustering, e immagini IA per Google Ads. Per l'automazione lato infrastruttura (n8n, Zapier, MCP), vedi n8n Google Ads e Google Ads API Python.
Fonti
Fonti ufficiali consultate per questa guida:
FAQ
Un prompt naive ChatGPT cosa produce su Google Ads rispetto a un prompt strutturato JSON?
Nei test che conduciamo in continuo, un prompt in prosa naive del tipo «scrivi 15 headline RSA per CRM B2B» produce tipicamente dal 40 al 55% di output direttamente utilizzabile — il resto da correggere o scartare (ridondanza, fuori tema, superamento caratteri, allucinazioni su feature inesistenti). Lo stesso caso con prompt JSON strutturato (con vincoli character_max, theme_distribution, esclusioni esplicite, format_output) sale al 75-88% di output utilizzabile. Il guadagno non sta nella qualità del modello — sta nella precisione dei vincoli. Un LLM 2026 (GPT-5, Claude Opus 4.7, Gemini 2.5 Pro) segue i vincoli JSON molto meglio dei vincoli in prosa. Documentazione ufficiale: platform.openai.com/docs/guides/prompt-engineering.
ChatGPT allucina sulle statistiche Google Ads? Quali precauzioni prendere?
Sì, sistematicamente e con sicurezza. Chiedere a ChatGPT «qual è il CTR medio Search Google Ads in Italia 2026» produce un numero falsamente preciso (spesso nella zona plausibile ma senza fonte verificabile) — tipicamente 2,8% o 3,1% prodotti senza contesto verticale. Regola ferrea: non utilizzare mai gli output LLM su questioni di statistiche benchmark senza verificare la fonte. Per i prompt di audit o reporting, si devono esplicitamente iniettare i dati reali dell'account nel prompt (CSV o JSON incollato) e chiedere al modello di analizzare SOLO quei dati — non di produrre benchmark esterni. Il guardrail JSON `data_source: account_csv_only, no_external_benchmarks: true` riduce le allucinazioni statistiche dell'80%+ nei nostri test.
Quale modello usare per quale caso d'uso Google Ads?
Sugli account osservati nei benchmark pubblici nel 2026, Claude Opus 4.7 domina sulle attività di audit narrativo e reporting executive (coerenza prosa, tono stakeholder-aware, lunghezza context window 1M token). GPT-5 resta il default robusto sulla generazione RSA e i negativi (creatività testuale vincolata, rispetto preciso dei vincoli character count). Gemini 2.5 Pro è il migliore per le attività che richiedono grounding sul web in tempo reale (verifica competitor, novità feature Google Ads). Raccomandazione pratica: industrializzare su Claude per le attività ripetitive multi-account (consistency), tenere GPT-5 e Gemini in alternanza per A/B blind test qualità output. Nessun modello 2026 è strettamente superiore su tutti gli assi — diversificare limita il bias di un fornitore.
Bisogna fare il fine-tuning di un modello sui propri dati Google Ads?
No, nel 95% dei casi il fine-tuning è over-engineering per la maggioranza degli inserzionisti. Costo tipico fine-tuning OpenAI 2026: da 800 a 4.000€ di setup + ricorrente. Per battere un prompt JSON ben costruito, servono 500+ esempi di qualità dal vostro account — cosa che la maggior parte degli inserzionisti non ha in proprio. La via pragmatica 2026: prompt JSON strutturati + few-shot examples (3-5 esempi dell'account iniettati direttamente nel prompt) + retrieval augmented generation (RAG) per le knowledge base interne. RAG costa circa 20-80€/mese a seconda del volume. È il 95% del valore del fine-tuning al 5% del costo. Fine-tuning pertinente solo per le agenzie che industrializzano su 100+ account con voice brand vincolata.
Come misurare se l'IA migliora davvero le performance Google Ads rispetto al solo sforzo editoriale?
Holdout test classico: 14-21 giorni sullo stesso ad group, alternare RSA generate dall'IA (prompt strutturato) e RSA generate da umano puro. Misurare CTR, conversion rate, CPA. Sugli account che seguiamo, le RSA IA ben promptate producono un CTR equivalente dal 5 all'8% superiore alle RSA umane, ma con un tasso di conversione dallo 0 al 3% inferiore (l'IA ottimizza il hook, non il matching messaggio-mercato). Il guadagno netto è sul tempo di produzione (45 min IA vs 2h umano per ad group), non sulla performance pura. Conclusione: l'IA è un acceleratore di produzione, non un mago della performance. Industrializzare sugli ad group standardizzati, mantenere l'umano sugli ad group strategici (brand, top sales).