Novos visitantes
-
A API do visitante é carregada, analisada e executada.
-
A at.js / mbox.js é carregada, analisada e executada.
-
Se a criação automática da mbox global estiver acionada, a biblioteca JavaScript do Target:
- Iniciará o objeto do visitante.
- A biblioteca Target tenta recuperar os dados da ID de visitante do Experience Cloud.
- Como esse é um novo visitante, a API de visitante irá disparar uma solicitação de domínio cruzado para demdex.net.
- Depois que os dados da ID de visitante do Experience Cloud forem recuperados, uma solicitação para Target será acionada.
Visitantes que retornam
-
A API do visitante é carregada, analisada e executada.
-
A at.js / mbox.js é carregada, analisada e executada.
-
Se a criação automática da mbox global estiver acionada, a biblioteca JavaScript do Target:
- Iniciará o objeto do visitante.
- A biblioteca Target tenta recuperar os dados da ID de visitante do Experience Cloud.
- A API de visitante recuperará os dados dos cookies.
- Depois que os dados da ID de visitante do Experience Cloud forem recuperados, uma solicitação para Target será acionada.
Por que parece que vejo tempos de resposta mais lentos após a atualização de uma versão anterior da at.js para a versão 1.0.0?
A at.js versão 1.0.0 e posteriores acionam todas as solicitações paralelamente. As versões anteriores executam as solicitações sequencialmente, o que significa que elas são colocadas em uma fila e o Target aguarda até que a primeira seja concluída antes de passar para a próxima solicitação.
A forma como as versões anteriores da at.js executam as solicitações é susceptível ao chamado "bloqueio do topo da linha". Na at.js 1.0.0 e posteriores, Target alternou para a execução de solicitação paralela.
Por exemplo, se você verificar a cascata da guia de rede para a at.js 0.9.1, verá que a próxima solicitação Target não será iniciada até que a anterior tenha terminado. Isso não ocorre com a at.js 1.0.0 e posteriores, pois nestas versões as solicitações são iniciadas basicamente ao mesmo tempo.
Da perspectiva de tempo de resposta, matematicamente, essa sequência pode ser resumida assim
- at.js 0.9.1: tempo de resposta de todas as Target solicitações = soma do tempo de resposta das solicitações
- at.js 1.0.0 e posteriores: tempo de resposta de todas as Target solicitações = tempo máximo de resposta das solicitações
A versão 1.0.0 da biblioteca at.js conclui as solicitações mais rapidamente. Além disso, as solicitações da at.js são assíncronas, por isso o Target não bloqueia a renderização da página. Mesmo que as solicitações levem alguns segundos para serem concluídas, você ainda verá a página renderizada, mas apenas algumas partes da página ficarão em branco até que o Target receba uma resposta da borda do Target.