Smartico
Smartico é a plataforma de gamification + CRM + retention integrada à plataforma Cactus. Não é tracker de marketing tradicional — é a engine que entrega torneios, missões, prêmios e segmentação interna pra todas as brands.
Configuração por brand
Smartico é configurado via campo brand_key em app/config/gamification.ts (ou backoffice). Cada brand tem seu próprio Smartico project ID.
| Brand | Smartico ativo? |
|---|---|
| Vera | sim (com cashback, tournaments, missions) |
| 7k | sim |
| Cassino | sim |
| Demais | (verificar config gamification) |
Como funciona
Eventos enviados
Smartico recebe eventos de funil parecidos com os do GTM, mas vai direto pro backend Smartico (não passa pelo dataLayer):
- Login / Logout
- Sign-up
- Deposit initiated / confirmed
- Bet placed (jogo)
- Withdraw
Smartico SDK também aceita events custom — definidos pelo time de gamification.
Cookies
Smartico SDK escreve cookies próprios _smartico_* (formato interno). TTL ~1 ano. Categoria LGPD: outros / marketing.
Matching de user
Front passa:
userId— ID do user na plataforma CactususerHash— hash assinada (HMAC) provando que o front conhece o user
Smartico valida o hash server-side antes de associar eventos. Sem hash válido, eventos viram "anonymous" no Smartico.
Widgets in-app
Smartico injeta widgets no DOM (popups, badges de gamification, nofitications) quando o painel Smartico configura "widget triggers". Front não controla esses widgets — só fornece o SDK + identify.
Como debuggar
Smartico dashboard
smartico.ai → painel da brand → Activity Stream pra ver eventos chegando.
Console
window._smartico // SDK Smartico global
window._smartico_user_id // ID do user atual (após identify)
window._smartico_user_hash // hash atual
Anti-patterns
- Trocar
userHashalgorithm sem coordenar com Smartico backend. Quebra matching. - Logar user em Smartico antes de logar no Cactus.
identifyrequeruserIdválido.