Audit & Optimization Report · Aprile 2026

Charter System Sorrento.
Audit completo Google Ads.

Questo documento riassume tutto quello che è emerso dall'analisi della campagna Landing 2026 — performance, sprechi, opportunità — e si conclude con un piano di azioni concrete divise per priorità.

Periodo 1–18 aprile 2026 (18 giorni) Account monocampagna Search + AI Max Sito chartersystemsorrento.com Stack OctoberCMS · GTM · GA4
Spesa
€2.582
su €3.420 disponibili (75%)
Clic
421
CTR 9,4% · CPC €6,13
Conversioni
5
1 acquisto + 4 begin_checkout
Valore conv.
€353,70
tracking parziale
ROAS reale
0,14×
perdita €2.229 nel periodo
Quality Score
n/d
non esportato — vedere azione 2.0
Il verdetto in una frase

La campagna sta perdendo soldi e la strategia di bidding sta inseguendo il segnale sbagliato — ma prima di ottimizzare qualunque cosa, va fixato il tracking: tutto il resto si appoggia su numeri inquinati.

⚠ Caveat fondamentale sui dati

Marco ha confermato che le conversioni non sono impostate correttamente: la landing chartersystemsorrento.com porta a un booking esterno su CharterPro la cui conversione finale non torna a Google Ads. Tutti i numeri di conversione, CPA, conversion rate e ROAS in questo report sono artefatti di un tracking incompleto. I numeri di volume (spesa, clic, impressioni, CTR) restano affidabili.

01Cosa abbiamo scoperto

14 insight pre-calcolati nel dataset, raggruppati per gravità. I 4 rossi in cima sono i nodi che, da soli, spiegano la maggior parte dell'inefficienza.

Critico — agire ora Consigliato — entro 1-2 mesi Opportunità positiva
01La campagna è severamente ROI-negativa

5 conversioni nel periodo: 1 acquisto reale (€353,70 valore) + 4 begin_checkout (€0 valore). ROAS = 0,14×. Servirebbero 5–7× più acquisti per pareggiare. Causa root: bidding "Massimizza conversioni" senza tCPA + valori non differenziati → Google insegue il segnale facile (begin_checkout) invece di quello di valore (acquisto).

conversions.json → period_summary.economic_analysis
02Solo 2 landing su 7 generano conversioni

La homepage /en ha 3 conv (€220 CPA). /en/tour-page/Capri-Private-Boat-Tour ha 2 conv (begin_checkout). Le altre 5 landing: zero. Spesa landing senza conversioni: €1.365 = 53% del budget.

landing_pages.json → analysis.converters_pages
03/en/landing2026 è la trappola più costosa

Pagina con CTR migliore di tutti (6,51%) ma 0 conversioni su 109 click. €688 bruciati = 26% del budget di campagna finiti su questa singola pagina senza ritorno. L'annuncio attira ma la pagina non chiude.

landing_pages.json → analysis.unknown_landing_alert
04Due pagine essenzialmente morte

/en/luxury-experience: 1.217 impressioni, 0 click. /en/boats: 1.939 impressioni, 9 click (CTR 0,46%). Sitelink che bruciano impression share senza generare traffico utile.

05Conversione "Contatto" in stato ⚠ Richiede attenzione

La UI Google Ads segnala un problema attivo nelle azioni del gruppo "Contatto" — probabilmente tag misfiring, link GA4 rotto, o definizione obsoleta. Questo spiega perché la conversione "contatto ricevuto" non scatta mai anche se il sito ha sicuramente form attivi.

06Budget sottoutilizzato del 25%

Budget €190/giorno disponibile, spesa media €143/giorno. La campagna NON è budget-limited. Aumentare il budget non aumenterà i volumi: per crescere serve aumentare bid o migliorare quality score.

07La keyword d'oro nascosta

"rent a boat in capri italy" ha generato l'unica conversione di valore: CPA €10,42 contro €516 medio = 50× meglio. Non è ancora una keyword target (compare solo nei search terms). Promuoverla a exact match è la singola azione con miglior rapporto effort/risultato.

search_terms.json → analysis.converters[0]
08Brand search brucia €144 senza convertire

Le query brand (charter system sorrento e varianti) hanno generato 15 click e €143,62 spesi, 0 conversioni. Da capire se sono clienti già acquisiti che cercano il sito (escludibili) o un problema UX della home (da fixare).

09Il 49% del costo è invisibile

50,76% del costo va in termini visibili che generano 1/5 conv. Il restante 49% finisce in "Other search terms" aggregato (privacy threshold di Google) e da lì arrivano 4 conversioni su 5. L'ottimizzazione per singolo termine ha leva limitata.

10Il 58% dei sitelink è auto-generato da Google AI

24 sitelink attivi su 41 sono creati automaticamente da Google AI. Possibilmente alcuni non sono brand-coerenti. Da auditare uno per uno.

11Photo Gallery è il sitelink top performer

CTR 13,71% contro media campagna 9,4% (4× sopra). Segnale fortissimo: gli utenti vogliono vedere immagini prima di prenotare. Implicazione per il sito: gallery prominente above the fold.

12Due sitelink rimossi performavano molto bene

"Amalfi Coast Boat Tour" rimosso aveva CTR 26,67%. "Private Capri Boat Tour" rimosso aveva CTR 6,67%. Capire perché sono stati rimossi e valutare riattivazione.

13Mancano molti tipi di asset dal dataset

Solo sitelink presenti nel report. Mancano callout, snippet strutturati, immagini, promozioni, prezzi, callout — tutti visibili nella UI ma non esportati. Da scaricare separatamente per audit completo.

1471 negativi duplicati cross-livello

545 negativi totali ma solo 471 unici: 71 sono duplicati (presenti sia ad account sia a campagna/gruppo). Inoltre nessuna lista condivisa configurata: 471 negativi gestiti riga per riga invece di clusterizzati per tema.

02I numeri della campagna

Dati aggregati dei 18 giorni analizzati. Tutti i 4 file performance (keywords.json, ads.json, search_terms.json, landing_pages.json) coincidono perfettamente sul totale campagna — quality check superato.

Spesa nel periodo
€2.582
Su un budget disponibile di €190/giorno × 18 = €3.420. Utilizzo 75%, sotto-saturazione del 25%.
Ricavi tracciati
€354
Una sola conversione di valore registrata. Il tracking è parziale: i booking veri completati su CharterPro non sono catturati.

Settings campagna

ParametroValore attualeNote
TipoSearch Network + AI MaxAI Max attivo ma 0 contributo nel periodo
Strategia biddingMassimizza conversioniNessun tCPA — Google non ha freno sul costo
Budget€190/giorno~€5.700/mese teorico
Spesa media giornaliera€143,46Utilizzo 75% del budget
Conversion objectives3 azioni specificheAcquisti, Clic in uscita, "altri 1"
Optimization score100%Riflette feature adoption, non performance
Customer acquisitionStessa offerta nuovi/esistentiDa rivedere

03Performance per landing page

7 URL distinti effettivamente raggiunti dagli utenti che cliccano sugli annunci. Mix di final URL degli annunci e URL dei sitelink. Solo 2 generano conversioni; le altre 5 bruciano oltre metà del budget.

URL Click Imp. CTR Costo Conv. CPA
/en (home) 1161.8226,37% €662,69 3€220,90
/en/landing2026 1091.6746,51% €688,14 0
/en/tour-page/Capri-Private-Boat-Tour 861.5775,45% €544,46 2€272,23
/en/tours 622.1102,94% €368,58 0
/en/tour-page/Private-Boat-Positano-Amalfi-Coast 361.5082,39% €249,26 0
/en/boats 91.9390,46% €59,41 0
/en/luxury-experience 01.2170,00% €0,00 0

Punteggio velocità mobile = "—" per tutte le pagine. Google non l'ha calcolato — anomalia da indagare con PageSpeed Insights.

Spesa per esito

Landing che convertono
€1.207
47% del budget di campagna. Solo 2 pagine: /en + /en/tour-page/Capri-Private-Boat-Tour.
Landing che NON convertono
€1.365
53% del budget di campagna. 4 pagine attive zero conv: /en/landing2026, /en/tours, /en/tour-page/Private-..., /en/boats.

05Asset & sitelink

L'export contiene solo i 41 sitelink. Mancano callout, snippet strutturati, immagini, promozioni, prezzi e altri tipi di asset visibili nella UI dell'annuncio.

Sitelink totali
41
Attivi
31
2 in pausa, 8 rimossi
Da Google AI
24
58% del totale attivi
Da Marco
16

Top performer per CTR

SitelinkCTRClickImp.
Photo Gallery13,71%17124
Private Boat Tours10,68%68637
Amalfi Coast Private Boat9,95%1011.015
Luxury Yacht Cruise9,90%91919
Positano And Amalfi Tour9,71%20206

Sitelink rimossi che performavano

  • Amalfi Coast Boat Tour — rimosso il 2 aprile 2026, aveva CTR 26,67% (4 click su 15 imp). Riattivazione consigliata.
  • Private Capri Boat Tour — rimosso il 2 aprile 2026, aveva CTR 6,67%. Capire perché.

06Negative keywords

545 negativi totali (471 unici) distribuiti su 3 livelli, gestiti riga per riga senza alcuna lista condivisa. Notevole presenza di duplicati cross-livello (waste di gestione).

Account
181
Campagna
309
Ad group
55
Liste condivise
0

Per match type

  • 461 broad (parola singola che blocca solo se la query contiene tutti i token)
  • 83 exact (blocca solo query identica, sintassi [parola])
  • 1 phrase (anomalia statistica — vale la pena verificarlo)

71 duplicati cross-livello

Parole già escluse a livello account ridichiarate inutilmente a campagna o gruppo annunci. Esempi: airbnb, apartment, cheap, festival, lodging, restaurants, weather. Cleanup immediato consigliato.

07Conversioni & tracking

L'account ha 11 azioni di conversione configurate, di cui 3 mirate dalla campagna. Il sistema attuale è incompleto: il booking esterno su CharterPro non riporta indietro le conversioni reali.

Stato attuale: tracking parziale

I numeri di conversione che vedi in tutto il report sono basati su tag che scattano sul sito ma non includono i booking effettivamente completati su CharterPro. La singola conversione "valore €353,70" registrata non corrisponde necessariamente a un booking reale.

Le 3 azioni mirate dalla campagna

AzioneCategoriaConv. nel periodoStato
gads_acquistoAcquisto1Attiva — l'unica di valore
ads_begin_checkoutInizio procedura pagamento4Attiva — micro-conv
whatsapp conversione 2026Click in uscita0Attiva — segnale debole
gads_contatto_ricevutoContatto0⚠ Richiede attenzione

08Azioni Google Ads · Critiche

Tutte le azioni che Marco esegue direttamente nella UI di Google Ads. Le critiche andrebbero affrontate entro 1-2 settimane.

3.A.1
Critica

Cleanup 71 negativi duplicati cross-livello

71 parole sono escluse sia ad account level sia a campagna/gruppo annunci. Sono ridondanti e rendono la gestione confusa. Lista completa in negative_keywords.json → analysis.cross_level_duplicates.

Effort S — mezza giornata Dove Google Ads UI Success cross_level_duplicates_count = 0
3.A.2
Critica

Audit dei 24 sitelink AI-generated

24 sitelink attivi su 41 sono creati automaticamente da Google AI. Possibilmente alcuni non sono brand-coerenti. Per ognuno: mantenere se buono, riscrivere se title impreciso, rimuovere se fuorviante.

Effort M — 1 giorno Dove Google Ads UI Success solo sitelink brand-coerenti restano attivi
3.A.3
Critica

Riattivare i 2 sitelink rimossi che performavano

"Amalfi Coast Boat Tour" rimosso aveva CTR 26,67% (4× sopra media). "Private Capri Boat Tour" rimosso aveva CTR 6,67%. Capire perché sono stati rimossi e riattivare se non c'è motivo solido.

Effort S — 1 ora Dove Google Ads UI Success i 2 sitelink generano click nei 30gg
3.A.4
Critica

Decidere strategia su brand search

"charter system sorrento" + varianti = 15 click, €144 spesi, 0 conversioni. Verificare in GA4: clienti già acquisiti che cercano il sito (escludere) o problema UX home (fixare). Se escluso: risparmio ~€290/mese.

Effort S — analisi + setup 30 min Dove Google Ads UI + GA4 Success decisione presa con dati a supporto
3.A.5
Critica

Promuovere "rent a boat in capri italy" a exact match

L'unico termine convertente visibile, CPA €10,42 contro €516 medio (50× meglio). Aggiungerlo come [rent a boat in capri italy] exact nell'ad group "gruppi landing". Bid iniziale = CPC medio campagna €6,13.

Effort trascurabile — 5 min Dove Google Ads UI Success ≥1 booking confermato nei 30gg
1.5.1
Critica

Risolvere il warning "Contatto" — Richiede attenzione

La UI segnala un problema attivo nel gruppo "Contatto". Probabilmente gads_contatto_ricevuto non scatta. Aprire UI → Strumenti → Conversioni → cliccare nel gruppo "Contatto" → identificare azione in errore → leggere diagnostico → fix tag o rimuovere.

Effort S — 1-2 ore Dove Google Ads UI Success 0 azioni in stato "Richiede attenzione"
1.5.2
Critica

Audit completo delle 11 azioni di conversione

L'account ha 11 gruppi di azioni configurate. Per ognuna decidere: Primary (guida bidding) / Secondary (osservazione) / Disabled (archiviata). Output: tabella di decisioni in conversions_action_plan.md.

Effort M — 1 giorno Dove Google Ads UI Success solo gads_acquisto come Primary, resto Secondary o Disabled
2.0
Critica

Esportare il Quality Score per ogni keyword

Quality Score, Esp. CTR, Pertinenza annuncio, Esperienza pagina di destinazione non sono nel dataset. Aggiungere colonne in Google Ads → Parole chiave → Personalizza colonne → riesportare → caricare nel dataset.

Effort trascurabile — 10 min Dove Google Ads UI Success QS visibile per le 17 keyword

09Azioni Google Ads · Consigliate

Da affrontare entro 1-2 mesi. Impatto medio o azioni di follow-up sulle critiche.

3.B.1
Consigliata

Creare 4-5 liste condivise di negative keywords

471 negativi unici gestiti riga per riga senza struttura. Cluster proposto: wrong-intent-info, wrong-intent-cheap, competitor-brand, unrelated-topics, wrong-location. Migrare i singoli negativi nelle liste corrispondenti.

Effort M — 1 giorno Prereq 3.A.1 completato
3.B.2
Consigliata

Aggiungere nuovi negativi dai termini ad alto costo / zero conv

Filtrare search_terms.json per termini con costo >€20 e conversioni = 0. Verificare per ognuno: competitor, mismatch intent, o variante valida. Ricorrente mensilmente.

Effort M — 2 ore/mese ricorrente Prereq 3.B.1 + idealmente file 01
3.B.3
Consigliata

Match type tightening — convertire keyword broad in phrase

Tutte le 17 keyword sono broad. Il 49% del costo finisce in "Other search terms" non controllabile. Stringere a phrase per le keyword più rumorose riduce questo aggregato. Approccio a step: 5 keyword/mese.

Effort M — 2-4 ore/mese Prereq file 01 (per misurare l'impatto)
3.B.4
Consigliata

Aggiungere sitelink mancanti

Entrambi gli RSA hanno suggerimento "Aggiungi 1 altro sitelink". Considerare creazione di sitelink tematici nuovi: "Sunset Tour", "Group Discount", "Last Minute".

Effort S — 30 min Dipende da creazione URL lato sito
3.B.5
Consigliata

Espandere asset mancanti (callout, snippet, prezzi, promozioni)

Asset visibili in UI ma non nel dataset: callout, snippet strutturati, immagini, promozioni, prezzi. Aggiungere 8-10 callout brevi ("5-Star Rated", "All-Inclusive", "Free Cancellation"...), snippet servizi, refresh promozioni mensili.

Effort M — 1 giorno setup completo Success CTR aumenta del 5%+

10Azioni Google Ads · Bassa priorità

Nice to have, sperimentazioni e ottimizzazioni fini. Da affrontare quando le critiche e consigliate sono in piedi.

3.C.1
Bassa

A/B test nuovo RSA con copy "rent a boat capri"

Creare un terzo RSA con headline ottimizzate per la keyword convertente. Far girare 30 giorni vs RSA esistenti.

3.C.2
Bassa

Pin headlines strategici sui top performer

Considerare di pinnare in posizione 1 una headline brand-strong. Sperimentare con cautela — pinnare può ridurre ad strength.

3.C.3
Bassa

DKI usage review

Verificare che il {KeyWord:Capri Private Boat Tour} presente nell'H15 di entrambi gli RSA scatti effettivamente con la sostituzione dinamica.

3.C.4
Bassa

Ad rotation strategy

Verificare e documentare la rotazione annunci attuale. Default Google è "Ottimizza".

3.C.5
Bassa · Medio termine

Splitting in più ad group tematici

Da 1 ad group con 17 keyword a 4 ad group tematici (Capri / Amalfi / Positano / Generic). Migliora QS via allineamento. Trade-off: più complessità di gestione.

Effort L — settimana di setup + 2 mesi rodaggio

11Azioni Google Ads · Post-fix tracking

Bloccate dal fix conversioni (file 01). Una volta che il tracking è affidabile, queste sono le mosse di bidding strutturali che cambiano davvero la performance.

3.D.1
Post-tracking

Spostare micro-conversioni a Secondary

ads_begin_checkout e whatsapp conversione 2026 → "Includi in conversioni" = No. gads_acquisto rimane unica Primary con valore €500. Effetto: il numero di "conversioni" UI scenderà da 5 a 1, ma Smart Bidding ottimizzerà il segnale corretto.

Effort trascurabile — 10 min Prereq file 01 completo
3.D.2
Post-tracking

Switch a "Massimizza valore conversione"

Cambiare bidding strategy. Forza Google a privilegiare conversioni di valore alto. Solo dopo che gads_acquisto trasmette correttamente il valore €500 (o dinamico).

Effort trascurabile Prereq 3.D.1 + valore conv funzionante Success +25% valore conv. a parità di spesa in 30gg
3.D.3
Post-tracking

Introdurre tROAS dopo 30+ conversioni

Una volta accumulate ≥30 conversioni gads_acquisto, aggiungere tROAS: 1.0 = pareggio, 1.5-2.0 = sano (15-30% margine), 3.0+ = aggressivo.

Effort trascurabile setup, mesi di monitoraggio Prereq 3.D.2 + ≥30 conv accumulate

12Lavoro sul sito · in delega

Interventi che Claude Code esegue direttamente sul repo OctoberCMS. Sintesi dei 9 interventi del file 02_ottimizzazione_sito.md; per i dettagli tecnici (file Twig, struttura, code snippet) consultare quel documento.

2.1
Critica

Audit Core Web Vitals delle 7 landing pages

PageSpeed Insights su ogni URL. Identificare le 2-3 pagine sotto soglia per LCP/INP/CLS che meritano fix immediato.

2.2
Critica

Risolvere il mistero /en/landing2026

Capire cos'è questa pagina che brucia €688 a zero conv: aprirla nel repo, confrontarla con /en, decidere se ottimizzarla, redirigere o eliminare.

2.3
Consigliata

Allineamento copy annuncio ↔ landing

Per le landing convertenti: ottimizzare title, meta description, H1, H2 con le keyword target. Migliora Quality Score.

2.4
Consigliata

Gallery prominente above the fold

Photo Gallery sitelink ha CTR 13,71% (4× la media). Riflesso sul sito: aggiungere gallery hero nelle landing principali.

2.5
Consigliata

Audit sitelink "morti"

/en/luxury-experience e /en/boats: capire se la pagina è di bassa qualità o se è il sitelink ad essere mal scritto.

2.6-2.9
Bassa

Struttura URL · Schema.org · Multi-lingua · A/B test

Cleanup URL kebab-case, JSON-LD per rich snippets, hreflang se multi-lingua, A/B test su CTA principale (richiede tracking funzionante).

13Roadmap a 90 giorni

Sequenza consigliata per non sovraccaricarsi e per rispettare le dipendenze tra interventi.

Settimane 1–2 · in parallelo
Tre fronti aperti contemporaneamente
🅖 Su Google Ads: cleanup negativi duplicati (3.A.1), audit sitelink AI (3.A.2), riattivazione sitelink rimossi (3.A.3), promozione keyword d'oro (3.A.5), risoluzione warning Contatto (1.5.1), export Quality Score (2.0).
🛠 Su GTM/GA4: audit container e property, mappatura flusso CharterPro.
🌐 Sul sito: audit PageSpeed Insights delle 7 landing, risoluzione mistery /en/landing2026.
Settimane 3–4
Implementazione tracking + cleanup completo
🛠 Implementare cross-domain GTM tra chartersystemsorrento e CharterPro (Opzione A del file 01), Enhanced Conversions (Opzione B), eventualmente Offline Conversion Import.
🅖 Creare 4-5 liste condivise di negativi (3.B.1), aggiungere sitelink mancanti (3.B.4), espandere callout/snippet/prezzi (3.B.5).
🌐 Allineamento copy annuncio ↔ landing, gallery prominente.
Settimane 5–8
Switch bidding & validazione
Validato che il tracking conta correttamente le conversioni reali da CharterPro:
🅖 Spostare ads_begin_checkout e WhatsApp a Secondary (3.D.1). Switch a "Massimizza valore conversione" (3.D.2). Match type tightening progressivo (3.B.3).
Monitoraggio settimanale: ROAS reale, conversioni accumulate, CPA medio, CPC.
Settimane 9–12+
Iterazione e affinamento
Quando ≥30 conversioni accumulate: introdurre tROAS conservativo (1.0–1.5).
Iterazione mensile su negativi nuovi dai search terms freschi, refresh promozioni, A/B test RSA, audit trimestrale GTM.
A 90gg: prima review completa di KPI vs baseline pre-intervento.

Indicatori di successo a 90 giorni

  • Conversioni gads_acquisto in Google Ads = ±10% rispetto a booking confermati su CharterPro DB
  • 0 azioni di conversione in stato "Richiede attenzione"
  • 0 negativi duplicati cross-livello
  • 4-5 liste condivise di negativi attive
  • Bidding strategy = "Massimizza valore conversione" (con o senza tROAS)
  • Spesa "wasted" su landing zero-conv scesa dal 53% attuale al ≤30%
  • Quality Score medio aumentato di almeno 1 punto su 5+ keyword
  • Volume conversioni ≥30 in rolling 30gg

14Domande aperte

Cose che resta da chiarire durante l'esecuzione, in ordine di urgenza.

  • CharterPro è su sottodominio o dominio separato? Determina la strategia di cross-domain tracking.
  • Discrepanza valore acquisto: €353,70 registrato vs €500 dichiarato come deposito medio. Il valore è dinamico per booking? La configurazione è statica e sbagliata?
  • Cosa è esattamente /en/landing2026? Esiste nel repo? È una landing dedicata o un sitelink?
  • C'è un Consent Management Platform installato? Quale? Necessario per Consent Mode v2.
  • Sono stati installati altri pixel (Meta, TikTok, Bing)? Da inserire nel piano GTM?
  • Le 5 conversioni del periodo includono qualche booking reale completato su CharterPro o sono tutti tag che scattano per altri motivi?