Overall tracking · 27 maggio 2026
Quadro complessivo dello stato del tracking analitico per le quattro property in gestione: Amedani Studio, ContentLove, LiveCoverage, StudioUp. La direzione operativa è la centralizzazione tramite Google Tag Manager su tutti i siti, con una sola eccezione tecnica per LiveCoverage (integrazione nativa Calendly→Google Analytics 4). In parallelo viene affrontato il setup del consent database di Iubenda sulle form, oggi mancante: è il tassello che lega adempimento legale e qualità del dato di marketing.
01
Il quadro in cinque punti
La direzione è una sola: tutto il tracking analitico dell'ecosistema converge su Google Tag Manager. È la scelta che permette di rendere uniformi le configurazioni sui quattro siti, di iterare gli eventi senza interventi su codice, e di tenere sotto controllo qualità e copertura del dato.
generate_lead), declinato per canale via parametro lead_type: form, mail, phone, whatsapp (più calendly per LiveCoverage). La differenza tra un sito e l'altro non sta in cosa si traccia, ma in come i singoli eventi vengono catturati a livello tecnico, perché i CMS sono diversi (tre siti su Astro — Amedani, ContentLove, StudioUp — e LiveCoverage su WordPress).
02
Cosa si traccia, come e perché
L'obiettivo non è solo "vedere quanti contatti arrivano" — è poter ricostruire il percorso dell'utente per canale e per pagina, e leggere il dato in modo trasversale tra Google Analytics, Meta e gli strumenti pubblicitari attivati dal team social.
generate_leadLa scelta di nomenclatura, già operativa sui siti dove i click events sono attivi, è di trattare ogni conversione come una variante dello stesso evento GA4 generate_lead, distinta solo dal parametro lead_type. Il vantaggio operativo è che CPL, ROAS e dashboard di conversione leggono un singolo evento, mentre la segmentazione per canale (form vs telefono vs WhatsApp vs mail) avviene via parametro. Il modello è quello standard raccomandato da Google per i siti lead-gen.
| Evento GA4 | Parametro lead_type | Trigger | Strumento di raccolta |
|---|---|---|---|
page_view |
— | Caricamento di ogni pagina | GTM → GA4 |
generate_lead |
form |
Submission validata di una form contatti | Data layer custom (FormSubmitAStudio) → GTM → GA4 + Meta |
generate_lead |
mail |
Click su un indirizzo mailto: |
GTM (auto-trigger) — già attivo |
generate_lead |
phone |
Click su un numero tel: |
GTM (auto-trigger) — già attivo |
generate_lead |
whatsapp |
Click su un link WhatsApp | GTM (auto-trigger) — già attivo |
I click events su mail / telefono / WhatsApp sono già configurati con questo schema sui siti che hanno il container GTM attivo. La parte da aggiungere è il lead_type: form al momento della submission delle form — quello che richiede la convenzione del data layer custom descritta nella sezione 04.
L'integrazione nativa di Calendly verso GA4 invia eventi con nomi propri (es. calendly_event_type_viewed, calendly_date_and_time_selected, calendly_event_scheduled). Su LiveCoverage manteniamo l'allineamento al modello dell'ecosistema rimappandoli in GTM verso lo stesso evento generate_lead sui passaggi che hanno valore di conversione, e tenendo i passaggi intermedi come eventi di funnel.
| Step del funnel | Sorgente Calendly | Evento GA4 finale | Note |
|---|---|---|---|
| Apertura widget | calendly_event_type_viewed |
calendly_view (funnel) |
Step "interesse" — non è ancora un lead |
| Selezione data & ora | calendly_date_and_time_selected |
calendly_step (funnel) |
Step "considerazione" — non è ancora un lead |
| Conferma appuntamento | calendly_event_scheduled |
generate_lead con lead_type: calendly |
Conversione · si allinea allo schema unificato |
Sarebbe tecnicamente possibile catturare gli stessi passaggi tramite listening dell'iframe Calendly via GTM, ma l'integrazione nativa offerta da Calendly è più stabile e non dipende da modifiche al codice del widget. Va in aggiunta al container GTM, non al posto: GTM continua a gestire pixel, page view del sito e gli altri eventi standard, e in più rimappa la conferma appuntamento sul generate_lead standard dell'ecosistema.
Allo stato attuale sui quattro siti non sono presenti form a step multipli. Se in futuro verranno introdotte (es. configuratori, preventivi personalizzati), la logica è già pronta: ogni avanzamento di step diventa un evento data layer FormStepAStudio con parametro form_step, e l'invio finale resta FormSubmitAStudio → generate_lead. Questo permette di leggere a funnel dove gli utenti abbandonano — informazione utile per UX e per profilare la qualità degli utenti per canale di arrivo.
Il tracking client-side (quello attuale, basato su tag JavaScript che il browser dell'utente carica) è oggi lo standard, ma è in via di erosione per via dei meccanismi che limitano i cookie di terze parti. Quando il dato raccolto inizierà a calare in modo significativo rispetto a quello effettivo, sarà utile valutare il passaggio a un'architettura server-side (es. Conversion API di Meta, GTM server-side): i tag non vengono più caricati nel browser dell'utente ma sul server, e il dato viaggia tra server senza dipendere dai cookie. È un'evoluzione che richiede infrastruttura dedicata e va valutata quando il dato perso supera l'80% di copertura del traffico effettivo. Per ora l'attenzione resta sull'implementazione client-side ben fatta.
03
Stato per sito
Per ogni sito: CMS, presenza container GTM, eventi già attivi, attività di setup ancora da completare. È il piano lavori in formato schedario.
amedani.com · Astro · Cloudflare
contentlove.it · Astro
livecoverage.it · WordPress · Elementor · Calendly
studioup.it · Astro
04
Il punto tecnico più delicato
Tracciare l'invio form è la conversione centrale di tutto l'ecosistema. Sui siti in Astro questa cattura non è automatica come su WordPress, e richiede una piccola convenzione tra sviluppo e tracking. Spiego qui di seguito perché serve, e cosa serve esattamente.
Su WordPress, plugin come Elementor o WPForms emettono già di loro un evento al momento dell'invio form, ed è sufficiente che GTM lo ascolti — è il caso di LiveCoverage per le form Elementor del sito. Sui siti in Astro (Amedani, ContentLove, StudioUp) non c'è un plugin che faccia da tramite: la form è codice direttamente nel sito. Per renderla osservabile a GTM, basta che il codice della form, dopo aver verificato che l'invio sia andato a buon fine (la cosiddetta "post-validation"), aggiunga un evento al data layer della pagina. GTM lo intercetta e fa partire tutto il resto: l'evento su Google Analytics, l'evento su Meta Pixel, e qualunque altra integrazione successiva.
Il nome dell'evento da emettere nel data layer è stato concordato come FormSubmitAStudio — standardizzato e univoco sui quattro siti dell'ecosistema, sufficientemente "unique" da non rischiare di collidere con eventi emessi da librerie di terze parti o da CMS futuri. GTM lo intercetta come trigger e fa partire la chiamata GA4 (generate_lead con lead_type: form) e Meta.
| Campo data layer | Esempio valore | Note |
|---|---|---|
event | FormSubmitAStudio | Nome data layer standard, identico sui 4 siti |
form_name | contatti-home | Identifica la singola form (per analisi per pagina) |
form_location | /contatti/ | URL su cui è avvenuto l'invio |
form_step | final | Per le form multi-step (non attive oggi) |
| Passaggio | Dove avviene | Output |
|---|---|---|
| 1. Submission form validata | Codice della form (lato sito) | dataLayer.push({ event: 'FormSubmitAStudio', form_name: '…', form_location: '…' }) |
| 2. Intercetta dataLayer | GTM · trigger custom event | Attiva il tag GA4 |
| 3. Tag GA4 invia l'evento | GTM · tag GA4 Event | generate_lead con lead_type: form |
| 4. Tag Meta invia l'evento | GTM · tag Meta Pixel | Lead con metadati form |
Lo stesso punto del codice — la post-validation della form — è il momento giusto per fare anche la chiamata al consent database di Iubenda. È un punto di integrazione: una sola modifica lato form, due benefici (tracking + adempimento legale). I dettagli del consent database stanno nella sezione successiva.
I click su mailto:, tel: e su link WhatsApp si tracciano da GTM senza interventi sul codice del sito — sono trigger automatici, e sui siti con container GTM già attivo sono già configurati con lo schema generate_lead + lead_type (rispettivamente mail, phone, whatsapp). L'attivazione dei click events sui siti dove il container è da configurare ricalca lo stesso schema.
05
Iubenda · consent database
È il tassello che oggi manca su tutti i siti. Non è una nice-to-have, è il modo con cui Iubenda permette di rispondere in modo tracciato a una richiesta GDPR di cancellazione dati. Senza, l'adempimento è incompleto.
C'è: Iubenda installato sui quattro siti per la gestione del banner cookie e per il blocco automatico degli script di terze parti finché l'utente non dà consenso. Manca: l'aggancio tra la submission di una form e la registrazione del consenso nel database di Iubenda. Significa che quando un utente compila una form sui siti, Iubenda non sa che quella raccolta dati è avvenuta, e non c'è modo di rintracciarla nella sua dashboard.
| # | Cosa | Dove | Nota |
|---|---|---|---|
| 1 | Inserimento dell'API key Iubenda nel <head> del sito |
Lato codice (no GTM) | L'API key è disponibile nel pannello Iubenda · sezione consent database |
| 2 | Mapping dei campi di ogni form | Lato codice della singola form | I nomi dei campi devono rispettare la convenzione Iubenda (name, email, phone, message) — documentazione ufficiale |
| 3 | Helper JavaScript che al submit innesca la chiamata Iubenda | Lato codice (1 file condiviso) | Si appoggia all'API key del passo 1 · stesso helper riutilizzabile su tutte le form |
Ogni invio form genera un record nel consent database di Iubenda con: dati raccolti, timestamp, IP, fingerprint del consenso prestato. La dashboard di Iubenda permette di cercare un utente per email/telefono, vedere lo storico dei consensi prestati, e — su richiesta — cancellare in modo tracciato i suoi dati. È lo strumento che permette di dare risposta documentata a una richiesta GDPR di diritto all'oblio.
Il consent database di Iubenda è incluso fino a 20.000 azioni al mese sulla soglia gratuita. Considerando il volume contatti attuale dei quattro siti, il costo aggiuntivo a regime è zero.
Esiste una configurazione alternativa in cui il consenso viene gestito interamente dal container GTM, e Iubenda viene iniettato dopo aver letto la scelta dell'utente direttamente dal GTM. È un'architettura più "GTM-centrica" e permette in alcuni casi di recuperare dati che andrebbero persi con il blocco automatico. Non è da attivare ora: ha senso solo se nei prossimi mesi si osserva che il dato di Google Analytics 4 scende sotto l'80% del volume reale rilevato dal team. Per il momento la configurazione standard di Iubenda va bene.
06
Aree di lavoro proposte
Le attività proposte per chiudere il setup tracking sui quattro siti. La sequenza è pensata per portare prima a regime i siti già più avanzati (Amedani, StudioUp), poi recuperare ContentLove e LiveCoverage, e in parallelo affrontare il consent database.
07
Ordine logico delle attività
Non un calendario, ma l'ordine logico in cui le attività si sbloccano una con l'altra. Le tempistiche concrete vengono calibrate sul contesto operativo.
FormSubmitAStudio e sulla sua rimappatura in GA4 come generate_lead con lead_type: form. Sezione 04 di questo documento è la base.
in parallelo
4 property dell'ecosistema Amedani: amedani.com, contentlove.it, livecoverage.it, studioup.it. Tre in Astro, LiveCoverage in WordPress + Elementor.
Google Tag Manager (4 container) · Google Analytics 4 · Meta Pixel · Iubenda (banner cookie + consent database) · Calendly (integrazione nativa GA4 su LiveCoverage).
Creazione container LiveCoverage · accesso container ContentLove · data layer form per i siti Astro · mapping Iubenda consent database · allineamento eventi con team social.
Ecosistema Amedani · Overall tracking · 27 maggio 2026