Как использовать GTM в ReactJS для отслеживания всех страниц с согласия пользователя - PullRequest
2 голосов
/ 24 октября 2019

Я разработал сайт в ReactJS, и у меня есть несколько инструментов отслеживания и сессионных файлов cookie. Поэтому из-за легализации мне нужно сначала получить согласие пользователя, прежде чем я смогу включить любую форму отслеживания. Помимо GTM, у меня есть Facebook, HotJar и т. Д.

Я использую «реакцию-cookie-согласие» для запуска баннера cookie. Мне удалось контролировать все другие файлы cookie / инструменты отслеживания, создавая функции, и запускать их только после того, как пользователь дал соответствующее согласие. Я сделал то же самое для GTM, но, похоже, он не работает должным образом.

Я импортировал импорт TagManager из "act-gtm-module "на мою страницу cookie и вставил следующий код в функцию, которая толькозапускается, если пользователь нажимает accept.

const tagManagerArgs = {
  gtmId: "GTM-*******", // My GTMID
  dataLayerName: "PageDataLayer"
};
TagManager.initialize(tagManagerArgs);

и вставил следующий код на каждую страницу в функции componentDidMount (), а также импортировал импорт TagManager из "response-gtm-module".

const tagManagerArgs = {
      dataLayer: {
        page: "home", //Specific to each page
        pagePath: "/home" //Specific to each page
      },
      dataLayerName: "PageDataLayer"
    };
    TagManager.dataLayer(tagManagerArgs);

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

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

Я что-то не так делаю?

Обновление 01/11/2019 Я все еще жду ответа, не уверенесли я могу перепостить вопрос, и будет ли это редактирование ударять этот пост:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...