Запросы Google Analytics срабатывают при загрузке страницы из BFCache Safari

#google-analytics #google-tag-manager #web-analytics #bfcache

Вопрос:

Недавно я узнал о BFCache и о том, как он влияет на инструменты веб-аналитики. Чтобы выяснить, насколько велика проблема на моем веб-сайте, я реализовал решение из web.dev. Я добавил пользовательское измерение, чтобы увидеть, запускается ли просмотр страницы через этот новый прослушиватель событий или через «обычный» просмотр страницы, а также добавил пользовательское измерение, чтобы увидеть статус performance.navigation.type (я знаю, что он устарел, но пока он все еще работает). К моему удивлению, я получил прирост примерно на 3,5%, что означает, что за один день, когда я реализовал решение, 3,5% просмотров страниц были запущены через событие pageshow.

НО: примерно в 5% этих случаев как событие pageshow, так и обычное событие просмотра страницы запускали просмотр страницы. И что еще более интересно: в большинстве из этих случаев сначала запускался просмотр страницы, а затем, вскоре после этого, запускался обычный просмотр страницы, последний из которых содержал «0» в качестве типа навигации вместо «2», как и следовало ожидать. Таким образом, кажется, что в некоторых случаях javascript кэшированной страницы снова запускается при загрузке страницы из кэша, при этом вся информация о странице остается такой, какой она была, когда страница была помещена в кэш(например, тип навигации «0»).

Мне удалось воссоздать это поведение в моем браузере safari, но я только случайно, так как не смог увидеть закономерность, когда запускается второй «нормальный» просмотр страницы, а когда нет.

Итак, короче говоря: есть идеи, почему safari будет повторно выполнять javascript, когда страница загружается из BFcache?