Install
Add an instant quote widget to your website
One script tag, on the page where you want the quote form. It works on any site where you can paste HTML — no plugin, no app, no build step.
The snippet
Paste this where you want the widget to appear. Replace yourshop with the publishable key from your dashboard.
<!-- 3Dash quote widget --> <script src="https://3dash.in/q.js" data-shop="yourshop" async></script>
That is the whole integration. The widget renders in place, sizes itself to its content, and needs nothing else from your page.
What it does to your page
Worth knowing before you paste anything third-party into a site you depend on:
- It creates one iframe and nothing else. Your CSS cannot reach into it and its CSS cannot reach into yours — no theme conflicts in either direction.
- It sets no global styles, touches nothing outside its own container, and does not hijack scrolling.
- It never throws into your page. If the widget fails, the rest of your site keeps working.
- It loads lazily and asynchronously, so it does not block your page rendering.
- Pasting it twice with the same key renders one widget, not two. A duplicated paste is a no-op rather than two configurators quoting independently.
Placing it somewhere specific
By default the widget appears exactly where the script tag sits. If your platform only lets you inject scripts into the page header, put an empty container where you want it and point the script at it:
<div id="quote-here"></div> <script src="https://3dash.in/q.js" data-shop="yourshop" data-target="#quote-here" async></script>
data-target takes any CSS selector. If it matches nothing, the widget falls back to rendering where the script tag is.
All attributes
| Attribute | Required | What it does |
|---|---|---|
data-shop | Yes | Your publishable key. Without it the widget does nothing and logs a console warning — it will not render a broken form to your customer. |
data-target | No | CSS selector for the container to render into. Defaults to where the script tag sits. |
data-material | No | Pre-selects a material, e.g. pla. Useful on a page that is already about one material. |
data-machine | No | Pre-selects one of your machines. |
data-theme | No | Widget skin. An unknown value renders the default rather than failing, so a typo here is cosmetic. |
data-lang | No | Interface language. |
data-plan | No | Reserved; leave it off unless support tells you otherwise. |
None of these can change a price. Anything that affects money is resolved on our server against your rate card. An attribute added to the snippet by someone editing your theme cannot quote your work cheaper.
Your publishable key is meant to be public
It sits in your page source and that is by design — the widget runs in your customer's browser, so there is nowhere to hide it. It is protected by an origin allowlist instead: add your domain in your dashboard, and requests from anywhere else are refused. Copying your snippet onto another site does not give someone a working quote form.
Do not confuse it with your secret key, which starts sk_. That one is server-side only, and is for the API.
Platform notes
The snippet is plain HTML, so anywhere you can add an HTML block will work. What differs is where each platform hides that box.
WordPress
Edit the page, add a Custom HTML block, paste the snippet. In the classic editor, switch to the Text tab rather than Visual — the visual editor strips script tags. No plugin is required, and you should be sceptical of any that claims to be.
If your host or a security plugin blocks inline script tags in post content, use the header-injection route with data-target instead.
Shopify
Add a Custom Liquid section to the page in the theme editor and paste the snippet there. That keeps it inside the page layout without editing theme files. If you would rather edit the theme directly, the snippet goes in the template for the page you want it on.
Squarespace
Add a Code block to the page and paste the snippet. Code blocks are on paid plans only.
Wix
Use Embed a widget / Embed HTML and paste the snippet.
Height needs attention on Wix. Wix puts your embedded code inside its own fixed-size iframe. Our widget resizes itself, but it cannot resize the box Wix put around it, so a short box will clip or scroll the quote form. Drag the embed element tall enough for the whole flow — around 900 px is a sensible starting point — and check it on a phone. If you can use Wix's site-wide Custom Code with a data-target container instead, that avoids the nesting entirely.
Plain HTML, or anything else
Paste it in the page. There is nothing platform-specific about it.
Checking it worked
- Load the page in a normal browser window. The widget should appear within a second or two.
- Upload a small STL and confirm you get a price.
- Open your browser's developer console and look for any line starting
[3Dash]. The only one we emit is the missing-key warning, and it tells you exactly what to fix. - Check it on a phone. The widget grows to fit its content rather than scrolling internally, which is the behaviour you want everywhere except inside a fixed-height Wix box.
If the widget does not appear at all, the usual causes are a missing data-shop, an editor that stripped the script tag, or a domain that is not on your origin allowlist yet.
Next
Drive the widget yourself before installing it. If you would rather build your own front end, the same quoting engine is available as a REST API.