Add FrictaSolv to your Next.js application in 2 minutes
Run this command to see your Next.js version:
npx next --versionOr check package.json:
cat package.json | grep nextIf your project has an app/ directory, use this approach:
import Script from 'next/script'
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en">
<head>
<Script
src="https://api.frictasolv.com/solv.js"
strategy="afterInteractive"
data-api-key="frcta_YOUR_ORG_API_KEY"
/>
</head>
<body>{children}</body>
</html>
)
}Replace frcta_YOUR_ORG_API_KEYwith your organization's API key.
Find it in: Dashboard → Settings → API Key
FrictaSolv now tracks frustration signals on every page automatically. Events appear in your dashboard within seconds.
If your project has a pages/ directory, use this approach:
import Script from 'next/script'
function MyApp({ Component, pageProps }) {
return (
<>
<Script
src="https://api.frictasolv.com/solv.js"
strategy="afterInteractive"
data-api-key="frcta_YOUR_ORG_API_KEY"
/>
<Component {...pageProps} />
</>
)
}
export default MyAppimport { Html, Head, Main, NextScript } from 'next/document'
import Script from 'next/script'
export default function Document() {
return (
<Html>
<Head>
<Script
src="https://api.frictasolv.com/solv.js"
strategy="afterInteractive"
data-api-key="frcta_YOUR_ORG_API_KEY"
/>
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
)
}Use Option A (_app.tsx) if you already have it. Otherwise create _document.tsx.
Replace frcta_YOUR_ORG_API_KEYwith your organization's API key.
Find it in: Dashboard → Settings → API Key
data-api-key attribute is present→ Configure Alerts: Set up email/Slack notifications for high-frustration sessions
→ Add Thresholds: Set per-page frustration thresholds (home page vs checkout)
→ Invite Team: Add team members to your organization dashboard
→ Export Data: Download events as CSV for analysis