Añade este script al <head> de tu web:
<!-- fluxAB — Anti-flicker + SDK — instalar una vez, nunca más tocar -->
<script>!function(){var e="body{opacity:0!important}",t=document.createElement("style");t.textContent=e,t.id="fluxab-hide",document.head.appendChild(t),window._fluxabShow=function(){var e=document.getElementById("fluxab-hide");e&&e.remove(),document.body.style.opacity=""},setTimeout(window._fluxabShow,800)}();</script>
<link rel="preconnect" href="https://cdn.fluxabtest.com" />
<script async src="https://cdn.fluxabtest.com/client.js" data-project-key="pk_live_xxx"></script> La pk_live_xxx la encuentras en Configuración de tu proyecto.
Después de instalar el snippet, verifica el dominio en Configuración. Solo los dominios verificados registran asignaciones y conversiones.
La asignación es determinista y local. La primera llamada descarga la configuración (y las variantes si aún no están en caché); después es instantánea. No registra exposición.
// Solo necesitas el <script> en el <head>.
// fluxAB se inicializa automáticamente como window.fluxAB
const result = await fluxAB.getVariant('new-checkout');
if (result.variant === 'B') {
showNewCheckout();
} Como getVariant() pero registra que el usuario entró al experimento.
document.querySelector('#payment-btn')
.addEventListener('click', async () => {
const r = await fluxAB.activate('payment-test');
showVariant(r.variant);
}); Envía eventos de conversión. Se agrupan cada 2s.
fluxAB.track('payment_completed');
fluxAB.track('payment_completed', {
amount: 325.50,
currency: 'EUR'
}); Asocia el ID anónimo con tu ID de cliente. Las asignaciones y conversiones anteriores se reasignan al usuario.
fluxAB.identify('customer_12345'); Aplica la variante cuando la página coincide con la URL o los parámetros configurados. No redirige a otra URL.
const result = await fluxAB.getVariant('landing-test');
if (result.variant === 'B') {
document.body.classList.add('variant-b');
} Después de un cambio de ruta con pushState o replaceState, llama a refresh(). El SDK escucha popstate (atrás/adelante) automáticamente.
fluxAB.refresh(); ?fluxab_force=B fuerza una variante sin registrar asignación ni conversiones.
?fluxab_preview=clave&fluxab_token=token previsualiza un borrador o un test pausado sin registrar datos. El token está en la página de detalle del experimento.