Feedback Form in HTML — Working Code for Product Teams
An HTML feedback form for product teams — 1-5 rating, category (bug / feature request / praise / other), free-text, optional contact info if the user wants a reply.
A feedback form is a contact form with one structural difference: the user shouldn't be required to give their email. Many users want to leave feedback but don't want a reply — making email required tanks completion rate. Capture it as optional; if they leave it, follow up; if they don't, you got the data anyway.
Include a 1-5 rating scale (radio buttons) and a category select. The rating gives you a quantitative signal you can aggregate over time; the category tells you whether to route to engineering (bug), product (feature request), or just file (praise). Together, they make triage trivial.
Capture the page URL automatically — 3 lines of JS that copy `location.href` into a hidden field. When the feedback arrives in splitforms, you know exactly which page the user was on when they sent it. Essential for bug reports.
The form POSTs to splitforms. Configure a webhook into your bug-tracking tool (Linear, GitHub Issues, Jira) for category=Bug submissions. For feature requests, webhook into Productboard or Canny. Triage happens automatically based on the category.
How to set this up
Rating + category + free-text
Three structured fields cover triage; one free-text field captures everything else.
Email is OPTIONAL
Required email cuts completion rate. Users who want a reply leave it; users who don't, don't.
Auto-capture page_url
Three lines of JS. Essential context for bug reports — you know exactly which page the user was on.
Webhook by category
Bug → Linear/GitHub. Feature → Productboard/Canny. Praise → Slack #wins channel.
Rating + category + optional email + page URL. Triage on autopilot.
Frequently asked questions
Should the email field be required on a feedback form?
No. Required email cuts completion rate by 30-50% because users who don't want a reply abandon. Capture it as optional; users who want a reply leave it.
How do I capture which page the feedback came from?
Three lines of JS: get the hidden input by ID, set its value to location.href on page load. The page URL lands in your splitforms dashboard alongside the other submission fields.
How do I route feedback to the right team?
Use the category select + splitforms webhooks. Bug → Linear or GitHub Issues. Feature request → Productboard or Canny. Praise → Slack channel for morale boost. Configure once in the splitforms dashboard.
Can I use this for NPS surveys?
Close — but NPS uses a 0-10 scale, not 1-5. See the NPS template at /form-templates/nps-survey-form for the correct mechanic. Use 1-5 for product feedback; 0-10 for NPS.
Related guides
Ship the form, not the backend.
Free for 1,000 submissions/month. Email delivery, AI spam filtering, signed webhooks, real dashboard — all on the free plan. No credit card.
Get a free access key →