Changelog
Esta página registra mudanças de comportamento — as que alteram o que você vê em uma instalação que já estava funcionando. Correções internas e novidades sem efeito observável não entram aqui.
Próxima versão — O detalhe do evento volta a mostrar o evento inteiro
User agent e endereço IP aparecem de novo
Desde a 3.7.0, o user agent e o endereço IP do evento não apareciam em nenhuma das duas abas do detalhe. Voltam a ser exibidos.
O que você pode observar: os dois campos reaparecem no detalhe, inclusive nos eventos que já estavam gravados. Nenhum dado novo foi coletado — o Node nunca deixou de guardar os dois.
A aba Raw JSON volta a ser o evento inteiro
A aba Raw JSON passa a mostrar o evento remontado a partir de onde cada parte está guardada: as colunas da linha do evento, os identificadores de atribuição, a identidade e a compra. Ela deixa de ser um pedaço do evento e volta a conter tudo o que a aba Formatado mostra, e mais.
O que você pode observar: a aba Raw JSON fica maior e passa a incluir campos que a Formatado não lista.
A sessão aparece como bloco próprio
Os dados de sessão do evento passam a aparecer em um bloco separado, identificado como dados de sessão, em vez de misturados aos campos do próprio evento.
Supreme Elements: o seu próprio JavaScript, servido pelo seu Node
O Node passa a guardar, compilar e servir JavaScript de navegador que você mesmo escreve, um conjunto por Propriedade. É uma capacidade central do Node, sem plano e sem cobrança à parte.
O que você salva fica no banco e não muda nada ao vivo. Um publish explícito compila os Elements ativos da Propriedade em um único arquivo de primeira parte, e é esse arquivo — e só ele — que os seus visitantes executam. Editar não publica.
O arquivo é servido em um endereço novo, no seu próprio domínio:
GET /lib/supreme-elements.js?pid={property_id}
Ele depende do Loader estar na página: os Elements chamam window.supremeSend, que é o Loader quem define. Uma página com a tag do Elements e sem a do Loader não emite nada.
O que você pode observar: nada, até você escrever o primeiro Element e publicá-lo. Um Node que atualiza e não usa a funcionalidade serve exatamente o que servia antes — o endereço responde 404 enquanto a Propriedade não tiver nada publicado. Quando você publicar, os eventos que vierem de um Element passam a chegar com a origem supreme_elements, e não mais como direct.
O endereço /lib/supreme-elements.js passa a ser do próprio Node
A lane de módulos serve arquivos em /lib/supreme-<slug>.js. O endereço /lib/supreme-elements.js deixa de pertencer a ela: agora é resolvido antes, pela capacidade central. Na prática o slug elements fica reservado — um módulo de integração com esse nome nunca seria alcançado nessa URL.
O que você pode observar: nada. Nenhum módulo distribuído usa esse slug.
Também nesta versão
- Nada voltou para o banco. Não há migração e não há mudança de estrutura: a mudança é só de leitura. Uma instalação que atualiza não tem nada a fazer, e os eventos antigos passam a aparecer completos sem nenhum reprocessamento.
- O jar de cookies continua fora do armazenamento. O Node guarda os identificadores que vieram dele —
_fbp,_fbc,ga_client_id,ga_session_ide ostuid— e não o cookie cru. O porquê está em O payload canônico de evento.
3.7.0 — A linha do evento encolhe, e o detalhe perde dois campos
O evento passa a ocupar cerca de um terço do espaço
Cada evento gravava um custom_payload que era, na prática, uma cópia da própria linha: URL, user agent, IP, UTMs, identificadores de clique, cookies crus e os dados do lead — tudo isso já existia em colunas ao lado, na sessão ou na identidade. Esses campos deixaram de ser duplicados dentro do JSON.
O que você pode observar: a tabela de eventos passa a ocupar bem menos espaço no banco. Medido em um page_view real, a linha inteira caiu de 3.486 para 1.156 bytes. Nenhum evento é perdido e nada precisa ser reconfigurado.
Listagem e detalhe de evento mais rápidos
Os valores de compra na tabela de eventos vinham da leitura do JSON linha a linha. Passam a vir da tabela de compras. O rollup diário e o fechamento de sessão também deixaram de abrir o JSON de cada evento.
O que você pode observar: as telas de eventos respondem mais rápido, e os valores de compra passam a acompanhar mudanças de status — um pedido reembolsado deixa de aparecer com o valor antigo.
Evento sem sessão não perde mais os identificadores de clique
Quando o navegador não conseguia abrir a sessão, o gclid, o fbclid e o _fbp do evento não eram gravados em lugar nenhum. Passam a ser guardados como os de qualquer outro evento, e o detalhe do evento volta a mostrá-los.
O detalhe do evento deixou de mostrar user agent e endereço IP
Esta versão levou o user agent e o endereço IP para colunas, mas o detalhe do evento não passou a lê-los de lá: os dois campos sumiram das duas abas. Pelo mesmo motivo, a aba Raw JSON passou a mostrar menos que a aba Formatado, em vez de mais.
O que você pode observar: o que se perdeu foi a exibição, não o dado — o Node continuou gravando os dois campos o tempo todo. A versão seguinte devolve as duas coisas; veja a seção acima.
3.6.1 — Propriedades passam a ser a autoridade de origem
O Domain do cookie primário agora usa o domínio mais amplo que a Propriedade reivindica
Antes, uma Propriedade que reivindicava loja.com e www.loja.com recebia Domain=www.loja.com — mais estreito que o domínio raiz. O efeito era uma identidade dividida: o mesmo visitante contava como duas pessoas ao passar de www.loja.com para loja.com, o problema descrito no hotfix de cookie primário da 3.5.2.
Agora o Node emite Domain=loja.com: entre todos os domínios que a Propriedade reivindica e que contêm o host da requisição, vale o mais amplo.
O que você pode observar: uma reconsolidação única de identidade conforme os visitantes voltam. Visitantes que antes apareciam duas vezes passam a aparecer como um só, então a contagem de visitantes distintos pode cair um pouco enquanto a base se reajusta. Nenhum evento é perdido.
ROOT_DOMAIN não bloqueia mais nada em tempo de execução
ROOT_DOMAIN era um valor único que fazia quatro trabalhos ao mesmo tempo, e um deles era autorizar toda origem de navegador. Quando ele sumia, todas as Propriedades de um Node paravam de aceitar eventos ao mesmo tempo — inclusive as que tinham domínios perfeitamente válidos.
Agora ele é apenas metadado de registro do Node, mais uma sugestão de uma vez só quando você cria a primeira Propriedade. Um Node sem esse valor serve todas as suas Propriedades normalmente. Não há nada para você configurar, conferir ou consertar aqui.
A autorização de origem passou a vir da lista de Domínios de cada Propriedade, e uma Propriedade mal configurada afeta apenas ela mesma — nunca o Node inteiro.
Também nesta versão
- Todo Node nasce sem nenhuma Propriedade. Não existe mais a "Propriedade padrão" criada sozinha e reescrita a cada compilação de configuração. Você cria cada Propriedade e digita os domínios que é dono. Veja Crie sua primeira Propriedade.
- Origens de webhook passam a carregar uma Propriedade explícita. As origens que já existiam foram vinculadas automaticamente à Propriedade 1 durante a atualização e continuaram funcionando sem nenhuma ação sua. Veja Aponte seus webhooks para uma Propriedade.