Troubleshooting
The embed renders an empty frame
Section titled “The embed renders an empty frame”Check the project attribute. Without a valid published project ID the element stays
empty by design. Copy the ID from the project’s Share drawer.
Is the project published? Drafts are not publicly served. Publish first, or use an owner preview token for internal review.
Check the network tab for a 403. A response with error code EMBED_DOMAIN_NOT_ALLOWED
means the page’s origin is not on the workspace’s
domain allowlist. Note that www.example.com and
example.com are different origins.
AR doesn’t open
Section titled “AR doesn’t open”enterAR()must be called from a user gesture (a real click handler) — browsers may block WebXR sessions started programmatically.- AR must be enabled on the workspace plan.
- On desktop there is no mobile AR — offer the QR handoff instead (Localization & AR).
getSkus() returns an empty array
Section titled “getSkus() returns an empty array”The synchronous reads are caches of the last selection_change event — they are empty
until the first event arrives. Gate your UI on the event:
Events reference.
select() rejects
Section titled “select() rejects”The part/variant keys must be the handles returned by getOptions() (the values after
?part= in share URLs) — not labels, not SKUs.
The viewer shows the wrong language
Section titled “The viewer shows the wrong language”Set lang explicitly per embed instance (en, tr, ru) — the embed does not guess from
the browser: Localization & AR.
Still stuck?
Section titled “Still stuck?”Open a support ticket from the panel — include the project ID, the page URL where the embed runs, and a browser console screenshot.
