# Add a feedback widget to Unbounce landing pages

> In Unbounce, add the widget script through the page's script manager, placing it in the body or head as your builder allows, then publish the page. Use setMetadata to tag each message with the campaign name, and test the live page on a phone.

Source: https://escutaproduto.com/resources/feedback-widget-unbounce
Last updated: 2026-10-11

## Where does the script go in Unbounce?

Unbounce pages take custom scripts through the page's script manager, which you reach from the page settings in the builder. The widget belongs in the body, near the end of the page, so the form and headline render first. Each landing page needs its own script entry, unless your account offers a setting that applies a script to every page.

Scripts are per page, which is useful for a campaign. A feedback button on one launch page does not appear on your other campaigns unless you add it there too.

## How do you add the widget with the script manager?

Open the landing page in the builder, then open the page settings and find the script manager or the custom JavaScript area. The wording depends on your Unbounce version, so follow the labels on your screen. Choose the section that loads the script at the end of the body, if the manager offers that choice.

1. Open the page in the builder and go to the page settings.
2. Open the script manager and add a new script.
3. Paste the script tag from your product's install page:

```html
<script src="https://escutaproduto.com/widget.js" data-key="pk_your_product_key" defer></script>
```

4. Save the script and publish the page. Scripts reach visitors only after the page is published.

The script is about 5 KB compressed and has no dependencies. It renders inside a Shadow DOM, so the page's styles do not change the button. Use data-color to match the campaign's accent color.

## Can you collect feedback before a landing page launches?

Yes, and it is one of the better uses of the widget. A landing page that has not gone live yet can still be tested with real people. Share the page's preview or unpublished address with a small group, ask them what is unclear, and let them report confusion from the page itself with the Feedback button.

Keep the group small and ask specific questions. A short note such as "tell us what you expected this offer to include" gets better answers than a general request for thoughts. Messages from this round are most useful when you can tie them to the exact page version they saw.

Remember that the widget only runs where the script is present. A preview that does not load your script will show no button, so check that the page you share is the one with the script installed.

## How do you tag feedback with a campaign name?

Campaign names help you read feedback later. A message that says the pricing section is confusing means more when you know it came from the spring launch page and not the evergreen one. Call setMetadata with a short campaign value, and queue it the same way you would queue identify, so it works even if the script has not finished loading.

```html
<script>
  window.EscutaProduto = window.EscutaProduto || { q: [] };
  (window.EscutaProduto.q ||= []).push(["setMetadata", [{ campaign: "spring-launch", variant: "b" }]]);
</script>
```

Place this block before the widget script tag. The metadata is stored with each message, up to 4 KB, so keep the values short and useful. Use a campaign name you can recognize later, and a variant name only if you run an A/B test.

## How do you keep allowed origins right for each landing page?

Each landing page is served from an address, and that address must be in allowed origins for the product that receives its feedback. Unbounce pages can use an Unbounce subdomain or your own domain, so list whichever one visitors see in the browser bar.

Requests from an unlisted address return a 403 response, and the visitor gets no confirmation. If you test on a preview address, add it while you test. Remove test addresses once the campaign is live, so the list only holds the domains you use.

## What if the button covers the form?

Landing pages are built around one action, so a floating button can compete with a form or a call-to-action button, especially on a phone. Move it with data-position set to left if the right side holds the main button. You can also change the page layout to leave room in that corner.

Test the page on a phone in a private window. Check that the floating button does not cover the submit button, the price or the legal text. If it does, change the position and test again.

## How do you test an Unbounce page before it launches?

1. Open the published or preview address in a private window.
2. Confirm the Feedback button appears and that setMetadata ran, which you can check in the browser console if you added logging.
3. Send a test message that starts with "test from Unbounce", so you can find it later.
4. Open the item in the inbox and confirm the campaign name and the page URL are correct.
5. Test the form on a phone to confirm the floating button does not block it.

## Why is the Unbounce widget not showing?

- The script may not be saved in the script manager, or the page may not have been published after you added it.
- The page may be an older version cached by a browser or CDN. Reload in a private window.
- A content blocker or a Content Security Policy can stop the file. The browser console names the blocked URL.
- A submission rejected with a 403 response means the page's address is not in allowed origins.
- Two copies of the script on one page produce two buttons. Keep only one.

## Reading campaign feedback in Escuta Produto

Create one product for each site or brand, then use the campaign name in your notes and in the metadata to group feedback by launch. The saved page URL shows which landing page a message came from, which matters when you run several pages at once.

Use the status filter to show what you have changed on each page, and internal notes to record the copy or layout decision that followed. Messages are private to your team, and you reply to visitors from your own email, since Escuta Produto does not send customer emails.

## Related

- Every widget option, including setMetadata and the JavaScript API, is in the [widget docs](/docs/widget).
- If a landing page cannot run scripts, the [hosted feedback page](/docs/hosted-page) gives you a link to share instead.
- Related landing and site builders are covered in [HubSpot CMS](/resources/feedback-widget-hubspot-cms) and [Carrd](/resources/feedback-widget-carrd).
- For how to write a good prompt for feedback, read [feedback widget best practices](/resources/feedback-widget-best-practices).

## Frequently asked questions

### Where do I add the feedback widget in Unbounce?

Open the landing page settings, go to the script manager, and add the widget script tag in the body section if the manager offers one. Save the script and publish the page, because scripts reach visitors only after publishing.

### Can I collect feedback on an Unbounce page before it goes live?

Yes. Share the preview or unpublished address with a small group, as long as the page has the script installed. Ask specific questions, and tie each message to the page version the person saw.

### How do I tag feedback with a campaign name in Unbounce?

Queue a setMetadata call with a campaign value before the widget script tag. The value is stored with each message, so you can tell which launch page or variant a piece of feedback came from.

### What if the feedback button covers my Unbounce form on mobile?

Set data-position to left so the button moves to the other corner, or adjust the page layout to leave room. Then open the live page on a phone in a private window and confirm the submit button is clear.
