FeedbackJar integrates with Astro via a script tag in your base layout. Works with static sites, SSR mode, and any Astro UI framework (React, Vue, Svelte, Solid).
# Sign up at app.feedbackjar.com
# Create a widget → copy your Widget ID ---
// src/layouts/Layout.astro
const { feedbackjarId } = Astro.locals; // optional: pass from middleware
---
<html>
<body>
<slot />
<script src="https://cdn.feedbackjar.com/sdk.js"></script>
<script define:vars={{ widgetId: import.meta.env.PUBLIC_FEEDBACKJAR_ID }}>
window.fj.init(widgetId);
</script>
</body>
</html> → Uses Astro's define:vars directive to pass env variables into inline scripts.
# .env
PUBLIC_FEEDBACKJAR_ID=your_widget_id ---
// src/layouts/Layout.astro
import { getUser } from '../lib/auth';
const user = await getUser(Astro.request);
---
<script define:vars={{ user, widgetId: import.meta.env.PUBLIC_FEEDBACKJAR_ID }}>
window.fj.init(widgetId);
if (user) {
window.fj.identify({ id: user.id, email: user.email });
}
</script> Sign up free, grab your Widget ID, and have the feedback widget running in your Astro app in 1 minute.