Feedback widget for Next.js
PushFeedback collects user feedback directly from your website. This guide covers installation in a Next.js project using NPM.

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 Next.js application and Node.js installed.
Installation
Install PushFeedback:
npm install pushfeedback-reactinfoIf you're using yarn as your package manager, run
yarn add pushfeedback-reactinstead of the npm command above.Create a wrapper for the feedback button by creating a file under the path
components/pushfeedback.tsxand paste the following code:import React, { useEffect } from 'react';
import { FeedbackButton } from 'pushfeedback-react';
import { JSX, defineCustomElements } from 'pushfeedback/loader';
import { StyleReactProps } from 'pushfeedback-react/dist/types/react-component-lib/interfaces';
import 'pushfeedback/dist/pushfeedback/pushfeedback.css';
const DynamicFeedbackButtonComponent = (props: React.JSX.IntrinsicAttributes & JSX.FeedbackButton & Omit<React.HTMLAttributes<HTMLFeedbackButtonElement>, "style"> & StyleReactProps & React.RefAttributes<HTMLFeedbackButtonElement>) => {
useEffect(() => {
defineCustomElements(window);
}, []);
return <FeedbackButton {...props} />;
};
export default DynamicFeedbackButtonComponent;In the component where you wish to display the feedback button (often
_pages/app.tsxorapp/layout.tsx), include it shown below:'use client'
import dynamic from 'next/dynamic';
export default function Banner() {
const DynamicFeedbackButton = dynamic(() => import('@/components/utils/pushfeedback'), {
ssr: false,
});
return (
<div className="App">
{/* Other components and content */}
<DynamicFeedbackButton project="<YOUR_PROJECT_ID>" button-position="bottom-right" modal-position="bottom-right" button-style="dark" custom-font="true">Feedback</DynamicFeedbackButton>
</div>
);Replace
<YOUR_PROJECT_ID>with your project's ID from the PushFeedback dashboard.Start your Next.js app by running
npm startoryarn startin 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.