Firefox Enhanced Privacy Protection блокирует Datalayer pu sh для Google Tag Manager - PullRequest
4 голосов
/ 19 июня 2020

За последние несколько недель я понял, что отслеживание конверсий в Google Analytics на веб-сайте, который мы создали и поддерживаем, отключалось примерно на 20-40% каждый день.

При тестировании в любом браузере, кроме Firefox, все работает нормально, и вы можете сразу увидеть конверсии, отправляемые в Analytics.

Однако в Firefox, когда у вас включена улучшенная защита конфиденциальности ON, (теперь он включен по умолчанию), вы получите следующую ошибку:

запрос Cross-Origin заблокирован: та же политика происхождения запрещает чтение удаленного ресурса по адресу https://www.googleadservices.com/pagead/conversion/957837126/wcm?cc=ZZ&dn=01858439338&cl=ITVOCP2S_34Qxt7dyAM&ct_eid=2. (Причина: запрос CORS не выполнен).

Как только вы отключите Enhanced Privacy Protection, он работает отлично.

Код, который я использую для передачи sh на уровень данных , если это имеет какое-либо значение:

<script type="text/javascript">
  document.addEventListener( 'wpcf7mailsent', function( event ) {
   window.dataLayer.push({
      "event" : "cf7submission",
      "eventAction": "FormSubmission",
      "eventCategory": "Contact Form Submission",
      "eventCallback" : function() {
        // Firefox never gets to run this callback to redirect page - which is what triggered further investigation.
        window.location.href = "https://www.domain.co.uk/thank-you/"; 
        return false;
      },
      "eventTimeout" : 2000 // I had to add this in so that it still redirects to thank you when datalayer push fails.
    });    
  }, false );
</script>

Слушатель событий должен просто проверять, когда электронное письмо было отправлено сайтом, а затем остальное должно быть sh на уровне данных для отслеживания и затем по завершении перенаправьте на страницу с благодарностью.

На мой взгляд, это определенно не ошибка, связанная с CORS в том смысле, что запрос исходит от нашего локального скрипта с правильными заголовками. Код работает во всех других браузерах без проблем.

Firefox есть эта страница https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSDidNotSucceed, чтобы попытаться объяснить, почему мы получаем ошибку:

Причина 1:

Ошибка сертификата: это Google, это не ошибка сертификата

Причина 2:

Запрос HTTP на HTTPS: HTTPS на сайте с Let's Encrypt SSL

Причина 3:

Не разрешен доступ к локальному хосту: это не локальный хост, а действующий сайт

Причина 4:

Сервер не ответил: Опять же, это Google, он отвечает на все.

TL; DR: Firefox блокирует уровень данных pu sh когда включена усиленная конфиденциальность, но при этом должен разрешаться запуск стандартного скрипта отслеживания конверсий в соответствии с их собственными документами. Почему он нас блокирует и какой код мне нужно обойти?

ОБНОВЛЕНИЕ

Я нашел эту ссылку https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Privacy/Tracking_Protection в котором говорится:

Как Firefox выбирает, что блокировать?

Контент блокируется в зависимости от домена, из которого он должен быть загружен.

Firefox поставляется со списком сайтов, которые были определены как участвующие в межсайтовом отслеживании пользователей. Если защита от отслеживания включена, Firefox блокирует контент с сайтов в списке.

Сайты, которые отслеживают пользователей, чаще всего являются сторонними рекламными и сайтами аналитики .

Неужели Firefox серьезно блокирует теперь стандартное отслеживание конверсий Google Analytics?

1 Ответ

2 голосов
/ 24 июня 2020

Похоже, я был в определенной степени прав в своих первоначальных предположениях. Firefox теперь не блокирует весь доступ к аналитике по умолчанию, но он блокирует все, что связано с рекламой, которое пытается отправить код конверсии или отслеживания, связанный с рекламой.

Итак, если вы пытаетесь достичь цели по завершении действия, связанного с рекламой, он будет заблокирован, в то время как другие сценарии, связанные с отслеживанием, будут запущены.

Firefox выбрал свой собственный список сценариев отслеживания сторонних разработчиков и по умолчанию , теперь он их всех блокирует.

Интересные моменты

Google, очевидно, полагается на эти данные отслеживания конверсий, и поэтому Chrome довольно сильно отстает в реализации чего-либо, чтобы заблокировать трафик, связанный с рекламой c, на нем они зарабатывают деньги, поэтому не имеет смысла блокировать себя. В настоящее время они занимают более 60% рынка в отношении использования (https://en.wikipedia.org/wiki/Usage_share_of_web_browsers), так что ваше отслеживание пока будет в порядке.

Однако и Safari, и Firefox, ни из которых полагаются на доход от рекламы, внедрили строгие меры по отслеживанию.

Safari & Firefox

Firefox делает все возможное и блокирует скрипты отслеживания, связанные с сторонние источники. Обратите внимание на «третью сторону», когда рекламодатель встраивает свой скрипт на ваш сайт.

Safari, с другой стороны, пошел дальше и автоматически удалит ВСЕ файлы cookie, связанные с отслеживанием, через 7 дней не на сайте. Это сильно сократит ваши данные, поскольку, хотя он по-прежнему будет показывать посетителей, они будут отображаться как новые посетители вместо вернувшиеся посетители .

Заключение

Сейчас я чувствую, что это начало конца традиционной конверсии и отслеживания рекламы для владельцев веб-сайтов, и что-то должно измениться в ближайшем будущем, поскольку эти изменения браузера начинают кусаться.

Я пока не знаю, как это обойти. Я попытался использовать прокси-сервер для обхода встраиваемых данных отслеживания, но, не зная, как и что Google отслеживает при каждом вызове скрипта, было невозможно подделать данные, отправленные в аналитику.

...