documentUnloading (Web SDK)

A propriedade documentUnloading permite usar o método sendBeacon do navegador para enviar dados para a Adobe. Esse método faz parte das APIs da Web do navegador, não da linguagem JavaScript em si. Se uma solicitação típica demorar muito, o navegador poderá cancelar a solicitação. Você pode instruir o Web SDK a usar sendBeacon para que a solicitação seja executada em segundo plano depois que você sair da página. Habilite essa propriedade para ajudar a impedir que solicitações de dados sejam canceladas pelo navegador durante o descarregamento.

O Web SDK usa sendBeacon somente depois que uma identidade de visitante é estabelecida. Antes de uma identidade ser estabelecida (por exemplo, no primeiro evento de um novo visitante), o Web SDK envia o evento para a Edge Network usando fetch para que ele possa receber a identidade na resposta. A partir da versão 2.36.1, essas fetch solicitações usam a opção keepalive para que o navegador conclua o envio da solicitação mesmo que o visitante saia da página.

Vários navegadores impõem um limite de 64 KB à quantidade de dados que podem ser enviados com sendBeacon de uma vez. O mesmo limite se aplica a fetch solicitações que usam keepalive. Se o navegador rejeitar o evento porque a carga é muito grande, o Web SDK voltará a usar seu método de transporte normal. Mesmo que um determinado navegador permita cargas maiores, os servidores de coleta de dados da Adobe reduzem as cargas para 64 KB.

Defina o booleano documentUnloading ao executar o comando sendEvent. Seu valor padrão é false. Defina essa propriedade como true se desejar usar o método sendBeacon para enviar dados ao Adobe.

IMPORTANT
Propriedade documentUnloading incompatível com propriedade renderDecisions. Evite definir ambas as propriedades como true simultaneamente.
alloy("sendEvent", {
  "xdm": adobeDataLayer.getState(reference),
  "documentUnloading": true
});

Validar eventos enviados com documentUnloading validate

Se a página sair antes da conclusão de uma solicitação sendBeacon, as ferramentas de desenvolvedor do Chrome poderão mostrar a solicitação (tipo ping) como (cancelada) mesmo quando o navegador continuar a enviá-la. As solicitações enviadas usando fetch com keepalive podem ser exibidas como canceladas da mesma forma. Esse rótulo por si só não estabelece se os dados foram perdidos.

Os logs de depuração do Web SDK também não podem confirmar a entrega. Os navegadores não retornam uma resposta para sendBeacon solicitações, portanto, o log mostra apenas que o Web SDK enviou a solicitação usando sendBeacon.

Abra uma ferramenta de inspeção antes de reproduzir a navegação. Procure uma resposta do servidor capturada ou, em uma sessão conectada do Edge Trace/Assurance, a solicitação recebida na Edge Network. Consulte Solicitações anuladas para o fluxo de trabalho de inspeção compartilhado e seus limites de evidência. A confirmação do recebimento do Edge não estabelece por si só o processamento downstream.

Quando os eventos podem ser perdidos data-loss

A propriedade documentUnloading não pode ajudar com eventos que o Web SDK ainda não enviou quando a página é descarregada. Por exemplo, o Web SDK retém eventos enquanto o consentimento é pending (consulte defaultConsent) ou enquanto aguarda a conclusão de uma solicitação de identidade em andamento. No segundo caso, o log de depuração mostra Delaying request while retrieving ECID from server.

Descarregamento de documento usando a extensão de tag do Web SDK

A caixa de seleção Documento será descarregado está disponível ao configurar uma ação Enviar evento ao usar a extensão de marca do Web SDK.

recommendation-more-help
experience-platform-help-collection