Existem casos, entretanto, onde esta implementação não é viável, como em aplicações de página única ou quando se usa o Google Tag Manager. Nestes cenários você precisa programar a sua aplicação para disparar os eventos em um período de tempo controlado por você.
A implementação básica do nosso código dispara o evento de navegação assim que a página termina de carregar, similar ao método onload() do JavaScript ou ao método .ready() do jQuery.
Quando a navegação ou o fluxo do site são gerenciados através de requisições assíncronas, como o Ajax por exemplo, o navegador do usuário não faz redirecionamentos de página. Logo, o disparo automático não é executado e por esse motivo, não capturamos as informações de navegação do visitante em sua página.
Quem usa o Google Tag Manager também tem uma situação similar: os scripts são inseridos pelo GTM de forma assíncrona e mediante gatilhos, que podem ou não acontecer na hora do método onload().
Para permitir a captura da navegação nestes dois cenários (Single Page ou GTM) você deve usar uma implementação diferente, onde os eventos de navegação são disparados pela sua aplicação, dentro de um prazo programado previamente e descrito no JavaScript que irá implementar.
Ao implementar sua página existem vários elementos que são carregados em tempos distintos. O objetivo do script abaixo é "aguardar" a execução dos scripts existentes em sua página e somente após isso, ser carregado.
Para fazê-lo você deve inserir o parâmetro post_on_load: false na hora de carregar o nosso script, da seguinte forma:
Uma vez que a página esteja carregada você deve chamar o método Konduto.sendEvent(), passando como parâmetros o tipo de evento e a categoria da página:
Essa implementação não alterará a performance do seu site e será imperceptível ao visitante da sua página.