Reparto · IT
IT — tutti gli step, in ordine
Collegare le pagine a GoHighLevel e mettere il funnel in conformità. Ogni step qui sotto è completo in sé — apri, leggi, esegui, spunta.
Collegare le pagine (costruite dal reparto Funnel) a GoHighLevel — campi, tag, pipeline, automazioni — e impostare tutto il tracking/consenso richiesto per operare in conformità.
~11-18 ore totali. Step 1-2 e 3-7 (conformità) partono subito in parallelo; Step 8-9 solo dopo Step 1-2 chiusi e le sequenze mail ricevute da Copy.
Formule/Outcome/tipo di offerta → Strategist. Priorità tra gli step → Project Manager.
Sub-account GHL, Google Analytics/Ads, Meta Business, org GitHub, Iubenda: richiedili ad Account/PM prima di iniziare.
Non conosci un termine (Tag, Custom Field, Pipeline...)? Knowledge Base. Diagramma tecnico completo: Architettura-Sistema.md.
Nota sui percorsi di menu: i percorsi GHL/Cloudflare citati in questa pagina (es. "Impostazioni → Custom Fields") sono quelli disponibili al momento della stesura — le interfacce di prodotti terzi cambiano nel tempo. Se non trovi una voce dove indicato, cercala nell'interfaccia attuale prima di bloccarti.
1. Custom Field — vai su Impostazioni → Custom Fields → Contact, crea questi 23 campi esattamente con questi nomi:
dm_assessment_versiondm_assessment_completed_atdm_assessment_score_overalldm_score_positioningdm_score_funneldm_score_advertisingdm_score_trackingdm_score_optimizationdm_score_operationsdm_profile_codedm_profile_namedm_profile_riskdm_profile_secondary_codedm_profile_secondary_riskdm_risk_foundationsdm_risk_acquisitiondm_risk_founderdm_risk_scaledm_lowest_pillardm_positive_answersdm_apply_statusdm_apply_submitted_atdm_apply_source
1c0f) — annotalo subito, ti serve identico per il relay (Step 8). Non si recupera "a memoria" dopo.2. Tag — vai su Impostazioni → Tags, crea questi 9, testo libero incluso il carattere |:
9 tag, non 8 — nomi corretti verificati su architecture.html/GHL_IMPLEMENTATION.md nel repo del template (il sito documentava prima "DM | Outcome | N": nome superato, mai usato nel codice reale).
DM | Assessment | Started(creato, non ancora inviato dal relay — richiederebbe identificare il lead prima del Contatto)DM | Assessment | CompletedDM | Profile | P1 FoundationsDM | Profile | P2 AcquisitionDM | Profile | P3 FounderDM | Profile | P4 ScaleDM | Apply | ClickedDM | Apply | SubmittedDM | Apply | TY Viewed
3. Pipeline — vai su Opportunities → Pipelines → New, crea gli 11 stadi in quest'ordine esatto:
- Outcome 1
- Outcome 2
- Outcome 3
- Outcome 4
- Apply
- Lead Contattato
- Appuntamento Fissato
- Call Effettuata
- Proposta
- Vinta
- Persa
Private Integration Token:
- Vai su Impostazioni → Private Integrations → Create New Integration
- Dai un nome tipo "Assessment Funnel Relay"
- Scope: seleziona tutto ciò che riguarda Contacts e Opportunities in lettura/scrittura (la lista esatta va confermata nell'interfaccia, GHL la aggiorna nel tempo)
- Copia il token una sola volta — GHL di solito lo mostra solo alla creazione
- Salvalo in un password manager, mai in chiaro in un file condiviso
Location ID: visibile nell'URL del sub-account (.../location/XXXXXXXXXXXXXXXXXXXX/...) o in Impostazioni → Business Info. Salvalo insieme al token.
Documento legale che spiega come vengono trattati i dati raccolti dal funnel — obbligatorio, vale per ogni cliente. Non scriverla tu: va redatta o approvata da chi segue la parte legale del cliente. Il link va in fondo a ogni pagina del funnel e nel form di contatto.
Uno strumento (es. Iubenda o equivalente) che mostra il banner cookie alla prima visita e gestisce il consenso. Nessun cookie non essenziale (analytics, pubblicità) deve caricarsi prima che l'utente acconsenta esplicitamente.
Separata dal semplice invio del form: deve dire esplicitamente che i dati vengono usati anche per la profilazione/punteggio dell'assessment, non solo per l'invio di comunicazioni — un consenso generico "invia" non basta a livello legale.
Google Analytics 4 deve rispettare il consenso: il tracking analitico completo parte solo dopo l'accettazione cookie; prima, Google prevede una modalità "consent mode" con dati limitati/aggregati, non tracking pieno. Configurazione esatta da verificare sulla documentazione ufficiale Google Consent Mode al momento dell'implementazione — non improvvisarla, cambia nel tempo.
Meta Pixel e/o Google Ads Tag, soggetti allo stesso consenso cookie dello step 4 — non caricarli prima del consenso. Servono al reparto Advertising per misurare le conversioni delle campagne.
L'endpoint (Cloudflare Pages Function) riceve il payload calcolato dal browser e scrive su GHL, in questo ordine:
- Upsert del contatto sui 23 Field reali (con gli ID annotati allo Step 1)
- Rimozione degli eventuali vecchi tag Outcome già presenti
- Aggiunta del tag Outcome corrente + del tag di stato Apply
- Autenticazione con Token/Location ID (Step 2), letti da variabili d'ambiente — mai scritti nel codice
Prompt pronto da incollare in Claude Code, con tutte le regole di validazione: Prompt Vault → "Endpoint relay verso l'API GHL".
- Routing Outcome: Workflow "DM – Routing Outcome" → trigger Tag Aggiunto =
DM | Assessment | Completed→ 4 rami sudm_profile_code→ aggiungi il tag Profile corrispondente (es.DM | Profile | P1 Foundations) → Create/Update Opportunity nello stadio "Outcome N" - 4 Sequenze Mail: un Workflow per profilo → trigger Tag Aggiunto =
DM | Profile | ...(uno dei 4) → parte la sequenza scritta dal reparto Copy - Apply → Pipeline: tag
Clicked= solo intent, nessuno spostamento · tagSubmitted= sposta l'Opportunity a stadio "Apply" · tagTY Viewed= nessuno spostamento ulteriore
Un giro completo dell'assessment con un'email di test, verifica in GHL che Field/Tag/Pipeline/Automation scattino da soli. Da fare insieme al Project Manager prima di autorizzare Advertising a lanciare. Dettaglio completo dei 4 giri di test: 06 Build → Fase 5.
A cosa stare attenti
- Mai committare il Private Integration Token o altre chiavi nel codice — solo variabili d'ambiente
- Mai far partire GA4/pixel prima del consenso cookie — è una violazione di conformità, non un dettaglio tecnico
- Un solo tag Outcome/profilo alla volta sul contatto — il retake deve rimuovere il vecchio prima di aggiungere il nuovo
- Se una chiamata API a GHL fallisce, il funnel deve continuare a funzionare per l'utente (fallback su localStorage)