Troubleshooting
The widget shows an error or does not appear, a file will not analyse, a price looks wrong, an e-mail went missing: the usual causes, and the fixes.
This article lists the problems shops meet most often and how to fix each one. Find the symptom in the headings, then work through its checklist in order.
“This widget is not allowed on this page”
Nearly always the Allowed origins list. A widget answers only the pages you list.
- An origin is the scheme and host only:
https://yourshop.com, nothttps://yourshop.com/quoteand notyourshop.com. https://yourshop.comandhttps://www.yourshop.comare different origins. List both if you use both, or use*.yourshop.comto cover every sub-domain.- Staging is a different origin too. Use a test widget there.
- A test widget also works on
localhost. For any other development address served overhttp://, list thathttp://origin explicitly.
The widget does not appear at all
- Check that the script tag is present and not blocked. Your browser’s developer console says if it was.
- Check that the page did not strip the
<quotometry-quote>element. Some website builders remove unknown tags from rich-text fields: use the Custom HTML or embed block, not the text editor. - Check that the key is the right one. A test widget’s key works on a live page, but everything it produces is marked test. A deleted widget’s key does not work at all, and nor does a test key after its widget has gone live.
Content security policy
If your site sets a content security policy, it must allow the widget:
script-src 'self' https://cdn.quotometry.example;
connect-src 'self' https://api.quotometry.example;
img-src 'self' blob: data:;
style-src 'self' 'unsafe-inline';
worker-src 'self' blob:;
Use the hosts from your widget’s install snippet.
style-src 'unsafe-inline'is required: the widget adds its stylesheet inside its own shadow root.blob:matters: the viewer builds the part’s preview in memory, and a policy without it shows a blank viewer while the price still works.
The widget reference explains every directive, including the optional font.
A file will not analyse
| Message | Cause | Fix |
|---|---|---|
| “Not a supported format.” | The format is read from the file’s contents, not its extension: a file renamed to .stl is still whatever it was. | Export the part again in a supported format. |
| “The mesh could not be repaired.” | The file is broken beyond unambiguous repair, usually exported from a sketch rather than a solid. | Ask for a fresh export from the solid model. |
| “Too large.” | Your plan has a maximum upload size. | See the limit on your plan under Billing, or ask for a lighter export. |
| It is enormous and slow. | A mesh with millions of triangles is usually an over-tessellated export. | A coarser export measures the same and analyses in seconds. |
The part is the wrong size
STL files record no units. Quotometry infers the unit from the part’s size, says what it assumed, and lets the buyer correct it. If parts keep arriving 25.4 times too small or too large, inches are being read as millimetres or the other way round. Encourage 3MF, AMF or glTF, which record units, or STEP if your plan includes CAD upload.
A price looks wrong
Work down this list in order:
- Open the breakdown. Every line is there. The surprise is usually in one line, and it is usually labour or a minimum.
- Check the machine. A part is priced on the machine it would run on. If that is not the machine you expected, check the build volumes.
- Check your minimums. A small job at the minimum price looks wrong until you remember why the minimum is there.
- Check the version. Are you looking at a quote priced by an older published version? The quote says which.
- Calibrate. If machine time is out by a similar proportion across different parts, the model has not been fitted to your machines yet.
Two prices for the same part disagree
Check whether the same configuration version priced both. A quote records its version precisely so that this question has an answer.
A customer says they never got the e-mail
Open Developers and choose the E-mail log tab. Every message your account sends is there, newest first, with what happened to it. Problems shows only the ones that failed, bounced or were reported as spam, and the ? beside Status explains each outcome:
| Status | Meaning |
|---|---|
| Sent | It left us and our mail service accepted it. If the receiving server reports back, it becomes one of the next three. |
| Delivered | The receiving server put it in the mailbox. If it is not in their inbox, it is in their spam folder or their own filters caught it. Ask them to search for the order number. |
| Bounced | The receiving server refused it, and the reason is shown beside it (no such user, mailbox full). A permanent bounce adds the address to the suppression list. |
| Complained | They reported the message as spam. We stop writing to that address from your shop. |
| Failed | We could not hand it over, and we will try again. A run of these usually means the address has a typo. |
| Suppressed | We are not allowed to write to that address. It is on the suppression list on the same tab, with the reason. |
| Skipped | There was nothing to send to: usually a missing notification address in Settings. |
An address is suppressed because its mailbox bounced permanently, someone reported a message as spam, or they asked to stop.
The log never shows a buyer’s address, only what the message was. You already know the address; what you could not see before was what happened to the message. A copy sent to a member of your team says who it went to.
Still stuck
Write to [email protected] with the quote or order number, and the incident id if an error showed one. A number gets to an answer much faster than a description.
Next steps
- Widgets and theming: keys, origins and test widgets.
- Embedding: the widget on site builders that strip scripts.
- Billing and quotas: upload limits and what your plan includes.