Skip to main content
Na maioria dos casos, você não precisa deste hook.Use o convert que já vem do useExperiment:
const { variant, convert } = useExperiment('meu-experimento');

<button onClick={() => convert('cta_click')}>Confirmar</button>
O useConversion é para cenários avançados onde uma única ação precisa ser creditada a todos os experimentos ativos na página ao mesmo tempo.

O que é useConversion

O hook useConversion dispara uma conversão para todos os experimentos que estão renderizados na página no momento da chamada. É útil em eventos de negócio globais — como um checkout finalizado — onde você quer creditar qualquer experimento que pode ter influenciado a decisão do usuário.

Quando usar

Use useConversion apenas quando:
  • Múltiplos experimentos na mesma sessão devem ser creditados pelo mesmo evento
  • O evento é um objetivo global de negócio (ex: compra, assinatura) que transcende qualquer variante específica
  • Você não consegue chamar convert em cada experimento individualmente (ex: o evento acontece em uma página diferente da que exibiu os experimentos)
Para qualquer outro caso, use useExperiment().convert — é mais preciso e mais simples.

Uso

import { useExperiment, useConversion } from '@testlyjs/react';

function CheckoutPage() {
  // Cada experimento ativo na sessão registra a conversão
  const track = useConversion();

  const handlePurchase = async () => {
    await processOrder();
    track('purchase_completed');
  };

  return (
    <button onClick={handlePurchase}>
      Finalizar Compra
    </button>
  );
}

Assinatura

const track = useConversion();

// Chamar para registrar a conversão
track(eventName: string, metadata?: Record<string, any>): Promise<void>
O hook retorna uma função que, ao ser chamada, itera por todos os experimentos ativos no contexto e envia um evento de conversão para cada um.

Comparação com useExperiment().convert

useExperiment().convertuseConversion()
EscopoUm experimento específicoTodos os experimentos ativos
PrecisãoAltaMenor (pode creditar experimentos não relacionados)
Caso de usoPadrão — 95% dos casosEventos globais de negócio
Códigoconst { variant, convert } = useExperiment('key')const track = useConversion()

Próximos Passos

useExperiment

Hook principal — padrão recomendado

Exemplos

Veja implementações reais