React JS + менеджер тегов Google: как вызвать слой данных при переходе на страницу
У меня возникли проблемы при попытке отправить данные в GTM (менеджер тегов Google) в приложении React. Нам уже удалось разместить разные сценарии на соответствующих страницах.
Например, ниже приведен сценарий, который мы поместили на странице корзины:
class Cart extends Component {
render() {
const { cartItems } = this.props;
return (
<script
dangerouslySetInnerHTML={{ __html: `
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'viewCart',
cartItems: ${cartItems}
});
window.history = window.history || [];
window.history.pushState({
page: 'Current Cart Page',
events: 'viewCart',
cartItems: ${cartItems},
}, 'Current Cart Page');
` }}
/>
);
}
}
Приведенный выше скрипт не будет выполнен, когда мы получим доступ к странице корзины с другой страницы (например, домашняя страница), но когда мы обновим страницу, он будет запущен.
Оказывается, что слой данных только нажал на pageLoad
а также DOMReady
событие. но не в historyChange
Кто-нибудь сталкивался с этим раньше и знает, как это решить?