Debug Mode
A primeira ferramenta para troubleshooting é ativar o modo debug.debug: true você verá logs como:
Problemas Comuns
1. variant retorna null — causa mais comum
Sintoma:
null.
Checklist:
API Key pertence à organização errada
API Key pertence à organização errada
Como verificar:
- Abra app.testly.com.br/settings → copie a API Key (
tk_live_...) - Confirme que exatamente essa key está no
TestlyProviderdo seu app - Confirme que o experimento está listado no dashboard da mesma conta
Slug do experimento está errado
Slug do experimento está errado
O slug (identificador) usado em
useExperiment() deve ser idêntico ao slug exibido no dashboard — case-sensitive, apenas letras minúsculas e hífens.Experimento não está em estado running
Experimento não está em estado running
O servidor só retorna variante para experimentos com status running. Se o experimento foi pausado, concluído ou arquivado, o retorno é
null.Solução: Verifique o status no dashboard e ative o experimento se necessário.TestlyProvider não está envolvendo o componente
TestlyProvider não está envolvendo o componente
2. Loading nunca termina
Sintoma:Erro de rede
Erro de rede
Abra DevTools → Network → Procure por chamadas para
supabase.co/functions/v1/get-variant.Possíveis problemas:- Request bloqueado por CORS ou firewall
- Timeout (resposta muito lenta)
error e entre em contato: suporte@testly.com.brAPI Key inválida — formato errado
API Key inválida — formato errado
A API Key deve ter o formato
tk_live_.... Se estiver em formato diferente ou vazia, o servidor rejeita a request antes de responder.3. Conversões não são registradas
Sintoma:convert() é chamado mas o dashboard não mostra os dados.
Diagnóstico:
Deduplicação ativa
Deduplicação ativa
Por padrão, o SDK deduplicata conversões: a mesma conversão para o mesmo experimento só é registrada uma vez por sessão.Para testar sem dedupe, limpe o localStorage e recarregue a página, ou desative temporariamente:
Nome do evento inválido
Nome do evento inválido
Impressão não foi registrada primeiro
Impressão não foi registrada primeiro
Conversões só são contabilizadas se o usuário teve uma impressão registrada antes. A impressão é automática — mas ocorre apenas quando
loading termina.Certifique-se de que o componente está renderizando o useExperiment antes de chamar convert:4. Variante muda a cada refresh
Isso não deveria acontecer. O SDK usa cache local para manter consistência.localStorage sendo limpo
localStorage sendo limpo
Procure no seu código por:Se precisar limpar seu próprio storage, remova chaves específicas:
Navegação privada/anônima
Navegação privada/anônima
userId customizado instável
userId customizado instável
5. Erro: “useExperiment must be used within TestlyProvider”
6. TypeScript: Tipos não reconhecidos
Reinstalar pacote
Reinstalar pacote
Verificar tsconfig.json
Verificar tsconfig.json
tsconfig.json
Verificar Requests no DevTools
Abra DevTools → Network e procure por chamadas parasupabase.co/functions/v1/.
get-variant — atribuição de variante:
track-event — impressões e conversões:
Casos Especiais
Next.js: Hydration Mismatch
Sintoma:React Strict Mode (Logs duplicados)
Em desenvolvimento com Strict Mode, componentes renderizam duas vezes — logs[Testly] podem aparecer duplicados. Isso é esperado e não afeta produção.
Checklist de Troubleshooting
Precisa de Ajuda?
suporte@testly.com.br — respondemos rápido
Documentação
Guia rápido de 5 minutos
- Versão do SDK (
npm list @testlyjs/react) - Framework (Next.js, Vite, etc.)
- Logs do debug mode
- Screenshot do Network tab
- Código relevante (remova a API Key!)

