Plain HTML
Install Rooster with script tags on static HTML or server-rendered templates.
Analytics Only
Use this when you want page views, visitor context, and page-level bot protection without collecting form fields.
Collect Every Form
Place the collector in a shared layout only when every public form on the site should be collected. Without data-rooster-form on the script, Rooster scans all matching forms on the page.
Create matching form groups in Rooster before using non-default keys like sales.
Collect One Form
Use this on a single page when only one form should be collected. The script key and form key must match.
data-rooster-wait is for native HTML forms that submit to an action URL. Rooster prevents the submit event, sends the submission to the collector, then continues the native form submission.
By default Rooster waits up to 10 seconds. You can adjust that with data-rooster-wait-timeout, from 1000 to 30000 milliseconds:
If Rooster accepts the submission before the timeout, the visitor is sent to the form action after the submission is saved and integrations are triggered. If the collector is unavailable or the timeout is reached, Rooster queues a retry in the visitor's browser and continues the native form submission so your form is not blocked.
Use the regular collector script without data-rooster-wait for JavaScript or framework-managed forms that prevent native submission and handle their own success state or redirect.
Multi-Stage Form
Use data-rooster-continue on step buttons to save partial data. Add data-rooster-final="true" to the final submit button so the final submission completes the same record.
Your own UI code can hide and show the sections. Rooster only needs the form fields and the stage button attributes.
