События React-GA запускаются в консоли отладки, но не отображаются в GA - PullRequest
2 голосов
/ 04 марта 2020

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

Я импортирую ReactGA сверху

import ReactGA from "react-ga";

Я инициализирую его после импорта

ReactGA.initialize("TRACKING-ID", {
  debug: true
});

Я создаю функция для работы с трекером

const GASignInHandler = name => {
  ReactGA.event({
    category: "Dashboard Home",
    action: `User Signing In As ${name}`,
    label: "Tracking users every time they sign in.",
    nonInteraction: true
  });
};

Внутри моего функционального компонента под названием DashHome, а внутри возврата я вызываю это. В значительной степени, если signIn = true, запустите эту функцию, если не запустите console.log. Это очевидно для целей тестирования, но я все еще не вижу, чтобы это событие регистрировалось в GA. Выключается при отладке.

{signedIn ? GASignInHandler(userEmail) : console.log("signin not true")}

[act-ga] с fieldObject: {"hitType": "event", "eventCategory": "Dashboard Home", "eventAction": "User Вход в систему как "My", "eventLabel": "Отслеживание пользователей при каждом входе в систему", "nonInteraction": true} log. js: 2 [act-ga] с трекерами: undefined

У меня также есть все теги, которые GA сказал мне добавить в мой public / index. html.

1 Ответ

1 голос
/ 05 марта 2020

Поместив это в индекс. js исправил проблему.

(function initAnalytics() {
  initGA("Tracking ID");
})();

Функция initGA создана вручную и как таковая (этот файл называется index. js)

import ReactGA from "react-ga";

export const initGA = trackingID => {
  ReactGA.initialize(trackingID);
};

export const PageView = () => {
  ReactGA.pageview(window.location.pathname + window.location.search);
};

export const Event = (category, action, label) => {
  ReactGA.event({
    category,
    action,
    label
  });
};

Я также удалил все скрипты, которые у меня были в public / index. html. У меня есть init-ga init.

Также кажется, что вы должны поместить

ReactGA

в ловушку useEffect, если вы используете функциональные компоненты.

...