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 quota, enforced server-side. Going over it is never an end-user error: past-quota submissions are acknowledged silently — responses over the limit are not stored — and the visitor sees the same generic thank-you as always. Your dashboard shows when you are over quota so you can upgrade — your visitors never see a difference.