A/B Testing

Lo snippet runtime applica varianti via attributi data-ab-*. Le assegnazioni sono cached 24h per evitare re-flicker.

1. Installa lo snippet

html
<script
  src="https://project--YOUR_PROJECT.lovable.app/snippets/lvbl.js"
  data-project-id="YOUR_PROJECT_ID"
  defer></script>

2. Test su headline

html
<h1
  data-ab-experiment="EXPERIMENT_ID"
  data-ab-default="Il nostro prodotto cambia tutto">
  Il nostro prodotto cambia tutto
</h1>

Il payload della variante può sovrascrivere testo, attributi, classi o stile. Configurabile dall'Editor Visuale nel detail dell'esperimento.

3. Test su CTA con conversione

html
<a href="/signup"
   data-ab-experiment="EXPERIMENT_ID"
   data-ab-goal="signup_click">
  Inizia ora
</a>

<script>
  // Conversione lato server o client
  window.lvbl && window.lvbl.track("conversion", {
    experiment: "EXPERIMENT_ID",
    value: 49.00,
    currency: "EUR"
  });
</script>
Usa data-ab-goal per tracciare automaticamente il click sul target come conversione, senza scrivere JS custom.

4. Test su redirect

html
<script>
  window.addEventListener("lvbl:assigned:EXPERIMENT_ID", function (e) {
    var v = e.detail.payload || {};
    if (v.redirectTo) window.location.replace(v.redirectTo);
  });
</script>

QA preview mode

bash
# Forza una variante per QA (no tracking, no badge, no DB write)
https://tuosito.com/?lvbl_force=EXPERIMENT_ID:VARIANT_ID

# Più esperimenti contemporaneamente
?lvbl_force=exp1:varA,exp2:varB

Solo per QA

Il preview bypassa l'assegnazione random e non scrive su database né invia eventi analytics. Mostra anche un badge in alto a destra.

Attributi disponibili

  • data-ab-experiment — ID dell'esperimento (obbligatorio)
  • data-ab-default — contenuto fallback se snippet non carica
  • data-ab-goal — nome goal per click tracking automatico
  • data-ab-revenue — valore numerico associato alla conversione
  • data-analytics — auto, ga4,mixpanel o off sul tag script