Install · Framer
Bug reports and feedback from your Framer site, in one script tag.
Where it goes
Site Settings → General → Custom Code → End of <body> tag, which Framer injects on every published page.
Setup
Adding the widget to Framer
- 01
Copy your widget key
From the Widget tab of your project in UserWants. The key begins with uw_pk_ and is public by design: it is published in your site source where anyone can read it, and the domain allowlist is what stops it being reused elsewhere.
- 02
Open custom code in Site Settings
In the Framer editor, open Site Settings and find the Custom Code section under General. There are two boxes; the widget belongs in End of body tag, not Start of head, so it loads after your page has rendered.
html<script src="https://userwants.app/widget.js" data-userwants-key="uw_pk_..." defer ></script> - 03
Publish
Custom code is only present on the published site — the canvas and the preview do not run it. Hit Publish and open your live URL to check. Almost every "it does not work" on Framer is this step, not the code.
- 04
Allow your domain
Add your published hostname under Allowed domains in the Widget tab. If you are still on a framer.website subdomain, add that too, since it is a different host from your custom domain and the allowlist fails closed.
Worth knowing
What bites on Framer
Custom code requires a paid site plan
Framer only injects custom code on published sites with a paid plan. On the free tier the settings panel accepts your code and nothing is ever served, which is indistinguishable from a broken snippet.
Page transitions do not reload the document
Framer navigates without a full page load. That is fine — the widget attaches once and survives navigation, and each route change is recorded as a step, so a report shows the path the person took.
A code component is the wrong tool here
You could write a React code component that injects the script, but it would run on one page and re-run on every remount. The Site Settings box does the job once, site-wide.
FAQ
Questions
- Why is the widget missing on my published Framer site?
- The two usual causes are a free plan, where custom code is never injected, and testing in the canvas or preview rather than on the live URL. After that, check the domain is in the allowlist, which fails closed by design.
- Will it clash with Framer animations or effects?
- No. The widget renders inside a closed shadow root on an element it appends to the body, so it is outside the React tree Framer controls and neither your effects nor its styles can reach each other.
The full reference — every field the widget collects, the domain allowlist rules and the JavaScript API — is in the widget docs.
Try it on your Framer site.
Paste the tag, add your domain, and the next report arrives with the screenshot and the JavaScript error already attached.