CRBRASIL
Analytics

CleverTap: como implementar eventos, perfis e onUserLogin sem duplicar usuários

Por CRO Brasil ·

CleverTap: como implementar eventos, perfis e onUserLogin sem duplicar usuários

Push, e-mail e in-app só funcionam com perfil unificado. Veja como instalar o SDK da CleverTap, enviar eventos, usar onUserLogin do jeito certo e subir dados pela API.

Tela de jornada do usuário do CleverTap
Jornada do usuário no CleverTap: eventos, perfis e automação. Imagem: documentação oficial da CleverTap.

Índice do artigo

Para se aprofundar

Para se aprofundar, o time da Métricas Boss trata desse assunto em: Kit básico para analytics em apps (Analytics Talks) e em Métricas para aplicativo no Google Analytics 4.

Em plataforma de engajamento, perfil duplicado é dinheiro jogado fora: a mesma pessoa recebe dois pushes, a segmentação erra e o relatório de retenção mente. Na CleverTap, quase todo perfil duplicado nasce do uso errado de um único método.

O que é a CleverTap?

A CleverTap é uma plataforma de customer engagement e product analytics: coleta eventos e perfis de usuários em web e apps e usa esses dados para segmentação, campanhas (push, e-mail, in-app, web), relatórios e webhooks.

Em uma frase: a CleverTap junta o que o usuário faz com a mensagem que ele recebe.

Instalando o Web SDK

Há dois caminhos: o pacote npm clevertap-web-sdk ou o snippet no head. O snippet cria o objeto clevertap com filas (event, profile, account, onUserLogin, notifications, privacy), define o Account ID encontrado em Settings no dashboard e carrega o script de forma assíncrona.

<script>

var clevertap = {event:[], profile:[], account:[], onUserLogin:[], notifications:[], privacy:[]};

clevertap.account.push({ "id": "SEU_ACCOUNT_ID" }, "REGIAO", "DOMINIO_ALVO");

clevertap.privacy.push({ optOut: false });

clevertap.privacy.push({ useIP: false });

// + carregamento assíncrono do clevertap.min.js

</script>

O SDK também suporta múltiplas instâncias, útil quando um mesmo site precisa enviar dados para contas diferentes da CleverTap.

Eventos e propriedades

Eventos registram ações: visualizar produto, ouvir música, compartilhar, comprar.

clevertap.event.push("Produto Visualizado", {

"Nome do Produto": "Tênis Corrida X",

"Categoria": "Calçados",

"Preço": 399.90,

"Data": new Date()

});

Chaves de propriedade precisam ser texto, e valores devem ser escalares (texto, booleano, inteiro, decimal) ou objeto Date, que é registrado com precisão de segundos. Para compras, a CleverTap usa o evento Charged.

Boa prática: mantenha o dicionário de eventos alinhado ao GA4. Se o GA4 tem view_item, a CleverTap tem o equivalente com as mesmas propriedades.

profile.push x onUserLogin: a diferença que evita perfis duplicados

Aqui mora o erro mais caro da implementação.

  • profile.push adiciona os dados ao perfil atual, seja ele qual for.
  • onUserLogin é inteligente: se o perfil atual é anônimo, recebe os dados; se já é da mesma pessoa, os dados são somados; se pertence a outra pessoa, cria um novo perfil para o usuário que acabou de entrar.

clevertap.onUserLogin.push({

"Site": {

"Identity": 61026032,

"Email": "cliente@exemplo.com"

}

});

Regra prática: onUserLogin no login e no cadastro; profile.push para atualizar atributos (plano, idioma, preferência) de quem já está identificado.

Usar profile.push no login num aparelho compartilhado sobrescreve o perfil de outra pessoa. No Android, a documentação ainda alerta para não chamar onUserLogin diretamente no onCreate.

Privacidade: optOut e useIP

O snippet traz duas configurações de privacidade: optOut, que deve ser true quando o usuário recusa o compartilhamento de dados, e useIP, que deve ser true apenas quando o usuário aceita o uso do IP. Conecte as duas ao seu banner de consentimento ou CMP, preferencialmente via Google Tag Manager, e defina a base legal com o jurídico.

SDKs mobile

A CleverTap tem SDKs para Android, iOS e frameworks híbridos. No Android, eventos usam pushEvent e o perfil usa onUserLogin com um mapa de propriedades. Canais de notificação precisam ser criados para push funcionar em versões recentes do Android.

Upload Events API: dados do servidor

Nem todo evento acontece no app. Pedido faturado no ERP, cancelamento pelo atendimento e pagamento aprovado no gateway entram pela Upload Events API: um POST com JSON, associando o evento a um identificador do usuário.

Os limites que você precisa planejar: até 1.000 registros por chamada, até 512 tipos de evento por conta (alguns reservados ao sistema), até 256 propriedades por tipo de evento e até 15 requisições simultâneas por conta. O volume total de eventos é ilimitado. Há também uma Profile API para atualizar perfis pelo servidor.

Os 512 tipos de evento acabam rápido quando cada time cria o seu. Governança de nomenclatura não é opcional.

Os erros que mais aparecem

  1. profile.push usado no login, misturando perfis em aparelhos compartilhados.
  2. Nomes de evento criados sem padrão, consumindo o limite de tipos.
  3. Propriedades com objetos aninhados, que não são aceitos como valor.
  4. optOut e useIP fixos no código, sem ligação com o consentimento.
  5. Eventos de backend enviados um a um em vez de lotes de até 1.000.

Perguntas frequentes sobre CleverTap

O que é a CleverTap?

Uma plataforma de customer engagement e product analytics para web e apps, com eventos, perfis, segmentação e campanhas.

Qual a diferença entre profile.push e onUserLogin?

O profile.push sempre atualiza o perfil atual; o onUserLogin decide entre atualizar, somar ou criar novo perfil conforme a identidade de quem entrou.

Como enviar eventos para a CleverTap?

No web, com clevertap.event.push(nome, propriedades); no Android, com pushEvent.

Quantos eventos cabem por chamada na Upload Events API?

Até 1.000 registros por chamada.

Qual o limite de tipos de evento na CleverTap?

Até 512 por conta, com parte reservada a eventos de sistema.

A CleverTap tem configuração de privacidade?

Sim, as flags optOut e useIP no SDK, que devem refletir o consentimento do usuário.