Configuration
Everything the widget shows is configured in the dashboard, not in code. The snippet you pasted never changes — edit a form, launch a poll, or retarget a page, and the widget picks it up on its own.
Sites and domains
Each site has an origin allowlist: the exact origins where the widget is allowed to load and submit. Add your production domain there, and add staging domains as separate entries or separate sites. For local development, flip the localhost toggle instead of listing local origins by hand. Requests from anywhere else are refused — silently, so nothing ever breaks on an unknown page.
Forms and fields
Build feedback forms in the dashboard: pick the fields, their labels, and which are required. The widget renders whatever the current form defines, so iterating on your questions mid-UAT is a dashboard edit, not a release.
Page polls
Polls are the lightweight companion to forms: a thumbs up/down prompt on the pages you choose. Create a poll, give it a question, and target it at the routes you want signal on — results aggregate per page in the dashboard.
URL targeting rules
URL targeting rules decide where forms and polls appear. Match exact paths or patterns to
show the right prompt on the right screen — a checkout poll on /checkout, a
general feedback form everywhere else. Rules are evaluated on every navigation, including
client-side route changes in single-page apps.
Badge
The launcher badge is the small button visitors click to open the widget. Configure its position and appearance per site from the dashboard so it sits comfortably in your layout.
Plan limits
Each plan includes a monthly submission allowance, enforced server-side. Going over it is never an end-user error. Paid plans treat it as a soft cap: every response is still stored, and the workspace owner gets an email and a dashboard banner. On Free it is a hard quota: past-quota submissions are acknowledged silently but not stored. Either way the visitor sees the same generic thank-you, so your visitors never see a difference.