Nosso JavaScript pode ser usado para canalizar entradas e visitantes de páginas sem a necessidade de links de redirecionamento. No entanto, os dois podem e DEVEM ser usados em conjunto.
Em outras palavras, é melhor que nosso JS esteja sempre nas páginas, independentemente do cenário.
Isso ocorre porque o JS não apenas rastreia visitas à página, mas tem várias funções auxiliares que melhoram a confiabilidade do rastreamento.
Nossos detalhes de JavaScript já estão documentados aqui, o que explica como obter dados do JS e as funções auxiliares.
No entanto, darei um resumo técnico abaixo.
Rastreamento de Visualização JavaScript
Nosso JS irá processar os atributos incorporados + parâmetros de URL, que têm prioridade se presentes, e enviar por POST uma carga útil de dados para nossa borda (via o domínio personalizado do usuário):
https://USER_DOMAIN/js/funnel
Nossa borda responderá, se o rastreamento for bem-sucedido, com uma carga útil padrão que inclui o ID do visitante (um VID), o ID do nó atual e um ID de hit, por exemplo
{ "error": "", "resolvedTokens": { "{hit}": "1wj7y5680dz26p1g9p0101", "{visitor}": "afdwb7QPV6Y59aTP3fQxZ3tX2ox", "{current-node-id}": "0XJbzUwQYEWa" }, "skv": "vid" }
O ID do visitante é um identificador de nível de sessão de um usuário. Esses objetos de sessão são armazenados em um cache centralizado que é implantado em vários datacenters junto com nossa borda.
Os VIDs têm a localização da borda codificada no ID, de modo que se os usuários tiverem um valor VID presente e mudarem de localização (ou por exemplo, VPN), nossa borda pode verificar o banco de dados de cache correto para o objeto de sessão.
O ID de Hit é um ID único para a visualização da página atual. Um único visitante fará um ID de hit único para cada nó que tocar.
O ID do nó atual é autoexplicativo.
Atributos Incorporados e Opções
Para modificar o comportamento do JS FunnelFlux e os tokens retornados, consulte o respectivo documento em nossa seção JS aqui.
Funções Auxiliares
Estas são detalhadas aqui.
É por isso que é importante que nosso JS esteja presente em todas as páginas.
Primeiramente, o JS adicionará automaticamente uma tag meta referrer à página, que substitui o comportamento padrão do navegador e passa o referenciador completo para os links subsequentes.
Isso torna o urlRewrite anterior útil, caso contrário o referenciador passado por padrão (pelo menos no Chrome) é apenas o nome do host
Em segundo lugar, os elementos <a> na página são verificados para *action/*
e, se encontrado, nosso JS acrescentará:
...vid=VISITOR_ID&rn=CURRENT_NODE_ID
Esta declaração explícita no link de ação remove qualquer dependência de referenciador/cookies em um clique subsequente, pois o identificador de sessão do usuário E o ID do nó de referência são declarados.
Observe aqui que a função urlRewrite adiciona n=CURRENT_NODE_ID
à URL, enquanto os links de ação têm o ID do nó atual adicionado como o parâmetro "rn" ou "referring node".
Isso é importante devido à nossa outra funcionalidade: se o atributo data-lum="action"
for adicionado a qualquer elemento <a>, também anexamos os dados acima.
Isso é útil para quando se liga diretamente entre páginas sem um link de ação (redirecionamento), mas onde um usuário ainda quer garantir um rastreamento confiável. Um exemplo disso pode ser visto na página inicial do funnelflux.com. Observe o código-fonte e como o link para a opção na nuvem será atualizado para incluir esses parâmetros de URL.
Neste cenário, passar n=CURRENT_NODE_ID
carregaria a próxima página, o JS carregaria, e o parâmetro de URL tentaria substituir o ID do nó da página atual pelo do nó anterior, causando problemas. Por isso, "rn" é sempre usado para referenciar o nó de origem em um link de ação.