Skip to main content

Debug Mode

A primeira ferramenta para troubleshooting é ativar o modo debug.
Com debug: true você verá logs como:
Sempre desenvolva com debug: true. Desative em produção para não poluir o console dos usuários.

Problemas Comuns

1. variant retorna null — causa mais comum

Sintoma:
A causa número 1 é mismatch entre a API Key e a organização onde o experimento foi criado. O SDK envia sua API Key para o servidor, que busca o experimento dentro daquela organização. Se você usar a key de uma conta diferente, o servidor não encontra o experimento e retorna null. Checklist:
Como verificar:
  1. Abra app.testly.com.br/settings → copie a API Key (tk_live_...)
  2. Confirme que exatamente essa key está no TestlyProvider do seu app
  3. Confirme que o experimento está listado no dashboard da mesma conta
Ative o debug e inspecione a resposta do servidor:
O slug (identificador) usado em useExperiment() deve ser idêntico ao slug exibido no dashboard — case-sensitive, apenas letras minúsculas e hífens.
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.

2. Loading nunca termina

Sintoma:
Diagnóstico:
Causas e soluções:
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)
Se a request estiver falhando, verifique o erro em error e entre em contato: suporte@testly.com.br
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:
Causas:
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:
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.
Procure no seu código por:
Se precisar limpar seu próprio storage, remova chaves específicas:

5. Erro: “useExperiment must be used within TestlyProvider”


6. TypeScript: Tipos não reconhecidos

Soluções:
tsconfig.json

Verificar Requests no DevTools

Abra DevTools → Network e procure por chamadas para supabase.co/functions/v1/. get-variant — atribuição de variante:
track-event — impressões e conversões:

Casos Especiais

Next.js: Hydration Mismatch

Sintoma:
Solução:

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

1

Ativar debug mode

config={{ debug: true }} e recarregar a página
2

Verificar console

Procure por erros vermelhos ou logs [Testly]
3

Verificar Network tab

Há requests para supabase.co/functions/v1/get-variant? Qual a resposta?
4

Verificar API Key

A key no TestlyProvider é a mesma que está em Settings → API Key?
5

Verificar o experimento

Está em status running no dashboard? O slug é idêntico?
6

Limpar cache

7

Testar em aba anônima

Elimina problemas de cache e extensões do browser

Precisa de Ajuda?

Email

suporte@testly.com.br — respondemos rápido

Documentação

Guia rápido de 5 minutos
Ao pedir ajuda, inclua:
  • 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!)