Check platform status first
If Komerza checkout is degraded, nothing below will help - status.komerza.com
shows live availability for checkout and the API.
Are you a shopper, or the site owner?
- I'm trying to buy something
- I own the site
You’re on a store’s website and checkout won’t open. Try these, in order:
- Reload the page. A partly-loaded page is the most common cause.
- Disable ad blockers and privacy extensions for this site, then reload. Blockers frequently block checkout scripts.
- Try a private/incognito window, or a different browser.
- Turn off any VPN or proxy and retry.
- Check status.komerza.com in case checkout is down platform-wide.
Site owner checklist
1
Confirm the script actually loaded
Open your browser’s developer tools → Network tab, reload, and look for
Then check the global exists - in the Console, run:If it returns
embed.iife.js. It should return 200."undefined", the script didn’t load, was blocked, or your
code ran before it finished.2
Call Komerza.init() after the DOM is ready
Data attributes are only bound when With
init() runs. If you use
data-kmrza-* buttons, this is required:Komerza.open() this happens automatically, so a quick way to isolate
a binding problem is to call open() directly from a click handler and see
whether the modal appears.3
Re-bind buttons rendered after init
Buttons added later - by a framework, a slider, infinite scroll, a
single-page-app route change - were not present when
init() ran, so they
have no handler. Call Komerza.init() again after rendering, or drive those
buttons with Komerza.open() instead.In React or Next.js, run init() inside useEffect so it fires after the
component mounts, not during server rendering.4
Verify the product and variant IDs
Both
productId and variantId are required, both are UUIDs, and the
variant must belong to that product in the store the IDs came from.
Copying an ID from a different store is a common cause of a modal that opens
and immediately errors.5
Check the product is actually purchasable
The embed cannot check out a product your storefront wouldn’t sell either. A
product that is Private, On Hold, or out of stock will fail here
too, as will a store with no payment method that fits the cart - see
Products & Variants and Supported Payment
Methods.
6
Rule out CSP and ad blockers
Both show up in the Console as blocked-resource errors. See the table
below for which is which.
Console errors and what they mean
A working CSP for the embed looks like this:
The modal opens but looks wrong
It appears behind other elements
It appears behind other elements
The modal uses a z-index of 9999. Something on your page is stacking above
it - usually a sticky header, a cookie banner or a chat widget with a higher
z-index. Lower theirs rather than raising the modal’s.
It's clipped or cut off
It's clipped or cut off
An ancestor with
overflow: hidden, a CSS transform, or a filter
creates a new containing block that traps fixed-position content. Move the
buy button out of that container, or remove the property.The theme is wrong
The theme is wrong
theme accepts only light, dark or auto. Any other value - including
a typo or an empty string - falls back to the default.It flickers or opens twice
It flickers or opens twice
init() ran more than once and bound the same button twice. In frameworks,
make sure your effect isn’t re-running on every render.Still stuck?
Contact support with the following - it’s the difference between a same-day fix and a week of back-and-forth:- The page URL where the embed fails
- Your store ID, and the product and variant IDs you’re passing
- Browser and OS, and whether it fails in a private window
- The exact console errors, copied as text
- Whether the demo page works in the same browser
If you’re a customer of a store rather than its owner, contact that store’s
own support - Komerza runs the checkout technology but doesn’t handle
individual sellers’ orders or refunds.
Related
Embed SDK
Full setup, API reference and framework examples.
System Status
Live availability for checkout and the API.
Supported Payment Methods
A cart with no available method can’t check out.
Live Demo
A known-good embed to test your browser against.