I’m trying to see what each user do in user explorer and I want to get the id of the user, I followed the documentation, but sometimes, when the user logs in, it doesn’t get the user id
what did I do:
I followed the documentation in here: https://developers.google.com/analytics/devguides/collection/ga4/user-id?client_type=gtm#send_user_ids (steps inside the tag Manager tag only, not in Google tag, because I don’t have access to the user id where I put gtag)
_app.jsx:
<AuthProvider>
<Suspense fallback={<Loader className="auth-provider" />}>
<Script>
{`(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','${process.env.NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID}');`}
</Script>
<Script strategy="lazyOnload" src={`https://www.googletagmanager.com/gtag/js?id=${process.env.NEXT_PUBLIC_GOOGLE_ID}`} />
<Script strategy="lazyOnload" id='1'>
{`
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '${process.env.NEXT_PUBLIC_GOOGLE_ID}');
`}
</Script>
<Component {...pageProps} />
</Suspense>
</AuthProvider>
inside AuthProvider:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
user_id: currentUser?.dbId,
});