Как отключить автоматическое ведение журнала просмотра страниц в Firebase analytics

#javascript #firebase #google-analytics #firebase-analytics

#javascript #firebase #google-analytics #firebase-аналитика

Вопрос:

Я использую официальный Firebase JS SDK в SPA на основе Vue. Чтобы получить более полезную аналитику благодаря интеграции Firebase firebase.analytics() с Google Analytics, я хотел бы отключить автоматическую отчетность о page_view событиях.

Я знаю, что под капотом Firebase Analytics использует Google gtag.js для отчетности в Google Analytics, и я знаю, что могу настроить gtag так, чтобы он не отправлял это событие автоматически, например:

 gtag('config', 'MEASUREMENT_ID', {
  'send_page_view': false
});
  

Моя проблема в том, что я не могу найти способ установить такое значение конфигурации firebase.analytics() . Я пробовал analytics.setUserProperties({ send_page_view: false }) , но, похоже, это не работает, поскольку событие page_view по-прежнему передается в Google.

Есть ли какой-либо способ установить это значение конфигурации в Firebase analytics или есть другой способ отключить автоматическую отчетность о просмотре страниц здесь?

Ответ №1:

В настоящее время я ищу это же решение. Я использую firebase analytics в приложении react spa. Для меня решение, предложенное @Draven, похоже, не работает.

Используя расширение Chrome для отладки GA, я вижу Processing GTAG command: ["config", "G-3MVDF7WX31", {send_page_view: false}] , что меня вызывают, но вскоре после этого я также вижу Sending event "page_view" to undefined , что меня вызывают. После этого Processing GTAG command: ["config", "G-3MVDF7WX31", {send_page_view: false}] снова вызывается. Используя Google Analytics DebugView, я все еще вижу, что событие просмотра страницы регистрируется.

Обновить

Просматривая Firebase JS SDK, похоже, нет способа отключить page_view по умолчанию, который возникает во время вызова firebase.analytics() . Однако я придумал обходной путь, который после легкого тестирования, похоже, работает. Перед вызовом укажите следующее firebase.analytics() :

 <script>
window.dataLayer = window.dataLayer || [];

function gtag() { dataLayer.push(arguments); }

gtag('set', { 'send_page_view': false });
</script>
  

Смотрите Проблему github: https://github.com/firebase/firebase-js-sdk/issues/3988

Ответ №2:

Вы можете использовать Firebase с существующими gtag.js пометка. Основываясь на этой документации, вам нужно сначала вызвать firebase.analytics() перед отправкой событий с использованием gtag(), и данные будут связаны с Firebase.

 <script async src="https://www.googletagmanager.com/gtag/js"></script>

...

firebase.analytics();

...

gtag('config', 'MEASUREMENT_ID', {
  'send_page_view': false
});