← Torna al blog
·6 min di lettura·

Landing dinamiche: copy IA in tempo reale senza layout shift (CLS)

Come fare landing ad alta conversione che adattano titolo e CTA alla fonte di traffico in tempo reale. Idratazione sul client e Edge Middleware (SSR) per non pagare CLS.

Sviluppo webNext.jsConversioneCore Web VitalsIntegrazione IA

Nel marketing digitale la personalizzazione non è più opzionale: è vantaggio. Chi clicca un annuncio di «SaaS accessibile» e atterra su una pagina generica di «piattaforma enterprise» sente il taglio. Quel disallineamento alza la frequenza di rimbalzo. Per massimizzare la conversione (CR), il copy della landing deve adattarsi in tempo reale alla fonte, all’ad group o alla query (parametri UTM).

Montare quell’adattamento (AI Copy-Adapt) chiede che marketing e ingegneria frontend vadano insieme. Qui: i problemi tecnici - CLS e hydration mismatch - e come risolverli con React e Next.js, sia in SSR sia in un export statico.

1. Il problema: CLS e hydration mismatch

Sostituire testo è facile in HTML/jQuery: leggete `window.location.search`, prendete l’H1 e cambiate `innerText`. In un framework come Next.js quello apre due problemi gravi:

  • Hydration mismatch: Next.js prerenderizza HTML sul server (o nel build statico) con un titolo di default. Nel browser, React confronta quell’HTML con il render del client. Se cambiate il titolo prima di idratare, React lancia un errore di mismatch e può non caricare il resto dell’app.
  • Cumulative Layout Shift (CLS): se il testo personalizzato è più lungo, va a capo e spinge il layout. CLS è un fattore SEO di Core Web Vitals: quel salto colpisce il ranking.
  • Flash: se lo swap avviene sul client con ritardo (es. dopo un fetch), l’utente vede il titolo di default un istante e poi cambia. Si vede poco professionale.

2. Siti statici: idratazione morbida sul client

Se il sito usa export statico (`output: "export"`), non ci sono redirect di server a runtime. La personalizzazione va intera al client - e va disegnata per non muovere il layout.

Un hook React su misura evita il mismatch deferendo il render fino al mount, e riserva spazio con variabili CSS o utility Tailwind per nascondere lo shift. L’approccio:

  • Evitate il mismatch con isMounted: uno state `isMounted` a true in `useEffect`. Prima di quello, solo il layout generico (o skeleton). L’HTML di server e l’HTML iniziale del client coincidono.
  • Skeleton o contenitori riservati: `min-h-[120px]` sul contenitore dell’H1. Uno slot fisico che entra testo corto e lungo senza spingere ciò che viene sotto.
  • Transizione di opacity: il contenitore in opacity-0 finché il segmento è pronto e montato; poi opacity-100. Lo swap resta dietro una microanimazione pulita.

3. Esempio di codice: l’hook React

Così si scrive un hook di client `useCopyAdapt` che legge UTM dall’URL e li mappa a blocchi di copy:

Prima, varianti: default, «consulenza IA» per traffico da ads tech, e «economica» per ads di prezzo. Nell’hook, `useEffect` fa il parse di `window.location.search` con cura, aggiorna lo state locale e mette `isMounted` a true per il fade-in.

Nel componente del titolo, l’H1 sta in un contenitore con altezza minima e `transition-opacity duration-300` più `isMounted ? "opacity-100" : "opacity-0"`. Al mount e al parse UTM, il copy dinamico appare in fade.

4. Alternativa sul server: Next.js Edge Middleware

Se l’app gira su Node o su runtime serverless (Vercel, AWS Amplify) senza legarsi all’export statico, adattare sul server è il riferimento.

Con Next.js Middleware su Edge intercettiamo la request sull’edge più vicino. Estrae `utm_campaign` o `utm_content`, scrive un cookie (`user-segment=ai`) e prosegue. Il React Server Component legge il cookie sul server e genera l’HTML esatto. Il browser riceve il testo finale prerenderizzato: 0 CLS, 0 delay di idratazione.

5. Impatto di business: personalizzazione e ROI

Legare il creativo dell’annuncio al titolo della landing dà benefici chiari:

  • Più conversione (CR): allineare aspettativa e primo schermo toglie confusione e spesso alza la conversione della landing del 20-45%.
  • Ads più economici (CPC/CPA): motori di ricerca e reti misurano la rilevanza della landing (Quality Score). Se il copy dell’annuncio e quello della pagina coincidono, scendono CPC e CPA.
  • Meglio uso del budget: invece di 10 landing per 10 ad group, un solo codebase ben affinato - meno tempo di ingegneria e meno cloud.

Va costruito, non solo letto?

Soluzioni IA per il business: RAG, agenti, Next.js. Contraente diretta.

Soluzioni IA per il business

Parliamo del tuo progetto?

Sono un’ingegnera web senior, specializzata in React e Next.js - disponibile per progetti freelance in tutto il mondo.

Dove sono

Kyiv, Ucraina

Telegram

Contattami

WhatsApp

Contattami