Embed UserVoice feedback widgets in Webflow

Learn how to embed UserVoice widgets in Webflow using JavaScript for fast, client-side feedback and idea voting.

Embed UserVoice feedback widgets in Webflow

Table of contents

Embed UserVoice feedback widgets in Webflow using client-side JavaScript to collect ideas, votes, and surveys fast.

UserVoice provides customer feedback collection, idea voting, and product roadmap features through JavaScript widgets that integrate with Webflow sites.

This guide covers the widget integration pattern—the fastest path to embedding UserVoice feedback functionality in your Webflow site using client-side JavaScript. For custom implementations requiring server-side API access, CMS synchronization, or webhook integrations, see the companion guide: Build custom feedback portals with UserVoice API and Webflow.

What this integration enables

Embedding the UserVoice widget in Webflow allows visitors to submit feature requests, vote on ideas, and view product roadmaps without leaving your site. The widget approach requires minimal setup and works entirely client-side—no server infrastructure required.

Key capabilities:

  • Floating feedback buttons or custom trigger elements
  • Idea submission forms with customizable fields
  • Voting interface for existing suggestions
  • Satisfaction surveys and NPS collection
  • Multi-language support through locale configuration

Architecture overview

The widget pattern uses the UserVoice JavaScript SDK embedded in Webflow's footer code via Site Settings. The widget operates in a pure client-side architecture, with the JavaScript SDK handling authentication and directly initiating API communication with UserVoice servers from the browser.

This pattern is ideal when you need:

  • Quick implementation without backend development
  • Standard feedback collection and voting functionality
  • Minimal maintenance overhead

Limitations: The widget approach does not provide access to the UserVoice Admin API, which means you cannot programmatically create suggestions, sync data to Webflow CMS, or implement custom business logic. For those use cases, see the API integration guide.

Prerequisites

Before implementing the widget, you need accounts and credentials from both platforms.

Set up your UserVoice account

  1. Create a UserVoice account and set up a forum through the admin console settings
  2. Locate your widget key in Admin Console under Settings → Integrations → Widget
  3. Note your forum ID (visible in the forum URL or settings)
  4. Note your subdomain (the yourcompany portion of yourcompany.uservoice.com)

Configure your Webflow workspace

  1. Ensure your workspace uses a plan that supports custom code (Core, Growth, Agency, Freelancer plans, or active site plan required)
  2. Verify you have permissions to edit Site Settings (required to add custom code)

Add the UserVoice widget to Webflow

Place the UserVoice JavaScript SDK in your Webflow site's footer code section.

Step 1: Access custom code settings

Navigate to Site Settings → Custom Code → Footer Code in your Webflow project.

Step 2: Add the initialization snippet

// UserVoice JavaScript SDK initialization
(function(){
  var uv=document.createElement('script');
  uv.type='text/javascript';
  uv.async=true;
  uv.src='//widget.uservoice.com/YOUR_ACCOUNT_KEY.js';
  var s=document.getElementsByTagName('script')[0];
  s.parentNode.insertBefore(uv,s)
})();

// Widget configuration
UserVoice.push(['set', {
  accent_color: '#458dd6',
  locale: 'en',
  forum_id: 209871,
  post_suggestion_enabled: true,
  strings: {
    post_suggestion_title: 'Post an idea'
  }
}]);

// Add floating trigger button
UserVoice.push(['addTrigger', {
  trigger_position: 'bottom-right',
  trigger_color: 'white',
  trigger_background_color: 'rgba(46, 49, 51, 0.6)',
  trigger_prevent_default_enabled: true,
  mode: 'post_idea',
  menu_enabled: true
}]);

Replace YOUR_ACCOUNT_KEY with your UserVoice widget key and forum_id with your target forum identifier.

Step 3: Publish your site

Save the custom code settings and publish your Webflow site to activate the widget.

Widget configuration options

Global settings

Pass these parameters to UserVoice.push(['set', {...}]):

Parameter Type Description
accent_color String Primary highlight color (hex, e.g., #458dd6)
locale String UI language code (e.g., en, es, fr)
forum_id Number Target forum ID for submissions
strings Object Custom text overrides for UI labels
post_suggestion_enabled Boolean Enable or disable idea posting
skip_related Boolean Skip related ideas screen
menu_enabled Boolean Show or hide menu items
permalinks_enabled Boolean Enable links to the web portal

Trigger settings

Pass these parameters to UserVoice.push(['addTrigger', {...}]):

Parameter Type Description
trigger_position String Screen position (bottom-right, bottom-left)
trigger_style String Display style (icon or tab)
trigger_color String Icon or text color
trigger_background_color String Button background color
mode String Widget mode (post_idea or satisfaction)
menu_enabled Boolean Shows or hides menu items
height String Widget height in CSS units
width String Widget width in CSS units

Custom trigger elements

Instead of using the default floating button, you can trigger the widget from any element on your page.

HTML attribute method

Add the data-uv-trigger attribute to any clickable element:

<a href="#" data-uv-trigger>Share your feedback</a>

JavaScript method

For advanced control, use the addTrigger method with a target element:

UserVoice.push(['addTrigger', {
  target: '#feedback-button',
  mode: 'post_idea'
}]);

This binds the widget to an element with id="feedback-button" in your Webflow design.

Widget styling

UserVoice provides customization through multiple methods:

Note: Translation applies only to widget UI elements, not user-generated content or custom fields.

Verification and testing

After adding the widget code:

  1. Preview your site: Access Webflow's preview mode to verify the widget renders correctly
  2. Check for errors: Open your browser's developer console (F12) and look for JavaScript errors
  3. Test submission: Submit a test idea through the widget
  4. Verify in UserVoice: Confirm the test submission appears in your UserVoice Admin Console
  5. Publish and retest: Publish to your production domain and repeat testing

Domain configuration

The widget requires domain validation. Ensure your domain-restricted configurations include:

  • .webflow.io (staging/preview)
  • .canvas.webflow.com (canvas preview)
  • Your production domain

Troubleshooting

Issue Possible cause Solution
Widget not appearing Script blocked or failed to load Check the browser console for errors and verify ad blockers are not interfering
Widget appears but won’t open JavaScript conflict Check for console errors and ensure no other scripts override UserVoice
Submissions not appearing Wrong forum ID Verify forum_id matches your target forum in UserVoice Admin
Styling not applied CSS specificity issues Use more specific selectors or !important declarations

Additional resources

Custom code is considered an advanced modification, and Webflow support does not cover custom code troubleshooting.

Alex Halliday
CEO
AirOps
Learn more
Aleyda Solis
International SEO Consultant and Founder
Orainti
Learn more
Barry Schwartz
President and Owner
RustyBrick, Inc
Learn more
Chris Andrew
CEO and Cofounder
Scrunch
Learn more
Connor Gillivan
CEO and Founder
TrioSEO
Learn more
Eli Schwartz
Author
Product-led SEO
Learn more
Ethan Smith
CEO
Graphite
Learn more
Evan Bailyn
CEO
First Page Sage
Learn more
Gaetano Nino DiNardi
Growth Advisor
Learn more
Jason Barnard
CEO and Founder
Kalicube
Learn more
Kevin Indig
Growth Advisor
Learn more
Lily Ray
VP SEO Strategy & Research
Amsive
Learn more
Marcel Santilli
CEO and Founder
GrowthX
Learn more
Michael King
CEO and Founder
iPullRank
Learn more
Rand Fishkin
CEO and Cofounder
SparkToro, Alertmouse, & Snackbar Studio
Learn more
Stefan Katanic
CEO
Veza Digital
Learn more
Steve Toth
CEO
Notebook Agency
Learn more
Sydney Sloan
CMO
G2
Learn more

Read now

Last Updated
January 16, 2026
Category

Related articles


Get started for free

Try Webflow for as long as you like with our free Starter plan. Purchase a paid Site plan to publish, host, and unlock additional features.

Get started — it’s free
Watch demo

Try Webflow for as long as you like with our free Starter plan. Purchase a paid Site plan to publish, host, and unlock additional features.