Implementing Google Tag Manager (GTM) via Shopify’s Customer Events on the new checkout triggers console errors only on the checkout page: “Uncaught DOMException: Blocked a frame with origin ‘null’ from accessing a cross-origin frame” and a related “debugBadgeApi” error.
Impact: GTM Preview can’t detect the pixel even though the code appears in source; removing the GTM script eliminates the error.
Attempts and observations:
Moving the GTM tag outside the pixel section prevents reading the dataLayer.
window.postMessage() was suggested but not implemented/validated.
Following Shopify’s tutorial still results in the preview error.
Using the Google Tag Assistant Legacy Chrome extension successfully confirms dataLayer, suggesting the issue lies with GTM’s preview tool on checkout.
Likely cause: CORS (Cross-Origin Resource Sharing) and cross-domain iframe restrictions in Shopify’s checkout environment interfering with GTM’s preview/debug badge, which attempts cross-frame access.
Hello everyone. We are trying to set up some web pixels using Google Tag Manager using the new “Customer Events” functionality of Shopify on a store already in the new checkout. However, we are getting an error only happening on the checkout page. As soon as the script is executed, it returns this: Uncaught DOMException: Blocked a frame with origin “null” from accessing a cross-origin frame. I’m attaching a screenshot of the error for full context.
Any idea of why this might be happening? If I remove the GTM script, everything works fine. So it must be something related to the external script. I’ll appreciate any help, thanks in advance!
I am having the same issue. Has anyone found a solution to this yet? I have attempted to move the GTM tag outside of the pixel section and it doesn’t read the datalayers. Very frustrating.
Receiving the same error. I have seen in some non-Shopify forums that window.postMessage() may be a solution, but I am not sure if or how that can be implemented here. Is anyone able to assist?
but when I try to preview in GTM, I see an error in the browser console and preview tells me it can’t find the pixel. When I view source, I see the pixel code is there. I’m surprised we’d be shown an implementation that doesn’t quite work.
Uncaught DOMException: Failed to set a named property ‘debugBadgeApi’ on ‘Window’: Blocked a frame with origin “null” from accessing a cross-origin frame.
It’s a simple There is a forced CORS policy error. The reasons for this error can be varied, and here are the most common ones: No local server, Trying to access frames from different domains, CORS policy on the server. Everything is based on the correct configuration of the server. The cors rules respond correctly but I have to have exceptions for google they use the iframe solution.The best thing is that you probably don’t have to use an iframe so you won’t have any mistakes…