FeedbackJar integrates with SvelteKit via a script tag in app.html or a lifecycle hook in your root layout. Works with SSR and static site generation.
# Sign up at app.feedbackjar.com
# Create a widget → copy your Widget ID <!-- src/app.html — before </body> -->
<script src="https://cdn.feedbackjar.com/sdk.js"></script>
<script>
window.fj.init('YOUR_WIDGET_ID');
</script> → Simplest approach — loads FeedbackJar on every page.
<!-- src/routes/+layout.svelte -->
<script lang="ts">
import { onMount } from 'svelte';
import { PUBLIC_FEEDBACKJAR_ID } from '$env/static/public';
onMount(() => {
const script = document.createElement('script');
script.src = 'https://cdn.feedbackjar.com/sdk.js';
script.async = true;
document.body.appendChild(script);
script.onload = () => window.fj.init(PUBLIC_FEEDBACKJAR_ID);
});
</script>
<slot /> <!-- src/routes/+layout.svelte -->
<script lang="ts">
import { onMount } from 'svelte';
import { page } from '$app/stores';
$: user = $page.data.user;
$: if (user && typeof window !== 'undefined' && window.fj) {
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 SvelteKit app in 2 minutes.