Why is my GTM custom pixel not passing the data layer for logged in customers?

Hi,

I have integrated GTM through custom pixel. The datalayer is passing for guest user but after logged in as a customer the datalayer is not passing.

Below is the script i used. correct me if i am wrong.

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

(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','GTM-#######');

//Google Consent Mode v2
gtag('consent', 'update', {
'ad_storage': 'granted',
'analytics_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted',
});

analytics.subscribe("checkout_started", (event) => {
window.dataLayer.push({
event: "checkout_started",
email: event.data?.checkout?.email,
currency: event.data?.checkout?.currencyCode,
value: event.data?.checkout?.totalPrice?.amount,
items: event.data?.checkout?.lineItems
});
});