Я разработал сайт в 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 Я все еще жду ответа, не уверенесли я могу перепостить вопрос, и будет ли это редактирование ударять этот пост:)