Google Analytics дважды обращался к веб-приложениям React

У меня есть веб-приложение (блог), и я создал его с помощью React (React-starter-kit). После развертывания и добавления GA на свой Html.js я проверил сайт с помощью Tag Assistant от Google и обнаружил, что после открытия моей домашней страницы и перенаправления на страницу сведений о статье тег GA вызывается снова (с UA -... ....).

Ниже приведен фрагмент моего кода в Html.js для добавления GA:

 <body>
                <div id = "app" dangerouslySetInnerHTML = {{ __html: children }} />
                <script
                    dangerouslySetInnerHTML = {{ __html: `window.App=${serialize(app)}` }}
                    />
                {scripts.map(script => <script key = {script} src = {script} />)}
                {config.analytics.googleTrackingId && (
                    <script
                      dangerouslySetInnerHTML = {{
                        __html:
                          'window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;' +
                          `ga('create','${
                            config.analytics.googleTrackingId
                          }','auto');ga('send','pageview')`,
                      }}
                    />
                  )}
                {config.analytics.googleTrackingId && (
                    <script
                        src = "https://www.google-analytics.com/analytics.js"
                        async
                        defer
                    />
                )}

Я подозреваю, что причиной того, что код GA был обнаружен 2 раза, является повторный рендеринг маршрутизации и Html.js.

Как я могу это исправить?

Спасибо.

Вам необходимо переместить код аналитики Google за пределы вашего компонента. В некоторых стартовых наборах React есть место для кода аналитики, вы можете увидеть, есть ли у вас то же самое. Какой репо к вашему стартовому набору?

Thomas 28.05.2018 16:06

Я использовал этот: reactstarter.com, не могли бы вы посоветовать?

Andree Wijaya 28.05.2018 17:38

Вы можете добавить свой код аналитики в /src/config.js, строка 41 github.com/kriasoft/react-starter-kit/blob/master/src/…

Thomas 28.05.2018 17:41

эм, да, добавил туда код аналитики свой ID. Однако проблема, как показано в приведенном выше коде, я отправляю просмотр страницы в GA и использую этот идентификатор из config.js. Однако, когда я перехожу от одного компонента к другому, код GA для отправки просмотра страницы вызывается дважды.

Andree Wijaya 28.05.2018 17:45
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
394
0

Другие вопросы по теме