Playbook · Buy Button / Storefront Buy Button embed not loading
Shopify Buy Button embed not loading on an external site.
Written for a Shopify owner or ops lead whose Buy Button or Storefront Buy Button embed will not load on an external site. DIY-first: prove the blank container and CDN errors; regenerate the snippet; confirm product publish to the Buy Button / Online Store channel; fix CSP and mixed content; match product handle and variants. Distinct from Hydrogen cart broken, Storefront API throttle, Shop Pay wallet not showing, and upsell popup not showing. No earnings claims, no conversion-lift math, no invented case studies.
Nico at Latch AI Ops · Sep 10, 2026 · ~11 minute read
Buy the 72-hour install — $997Hydrogen cart brokenUpsell popup not showingMerchant FAQ
01
Buy Button embed not loading — not Hydrogen cart, Storefront API throttle, Shop Pay wallet, or upsell popup.
Several “buy UI will not appear” bugs look alike. They do not share one fix. This page is only when a Shopify Buy Button or Storefront Buy Button embed will not load on an external site (blank widget, blocked CDN script, checkout never opens). When a Hydrogen / Oxygen headless cart is empty or broken after add, open Hydrogen cart broken. When Storefront API returns 429 / cost limit on headless queries, open Storefront API throttle. When Shop Pay accelerated checkout / wallet is missing on your Shopify product or cart, open Shop Pay wallet not showing. When an on-store upsell / cross-sell popup never shows, open upsell popup not showing. This page is only: Buy Button / Storefront Buy Button embed blank on an external host.
Six ordinary reasons the embed stays blank: stale or truncated Buy Button snippet; product unpublished from Buy Button / Online Store channel; wrong product handle or variant ID; CSP or ad blocker blocking sdks.shopifycdn.com; mixed HTTP/HTTPS content; host page JS error before ShopifyBuy.init runs. Walk them in that order. You already pay for Shopify. You do not need another embed SaaS to prove a Buy Button can render on a landing page.
02
Prove the embed fails while the product sells on Online Store.
Open the external page that hosts the Buy Button. Screenshot the blank container. Open DevTools → Network and Console. Look for failed requests to sdks.shopifycdn.com, buy-button scripts, or Storefront API GraphQL, plus CSP “Refused to load” / mixed-content warnings. In Shopify admin, confirm the product is published to Online Store (and Buy Button channel if separate) with a live handle and at least one available variant. Confirm the same product Add to cart works on your Shopify theme PDP.
If the product works on your Shopify theme but the external embed is blank, stay here. If the failure is a Hydrogen cart mutation / cookie / Oxygen deploy issue, leave for Hydrogen cart broken. If you only see Storefront API 429s on a headless app, leave for Storefront API throttle.
03
Repair snippet, channel publish, CSP/CDN, and product handle.
Regenerate the Buy Button / Storefront Buy Button snippet from Shopify admin and replace the old embed on the external page — truncated script tags and stale shopDomain / accessToken / product ID are common. Publish the product (and collection if collection embed) to the Buy Button / Online Store channel. Allow sdks.shopifycdn.com and cdn.shopify.com in the host CSP (script-src / connect-src / frame-src as needed). Serve the host page over HTTPS so Shopify CDN scripts are not blocked as mixed content. Match the product handle and variant IDs in the snippet to admin. Retest in a clean browser profile with ad blockers and privacy extensions off.
Soft note: Shop Pay wallet missing on your own theme cart is a different surface — see Shop Pay wallet not showing. Latch’s 72-hour install is ops wiring on the live store — not a conversion-lift guarantee and not a headless rebuild product.
04
Checklist and how to prove the Buy Button loads.
Checklist: (1) screenshot blank Buy Button container on the external page, (2) capture CDN / CSP / mixed-content errors, (3) confirm product sells on Online Store theme, (4) regenerate and paste a fresh Buy Button snippet, (5) confirm channel publish and handle/variant IDs, (6) allow Shopify CDN hosts in CSP, (7) retest HTTPS clean browser, (8) if only Hydrogen cart / Storefront API throttle / Shop Pay wallet / upsell popup is wrong, switch playbooks.
Prove it: after the fix, the Buy Button UI must render price / variant / Add to cart (or Buy it now) on the external page, and clicking through must open Shopify checkout for the correct product. If the embed loads but a Hydrogen cart on Oxygen still fails, open Hydrogen cart broken.
05
You tested Hydrogen cart, Storefront API throttle, Shop Pay wallet, or upsell popup instead.
Hydrogen / headless Storefront API cart broken is Hydrogen cart broken. Storefront API 429 / cost limit is Storefront API throttle. Shop Pay accelerated checkout / wallet missing on product or cart is Shop Pay wallet not showing. Upsell / cross-sell popup not showing is upsell popup not showing. None of those fix a Buy Button embed that stays blank on an external host.
Finish prove blank embed → regenerate snippet / publish / CSP / handle → render-and-checkout proof first. Only then open the related playbook that matches the remaining symptom.
06
When to stay DIY vs pay $997.
Stay DIY if you can spend one afternoon on the list above: prove the blank embed, regenerate the Buy Button snippet, confirm channel publish and handles, fix CSP / mixed content, and stop treating Hydrogen cart / Storefront API throttle / Shop Pay wallet / upsell popup as the same bug. That is the whole playbook. No agency required. Short answers also live on the merchant FAQ. Related pages: Hydrogen cart, Storefront API throttle, Shop Pay wallet, upsell popup.
Pay $997 when the gap is wiring the stack you already pay for — lead capture, ops alerts, checkout-ready workflow on the live store — not when you only need a Buy Button snippet to render on a landing page. One live store. No earnings claims, no ticket-cut promises, no conversion-lift math. Checkout: https://whop.com/checkout/plan_jHoFkwA8EXHTD.
Buy the 72-hour install — $997HomeFAQ
Nico at Latch AI Ops · Updated 2026-09-10 · DIY-first · No earnings claims