RoosterDocs
Rooster Docs
Installation
Integrations
Examples
Plain HTMLNext.js App RouterReact SPAVue 3SvelteKitWebflowWixWordPressFramerSquarespace
Troubleshooting
HomeApp
Rooster Docs
RoosterDocs
Rooster Docs
Installation
Integrations
Examples
Plain HTMLNext.js App RouterReact SPAVue 3SvelteKitWebflowWixWordPressFramerSquarespace
Troubleshooting
HomeApp
Docs/SvelteKit

SvelteKit

Install Rooster in SvelteKit layouts and route components.

Analytics Only

Put analytics in src/routes/+layout.svelte.

<svelte:head>
  <script src="https://api.rooster.host/analytics/YOUR_PUBLIC_KEY.js" defer></script>
</svelte:head>
 
<slot />

Collect Every Form

Only put the collector in the layout when every public form should be collected.

<svelte:head>
  <script src="https://rooster.ink/embed/YOUR_PUBLIC_KEY.js" defer></script>
</svelte:head>
 
<slot />

Basic Form

<svelte:head>
  <script src="https://rooster.ink/embed/YOUR_PUBLIC_KEY.js" data-rooster-form="support" defer></script>
</svelte:head>
 
<form data-rooster-form="support">
  <input name="email" type="email" required />
  <textarea name="message" required></textarea>
  <button type="submit">Send</button>
</form>

Multi-Stage Form

<script lang="ts">
  let step = 1;
</script>
 
<svelte:head>
  <script src="https://rooster.ink/embed/YOUR_PUBLIC_KEY.js" data-rooster-form="sales" defer></script>
</svelte:head>
 
<form data-rooster-form="sales">
  {#if step === 1}
    <section>
      <input name="work_email" type="email" required />
      <button type="button" data-rooster-continue on:click={() => (step = 2)}>Next</button>
    </section>
  {/if}
 
  {#if step === 2}
    <section>
      <input name="budget" type="text" />
      <button type="button" data-rooster-continue on:click={() => (step = 3)}>Next</button>
    </section>
  {/if}
 
  {#if step === 3}
    <section>
      <textarea name="project_notes"></textarea>
      <button type="submit" data-rooster-continue data-rooster-final="true">Submit</button>
    </section>
  {/if}
</form>
PreviousVue 3NextWebflow

On this page

Analytics OnlyCollect Every FormBasic FormMulti-Stage Form