Guides

How to add a feedback widget to a Nuxt app

Where the Bopmigo line goes in a Nuxt app (nuxt.config.ts, under app.head.script), with code you can copy, and how to test it locally.

Short answer: add the script to app.head in nuxt.config.ts, placed at the end of the body. Build and deploy.

A changelog page with the Bopmigo Feedback window open
Requests arrive with the page they were sent from.
A resolved report in the Bopmigo inbox with its summary
Every report starts with what happened and what they expected.

Add it to Nuxt

  1. 1

    Create your Bopmigo project

    Sign up at bopmigo.com, choose Website, and add your Nuxt address. Copy your line from Install snippet:

    HTML
    <script src="https://bopmigo.com/widget.js"
      data-project="YOUR-PROJECT-ID" defer></script>
  2. 2

    Open it

    Open nuxt.config.ts.

  3. 3

    Add your line

    Add the script under app.head.script with tagPosition: 'bodyClose'.

    Config
    // nuxt.config.ts
    export default defineNuxtConfig({
      app: {
        head: {
          script: [
            {
              src: 'https://bopmigo.com/widget.js',
              'data-project': 'YOUR-PROJECT-ID',
              defer: true,
              tagPosition: 'bodyClose',
            },
          ],
        },
      },
    })
  4. 4

    Go live

    Build and deploy.

  5. 5

    Send yourself a test

    Open the live page, choose Feedback and send a short report. It arrives in your Bopmigo inbox (and by email, if you turned that on). Reply, then open Feedback again to see your answer.

Nuxt tips

  • Setting it in the config loads it once for every page, server-rendered or not.
  • For a single page only, use useHead in that page instead.
  • Add your local dev address to the project in Bopmigo to test with nuxi dev.

Single-page apps and client-side routing

Load the script once in the root layout, not per page. Bopmigo notes the page people are on when they report, including after client-side navigation, so there’s nothing to re-run on route changes.

Testing locally

Add your local address (for example http://localhost:3000) to the project in Bopmigo, alongside your production address. Reports are only accepted from addresses you list.

What Nuxt users tend to report

  • Pages that render differently on the server and in the browser.
  • Routes that 404 after a deploy.
  • Slow pages on first load from a phone.
Three phones showing New reply on the button, the feedback list and the conversation
Replies reach people where they reported, on any screen size.

Your first week

  1. 1

    Day 1: test locally and in production

    Send a report from localhost and from your live site, and check both arrive in the same inbox.

  2. 2

    Days 2 to 5: identify signed-in users

    Pass the user ID and any useful context, such as plan or account, so each report says who it came from.

  3. 3

    Days 6 and 7: route reports to your tracker

    Copy reports that need code changes into your issue tracker, and reply when the fix ships.

Questions

Does it work with SSR?

Yes. The script runs in the browser after the page loads.

Nuxt 2?

Nuxt 2 uses top-level head.script in nuxt.config.js; the Nuxt 3/4 app.head example above has a different configuration shape.

Why doesn’t the button show?

Check that the address you’re on is listed in your Bopmigo project, that the change is live, and open a private window in case of caching. If your site has a Content Security Policy, allow https://bopmigo.com.

More: all install guides · website options · install with a coding agent