Feedback widget for VuePress
PushFeedback collects user feedback directly from your website. This guide covers installation in a VuePress project.

Prerequisites
Before you begin, you need:
- A PushFeedback account. If you don't have one, sign up for free.
- A project created in your PushFeedback dashboard. If you haven't created one yet, follow the steps in the Quickstart guide.
- A VuePress site and Node.js installed.
Installation
Install PushFeedback:
npm install pushfeedbackinfoIf you're using yarn as your package manager, run
yarn add pushfeedbackinstead of the npm command above.Create a client app enhancement file. In your
.vuepressdirectory, create a file namedenhanceApp.js(orclientAppEnhance.jsfor VuePress 2.x):For VuePress 1.x (
.vuepress/enhanceApp.js):import 'pushfeedback/dist/pushfeedback/pushfeedback.css';
export default ({ Vue, options, router, siteData }) => {
if (typeof window !== 'undefined') {
import('pushfeedback/loader').then(module => {
module.defineCustomElements(window);
});
}
};For VuePress 2.x (
.vuepress/client.js):import { defineClientConfig } from '@vuepress/client';
import 'pushfeedback/dist/pushfeedback/pushfeedback.css';
export default defineClientConfig({
async enhance({ app, router, siteData }) {
if (typeof window !== 'undefined') {
const { defineCustomElements } = await import('pushfeedback/loader');
defineCustomElements(window);
}
},
});Create a global component to display the feedback button. Create a file
.vuepress/components/FeedbackButton.vue:<template>
<feedback-button
project="<YOUR_PROJECT_ID>"
button-position="bottom-right"
modal-position="bottom-right"
button-style="dark">
Feedback
</feedback-button>
</template>
<script>
export default {
name: 'FeedbackButton'
};
</script>Replace
<YOUR_PROJECT_ID>with your project's ID from the PushFeedback dashboard.Add the component to your theme's layout or to individual pages. For a global approach, modify your theme's
Layout.vuefile or create a custom layout:<template>
<div id="app">
<Content />
<FeedbackButton />
</div>
</template>
<script>
import FeedbackButton from '../components/FeedbackButton.vue';
export default {
components: {
FeedbackButton
}
};
</script>Start your VuePress project by running
npm run devoryarn devin your terminal. Once it compiles successfully, verify that the feedback button appears and functions correctly on your site.
Next steps
Choose what to do next:
- Customization — Adjust the widget's layout, styles, and text.
- Integrations — Forward feedback to Slack, email, Jira, and more.