Conecte dados de visitantes anônimos a usuários conhecidos. Quando visitantes fazem login ou enviam formulários, Zenovay conecta todo o histórico deles à sua identidade.
Como a identificação de usuários funciona
De anônimo para conhecido
Jornada do visitante:
Visita 1 (Anônima):
Visitante anônimo navega pelo site
→ ID do visitante atribuído: viz_abc123
Visita 2 (Anônima):
Mesmo visitante retorna
→ Mesmo ID do visitante: viz_abc123
Visita 3 (Identificada):
Visitante faz login como [email protected]
→ zenovay('identify', '[email protected]')
→ Todo o histórico vinculado a [email protected]
Visitas futuras:
Reconhecido automaticamente
→ Jornada completa preservada
Dados mesclados
Quando identificado:
- Visitas anônimas anteriores vinculadas
- Visitas futuras rastreadas
- Jornada completa visível
- Multi-dispositivo possível
Implementar a identificação
Identificação básica
Chame identify quando o usuário for conhecido:
// Quando o usuário faz login
zenovay('identify', userId);
// Exemplo
zenovay('identify', 'user_12345');
// ou
zenovay('identify', '[email protected]');
Com propriedades do usuário
Adicione detalhes do usuário como terceiro argumento:
zenovay('identify', 'user_12345', {
email: '[email protected]',
name: 'John Smith',
company: 'Acme Corporation',
plan: 'enterprise',
role: 'admin'
});
Informação
Um endereço de e-mail ou um ID de cliente é obrigatório para identificar um visitante. O primeiro argumento pode ser um endereço de e-mail ou seu próprio ID de usuário.
Propriedades suportadas
| Propriedade | Tipo | Descrição |
|---|---|---|
| string | Endereço de e-mail | |
| name | string | Nome completo |
| first_name | string | Primeiro nome |
| last_name | string | Sobrenome |
| company | string | Nome da empresa |
| phone | string | Número de telefone |
| custom_* | any | Propriedades personalizadas |
Todas as chaves adicionais que você passar serão armazenadas como atributos personalizados no perfil do usuário.
Exemplos de implementação
Ao fazer login
// Após login bem-sucedido
async function handleLogin(credentials) {
const user = await loginUser(credentials);
// Identificar em Zenovay
zenovay('identify', user.id, {
email: user.email,
name: user.name,
company: user.company_name
});
// Continuar com o app
redirectToDashboard();
}
React Hook
import { useEffect } from 'react';
import { useAuth } from './auth';
function useZenovayIdentify() {
const { user, isAuthenticated } = useAuth();
useEffect(() => {
if (isAuthenticated && user) {
if (window.zenovay) {
window.zenovay('identify', user.id, {
email: user.email,
name: user.name,
company: user.company
});
}
}
}, [user, isAuthenticated]);
}
Envio de formulário
// Ao enviar formulário (antes de fazer login)
async function handleFormSubmit(formData) {
// Identificar com e-mail do formulário
zenovay('identify', formData.email, {
email: formData.email,
name: formData.name,
company: formData.company
});
// Rastrear o envio do formulário
zenovay('goal', 'form_submission');
// Enviar para o backend
await submitForm(formData);
}
Visualizando usuários identificados
Visualização de usuários
- Abra o painel do seu site (
/domains/{id}) - No grupo Audience da barra lateral, abra a aba Journeys
- Selecione a sub-aba Users para ver usuários identificados e suas cronologias
- Clique em um usuário para abrir seu perfil e cronologia de atividade completa
Lista de usuários
Cada linha mostra o nome ou e-mail do visitante, de onde veio, quantas páginas visualizou, qual receita é atribuída a ele e quando foi ativo pela última vez. Ordene a lista para destacar seus usuários mais ativos ou que geram mais receita:
| Visitante | Origem | Páginas visualizadas | Receita | Última atividade |
|---|---|---|---|---|
| [email protected] | 24 | USD 4.999 | Hoje | |
| [email protected] | Direto | 18 | — | Ontem |
| [email protected] | 12 | USD 99 | Há 3 dias |
Visitantes que ainda não se identificaram aparecem como Anônimo até que uma chamada identify (ou um e-mail conhecido de um evento) vincule uma identidade real. Clique em qualquer linha para abrir o perfil completo e cronologia de atividade do visitante.
Perfil do usuário
┌─────────────────────────────────────────────────────┐
│ John Smith │
│ [email protected] │
│ ─────────────────────────────────────────────────── │
│ │
│ Empresa: Acme Corporation │
│ Plano: Enterprise │
│ Função: Admin │
│ Criado: 15 de novembro de 2024 │
│ │
│ ─────────────────────────────────────────────────── │
│ │
│ Resumo de análise: │
│ • Total de sessões: 24 │
│ • Tempo total: 3h 45m │
│ • Páginas visualizadas: 89 │
│ • Objetivos completados: 5 │
│ • Receita: USD 4.999 │
│ │
│ Primeira visita: 20 de out. de 2024 (anônima) │
│ Identificado: 15 de nov. de 2024 │
│ Última visita: Hoje às 14:30 │
│ │
└─────────────────────────────────────────────────────┘
Jornada do usuário
Cronologia completa
Veja o histórico completo do usuário:
John Smith - Cronologia da jornada
15 de janeiro de 2025
├── 14:30 - Página de configurações (5 min)
├── 14:00 - Painel (10 min)
└── Conectado
10 de janeiro de 2025
├── 15:45 - Página de cobrança (3 min)
├── 15:40 - Modal de upgrade → Upgrade realizado ✓
└── Conectado
15 de dezembro de 2024
├── 10:00 - Fluxo de integração
└── Conta criada, identificada
28 de novembro de 2024 (anônima)
├── Solicitação de demonstração enviada → Identificado
├── /pricing (8 min)
└── /features (5 min)
20 de outubro de 2024 (anônima)
├── /blog/guide (4 min)
└── Primeira visita via busca do Google
Rastreamento entre dispositivos
Quando um usuário faz login em vários dispositivos, suas sessões são vinculadas à mesma identidade:
Dispositivos utilizados:
Desktop (Chrome/Windows)
├── 18 sessões
└── Última: Hoje
Celular (Safari/iOS)
├── 4 sessões
└── Última: 10 de jan.
Tablet (Chrome/iPad)
├── 2 sessões
└── Última: 20 de dez.
Todas as sessões vinculadas a [email protected]
Se o mesmo visitante se identifica em mais de um de seus domínios rastreados, a cronologia também mostra os outros domínios onde ele foi visto.
Considerações de privacidade
Consentimento do usuário
Antes de identificar:
- Garantir o consentimento apropriado
- Seguir sua política de privacidade
- Respeitar as exclusões
Tratamento de dados
Os dados do usuário:
- São criptografados em trânsito
- Controlam acesso por associação de equipe e função
- São retidos de acordo com a janela de retenção de dados do seu plano
Excluindo dados de um usuário
Para remover os dados pessoais de uma pessoa, use uma solicitação padrão de direitos do titular: tenha-a (ou você em seu nome) solicitar exclusão via Configurações → Conta para um titular de conta, ou entre em contato com o suporte em [email protected] para um visitante que não é titular de conta. Remover a associação de rastreamento do site também interrompe a coleta futura.
Respeitando a exclusão voluntária
// Verificar exclusão voluntária antes de identificar
if (!userHasOptedOut()) {
zenovay('identify', userId, userData);
}
Acesso API
Os dados de usuários identificados estão disponíveis através da API REST Zenovay em planos pagos. Use-o para extrair perfil, estatísticas e cronologia de um usuário em seus próprios sistemas ou para enviar identificação de um backend.
Para autenticação, endpoints e formatos de resposta, consulte Visão geral da API. A chamada identify mostrada acima (zenovay('identify', ...)) é a forma do lado do cliente para criar ou atualizar um usuário; a API REST é o equivalente do lado do servidor para ler esses dados novamente.
Práticas recomendadas
Identificar cedo
Identifique o mais cedo possível:
- No cadastro/login
- No envio do formulário
- Quando o e-mail for conhecido
Use IDs consistentes
Escolha uma estratégia de ID:
- E-mail (se único)
- ID do usuário do banco de dados
- UUID
Atualizar propriedades
Mantenha as propriedades atualizadas:
// Quando o usuário faz upgrade do plano
zenovay('identify', userId, {
plan: 'enterprise',
upgraded_at: new Date()
});
Não sobre-identificar
Evite chamar identify:
- Em cada carregamento de página
- Para visitantes anônimos
- Sem consentimento do usuário
Resolução de problemas
Usuário não identificado
Se a identificação falhar:
- Verifique o console para erros
- Verifique se o script de rastreamento foi carregado
- Confirme se identify foi chamado após o script
Histórico não vinculado
Se visitas anteriores não aparecerem:
- Cookies podem ter sido limpos
- Navegador/dispositivo diferente
- Modo incógnito foi usado