Checkout Extensibility Upgrade AMA: Custom Web Pixels with Domaine

Topic summary

Domaine’s Director of Engineering, Connor Munro, hosted an AMA (July 22-26) on Shopify’s custom web pixels for checkout extensibility upgrades. The discussion covered technical implementation challenges and solutions:

Key Technical Issues Addressed:

  • Missing checkout_completed events for some clients, with reports of 30% missing orders in stores running multiple pixels
  • Pixel firing delays (3-7 seconds) causing tracking gaps when users quickly navigate away
  • Custom pixels run in sandboxed iframes, preventing DOM manipulation and external script loading
  • Order count endpoint (init.data.customer.OrdersCount) incorrectly returning zero
  • Sandbox URL parameters polluting analytics tracking
  • Google Tag Manager preview mode incompatibility with Shopify’s sandbox environment

Important Clarifications:

  • Web pixels are for tracking only, not DOM manipulation—UI extensions needed for functionality changes
  • App pixels (web workers, off main-thread) offer better performance than custom pixels (iframes, main-thread)
  • Pixels don’t fire on new customer account order status pages (support in development)
  • checkout_completed fires only once regardless of page reloads
  • Product data accessible via data.checkout.lineItems
  • Customer order count available through init object
  • Shopify developing runtime error reporting for custom pixels
  • Google migrating native app to web pixels with consent mode v2 support by end of August

Migration Guidance:

  • checkout.liquid deprecated by August 13th deadline
  • Recommended: implement pixels through Customer Events area for security and privacy compliance
  • Can revert to checkout.liquid anytime before deadline
  • Custom pixels can access cookies and local storage on top-level frame

Several participants reported ongoing debugging challenges without proper preview tools.

Summarized with AI on November 7. AI used: claude-sonnet-4-5-20250929.

Thanks for the dialogue here and AMA - really helpful…

A few questions below:

  1. Are there / can there be any plans to integrate the code into a GIT based VCS? I really don’t like working on production code within a text area on a web page…

  2. What is the roadmap for consent mode 2.0 for Google products with Shopify native consent banners and tracking? Larger clients that breach the 1000 users/day for AI web beacon cookieless GA4 gap filling would benefit from this.

  3. If we proxy all GA4 and Adwords tracking via Custom Pixels - assumption is we need to obtain both the true referrer and location and pass them on to the relevant tags. Are there any code examples of doing this via GTM - I’m thinking about the conversion linker in particular.

  4. I think you may have touched on this on a previous comment - but can you confirm how Custom Pixel tracking works with shop.pay based transactions?

  5. If we needed to add further events via GTM (e.g. tracking click events) - is it best to implement a custom event and proxy that into the Custom Pixel - rather than implementing a GTM instance in the parent DOM? I guess we’d need to ensure the custom pixel is loaded to allow that - do you have examples of how hat can be done?

  6. Does the Custom Pixel iframe code have access to the parent documents cookies - read/write?

  7. Can a parallel run be safely carried out using a Custom Pixel and legacy setup - wondered if the cookies could conflict (hence question #6)

  8. Again - in relation to #6 - how do we pull in consent signals from a parent DOM widget into the Custom Pixel code?

  9. This all still feels really raw - what percentage take up do you see across plus sites for migrating away from checkout.liquid 100%

  10. If the payment elements are sandboxed in their own iFrames - this feels a little overkill to be constrained to another sandboxed iFrame - when many checkout components need access to the DOM for overlays - UX features / Debug overlays etc.

  11. Does the Shopify native Google Sales channel implement its tracking using sandboxed iFrames - wondering if the choice of custom pixels vs native implementation carries a different technical approach.

Thanks so much for stepping up here - great to have an open line of dialogue with a technical expert!