Reputation: 4299
I use this piece to initialize GTM in my Next.js app:
const tagManagerArgs = {
gtmId: "GTM-XXXXXX"
};
TagManager.initialize(tagManagerArgs);
But when I am trying to start an app with it I am getting the error:
ReferenceError: document is not defined
at Object.dataScript (/Users/username/work/projectname/node_modules/react-gtm-module/dist/TagManager.js:11:18)
How to solve this?
Upvotes: 6
Views: 3681
Reputation: 601
You can initialize TagManager right when the website has mounted to ensure that the DOM api is available
useEffect(()=>{
TagManager.initialize({gtmId: 'GTM-XXXXXX'})
},[])
Upvotes: 2
Reputation: 4299
Wrapping the piece of TagManager initializer with a checker helped:
if (process.browser) {
TagManager.initialize(tagManagerArgs);
}
Upvotes: 7