Beacon API
Uma chamada que entrega uma pequena quantidade de dados ao navegador com a promessa de que serão enviados, mesmo que a página feche naquele exato instante.
O método existe para resolver um problema antigo e feio. Se você quisesse registrar algo quando o usuário saísse da página, só havia um jeito: uma requisição síncrona no manipulador de unload, que travava o navegador e impedia a navegação até terminar, deixando a próxima página lenta. Os navegadores responderam cancelando requisições em andamento durante o unload, e aí o analytics começou a perder dados silenciosamente. Com navigator.sendBeacon(), a requisição é entregue ao navegador, que a envia independente do tempo de vida do documento. As limitações são que só dá para fazer POST, nenhuma resposta pode ser lida, e o tamanho é limitado. A recomendação atual é disparar na transição para o estado oculto em vez de no unload, já que navegadores móveis muitas vezes nunca disparam esse último.