Pular para o conteúdo principal

Cookies — referência completa

Esta página lista todos os cookies que a plataforma escreve ou lê, com TTL, escopo, conteúdo e quem é responsável por cada um. É a página de referência mais consultada do time de marketing.

Categorias

Os cookies são agrupados em 4 categorias do banner LGPD (detalhes em Consent):

CategoriaPode desativar?Cookies aqui
NecessáriosNão (sempre granted)jwt_token, cookies_consent, __cf_bm, _cfuvid
PerformanceSim_ga, _gid, _gat, etc (Google Analytics)
FuncionalidadeSimpreferências de idioma, layout
Outros / marketingSimcookie_tracking, cookie_referrer, rmkvera, rmkvera_aud, lastclick, _fbp, _fbc, etc

Cookies de tracking / atribuição

AtributoValor
TipoJSON
TTL default7 dias (configurável por brand via trackingCookieTtlHours)
Path/
SameSiteNone em HTTPS, Lax em HTTP dev
Securesim em HTTPS
HttpOnlynão (client precisa ler pra montar payload)
Categoria LGPDOutros / marketing
Quem escreveServer (root loader) + client (TrackingCapture)

Conteúdo:

{
"utm_source": "facebook",
"utm_campaign": "black-friday",
"utm_content": "banner-v3",
"utm_medium": "cpc",
"utm_oferta": "first-deposit-100pct",
"src": "fb_ads",
"app_source": "web",
"affiliation_code": "AFIL1",
"subid": "rt_subid_42",
"gclid": "Cj0KCQjw...",
"fbclid": "IwAR3...",
"media_source": "google",
"media_clid": "Cj0KCQjw..."
}

Cap de 20 chaves (proteção contra URL stuffing). Todos os clicked-IDs presentes são preservados; UTMs custom (utm_oferta, etc) são descartados primeiro quando atinge cap.

Cookies legacy paralelos: o front também escreve src, utm_source, utm_campaign, utm_content, utm_medium, app_source como cookies individuais (não JSON) pra compatibilidade com validadores de afiliados antigos e scripts legados. Mesmo TTL e SameSite.

Detalhes em UTMs.

AtributoValor
TipoJSON
TTL30 dias
Path/
SameSiteLax
HttpOnlynão
Categoria LGPDOutros / marketing
Quem escreveClient (TrackingCapture, primeira navegação)

Conteúdo:

{
"referrer": "https://google.com/search?q=cassino+online",
"hostname": "google.com",
"cinfoId": "abc123",
"cinfoIdRef": "def456"
}
  • referrer / hostname: capturados de document.referrer na primeira navegação do tab. Não atualiza em SPA navs (não faria sentido — referrer interno).
  • cinfoId / cinfoIdRef: ecoados dos response headers X-INFOS-ID / X-INFOS-REF que o BFF envia após login/register.

Lido pelo @cactus-agents/api-client em toda request pra preencher headers X-ORIGIN-REFERRER, X-ORIGIN-HOSTNAME, X-ORIGIN-CINFO-ID, X-ORIGIN-CINFO-ID-REF. Detalhes em Headers.

_ga (Google Analytics)

AtributoValor
Tipostring (formato GA4)
TTL2 anos (escrito pelo Google)
Path/
SameSite(definido pelo Google)
Categoria LGPDPerformance
Quem escreveGA4 SDK (carregado via GTM)

Conteúdo: GA1.1.1234567890.0987654321 (formato GA<version>.<part>.<client_id>.<creation_ts>).

O front lê o valor raw (sem split) e envia como ga_client_id nos payloads de signup e deposit. Importante: paridade legado é raw — split em client_id.timestamp (como uma iteração antiga fez) produz payload que o BFF não valida.

rmkvera (e similares por brand)

AtributoValor
TipoJSON
TTL365 dias (sliding — renova a cada visita)
Path/
Domain.vera.bet.br (cross-subdomain)
SameSiteNone em HTTPS
Securesim
HttpOnlynão (CAPI / pixel client-side leem)
Categoria LGPDOutros / marketing
Quem escreveServer (root loader, primeira visita) + client (sliding refresh)
Brands ativasvera-bet-br (cookie name rmkvera). Outras brands ativam via override declarando seu próprio cookieName.

Conteúdo:

{
"id": "8f2c1a4b-3d3e-4b6c-9c1f-2d6c1f2d6c1f",
"ts": 1731000000000,
"src": "google"
}
  • id: UUID v4 first-party. Estável por 365 dias, renovado a cada visita.
  • ts: timestamp de criação (epoch ms). Útil pra cohort analysis.
  • src: snapshot do utm_source ou referrer no momento da criação. Nunca sobrescrito.

Usado como external_id em CAPI / Enhanced Conversions / TikTok Events API. Detalhes em Remarketing.

Naming convention por brand:

BrandCookie nameCookie domain
Verarmkvera.vera.bet.br
(futuras)rmk7k, rmkst77, etc.7k.bet.br, .state77.com, etc

:::warning Brand-neutral Nunca usar cactus ou bluetec no cookie name (vaza plataforma white-label). Brand-specific names estão OK porque o cliente final vê a brand mesmo. O front rejeita em runtime nomes que contenham esses termos. :::

rmkvera_aud (audience tags)

AtributoValor
TipoJSON
TTL90 dias (sliding)
Demais atributosiguais ao rmkvera

Conteúdo:

{
"tags": {
"viewed_casino": 1731000200000,
"viewed_sports": 1731000400000,
"clicked_register": 1731000600000,
"ftd_completed": 1731002000000
},
"updated": 1731002000000
}

Tags de funil são set-once (re-tagging não atualiza timestamp, evita churn). Cap de 40 tags totais; quando estoura, canonical priority preserva funnel tags e descarta tags viewed_game_* primeiro.

Detalhes completos em Remarketing.

lastclick (Clever Advertising)

AtributoValor
Tipostring (raw)
TTL30 dias
Path/
SameSiteNone (obrigatório — Clever cross-site)
Securesim
HttpOnlynão
Categoria LGPDOutros / marketing
Quem escreveServer (rota /clever)
Brands ativasaffiliateClever: true (vera, 7k, cassino)

Conteúdo: affiliate-id-clever-raw — string opaca (sem sanitização — Clever pode usar formato qualquer).

Detalhes em Affiliate.

Cookies de pixels (escritos por scripts third-party)

Esses cookies são escritos pelos próprios scripts de pixels (não pelo front). Listados aqui pra referência:

Meta (Facebook Pixel)

CookieConteúdoTTL
_fbpBrowser ID gerado pelo Pixel90 dias
_fbcClick ID (vem de fbclid na URL)7 dias após primeiro clique

Categoria: outros / marketing. Lidos pelo Pixel pra reconciliar conversões.

TikTok

CookieConteúdoTTL
_ttpTikTok Pixel ID13 meses

Kwai

Similar ao TikTok — escreve _kwaiq_* (formato interno do SDK).

Google Analytics auxiliares

_gid (1 dia), _gat (1 minuto), _gcl_au (90 dias) — todos categoria performance.

Cookies de auth + segurança

jwt_token

AtributoValor
TipoJWT (string opaca)
TTLsessão (sliding)
Path/
SameSiteLax
Securesim
HttpOnlysim
Categoria LGPDNecessários
Quem escreveBFF (após login bem-sucedido)

HttpOnly = client não consegue ler — só o server lê via Cookie header. Nunca disponível no document.cookie.

AtributoValor
TipoJSON
TTL12 meses
Path/
SameSiteLax
HttpOnlynão (banner client-side lê pra decidir se renderiza)
Categoria LGPDNecessários (irônico — o cookie de consent é um cookie necessário)
Quem escreveBanner (CookieConsentBanner)

Conteúdo:

{
"necessary": true,
"performance": true,
"functionality": false,
"others": true,
"timestamp": 1731000000000
}

Detalhes em Consent LGPD.

__cf_bm, _cfuvid (Cloudflare)

Cookies escritos pela Cloudflare (proteção bot + visitor identifier). Necessários pra plataforma rodar. TTL ~30 minutos. Categoria: necessários.

Cookies de PWA / app

sessionStorage (não cookie tradicional) — guarda o AppsFlyer ID quando o user está em modo TWA. Detalhes em App Mode.

sessionStorage — Advertising ID do device (Google AAID), passado pelo TWA bridge. Modo app only.

sessionStorage — versão do APK ativo. Permite gating de features por versão de app.

Tabela-resumo

CookieTTLCategoriaHttpOnlyPra que serve
cookie_tracking7d (config)MarketingNãoUTMs + clicked-IDs + affiliate
cookie_referrer30dMarketingNãoReferrer first-touch + cinfo IDs
_ga2 anosPerformanceNãoGA client ID
rmkvera365d slidingMarketingNãoRemarketing UUID first-party
rmkvera_aud90d slidingMarketingNãoAudience tags do funil
lastclick30dMarketingNãoClever Advertising affiliate
_fbp90dMarketingNãoFacebook Pixel browser ID
_fbc7dMarketingNãoFacebook Pixel click ID
jwt_tokensessãoNecessáriosSimAuth
cookies_consent12mNecessáriosNãoPreferências LGPD
__cf_bm30minNecessáriosSimCloudflare bot mgmt
_cfuvidsessãoNecessáriosSimCloudflare visitor

Como inspecionar

DevTools → ApplicationCookies → selecione o domínio.

Filtrar por nome no campo de search da tabela. Pra inspecionar o JSON do cookie_tracking ou rmkvera, clica na linha e o painel inferior mostra "Cookie Value" com botão "Show URL-decoded" pra ver o JSON formatado.

Anti-patterns

  1. Tornar cookie_tracking HttpOnly. Quebra o submit de signup/deposit (client precisa ler).
  2. Mudar SameSite do lastclick pra Lax. Quebra Clever cross-site.
  3. Setar TTL absurdamente alto (trackingCookieTtlHours: 99999). Marketing perde controle de janela de atribuição.
  4. Renomear cookie em produção sem migration. Existing users perdem state. Se precisar renomear, adiciona migration one-shot (lê legado, grava novo, deleta legado). Ver app/utils/consent.ts:LEGACY_CONSENT_COOKIE_NAMES pro padrão.
  5. Usar cactus ou bluetec em cookie name. Vaza plataforma white-label. Front rejeita em runtime, mas evite na config.