Добавление Google Analytics для реагирования
Я пытаюсь добавить Google Analytics в веб-приложение React.
Я знаю, как это сделать на сайтах HTML/CSS/JS, и я также интегрировал его в приложение AngularJS. Но я не совсем уверен, как это сделать, когда нужно реагировать.
С помощью HTML/CSS/JS я просто добавил его на каждую страницу.
То, что я сделал с AngularJS, добавляло GTM и скрипт GA к index.html и добавлял UA-метки в HTML-div (и кнопки), чтобы получать клики.
Как я могу это сделать с помощью React?
Пожалуйста помоги!
Ответы
Ответ 1
Обновление: февраль 2019
Поскольку я увидел, что этот вопрос много ищут, я решил расширить свое объяснение.
Чтобы добавить Google Analytics в React, я рекомендую использовать React-GA.
Добавить, запустив:
npm install react-ga --save
Инициализация:
В корневом компоненте выполните инициализацию, выполнив:
import ReactGA from 'react-ga';
ReactGA.initialize('Your Unique ID');
Чтобы сообщить о просмотре страницы:
ReactGA.pageview(window.location.pathname + window.location.search);
Чтобы сообщить о пользовательском событии:
ReactGA.event({
category: 'User',
action: 'Sent message'
});
Больше инструкций можно найти в репозитории github
Лучшая практика для этой ИМО - это использование реактив-га. Посмотрите на представителя GitHub
Ответ 2
Без использования пакета я бы это сделал:
В вашем index.js
(в методе render
):
{/* Global site tag (gtag.js) - Google Analytics */}
<script
async
src="https://www.googletagmanager.com/gtag/js?id=YOUR_TRACKING_ID"
/>
<script>{injectGA()}</script>
И вне класса:
const injectGA = () => {
if (typeof window == 'undefined') {
return;
}
window.dataLayer = window.dataLayer || [];
function gtag() {
window.dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'YOUR_TRACKING_ID');
};
Ответ 3
Еще одна отличная библиотека, которую вы можете проверить, - это редукционный маяк.
Он очень легко интегрируется с применением реакции/сокращения и имеет отличную документацию для него. ReactGA тоже хорош, но с маяком redux, вы не будете загромождать свой код приложения кодом google analytics, поскольку он работает через его собственное промежуточное программное обеспечение.
Ответ 4
Я предлагаю встроить скрипт Segment в ваш index.html
, использовать библиотеку аналитики, доступную для объекта window
, и добавить отслеживающие вызовы в обработчики событий Reacts:
export default class SignupButton extends Component {
trackEvent() {
window.analytics.track('User Signup');
}
render() {
return (
<button onClick={this.trackEvent}>
Signup with Segment today!
</button>
);
}
}
Я поддерживаю https://github.com/segmentio/analytics-react. Я рекомендую проверить это, если вы хотите решить эту проблему с помощью единственного API для управления данными ваших клиентов и иметь возможность интеграции с любым другим аналитическим инструментом (мы поддерживаем направления 250+) без написания какого-либо дополнительного кода. 🙂
Ответ 5
Если вы предпочитаете не использовать пакет, вот как он может работать в приложении реагирования. Добавьте "gtag" в index.html
<!-- index.html -->
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag("js", new Date());
gtag("config", "<GA-PROPERTYID>");
</script>
В действии отправки формы входа в систему отключите событие
window.gtag("event", "login", {
event_category: "access",
event_label: "login"
});
Ответ 6
Я также сталкиваюсь с задачей интеграции Google Analytics в наш веб-сайт. Когда я ищу GA и React в сети, я впервые сталкиваюсь с пакетом react-ga
. Также в большинстве статей в Интернете, где другие программисты объясняют, как они интегрировали GA в свой веб-сайт, упоминается о react-ga
. Может кто-нибудь объяснить мне, почему этот пакет является "лучшим" выбором?