For full control over initialization, user identity, and lifecycle, use the JavaScript API instead of (or alongside) data-* attributes.
Clayzo.init(options)
Initialize the widget. If a widget is already active, it will be destroyed first.
Options
Clayzo.open()
Open the feedback panel programmatically. Use this when you’ve set triggerStyle: "none" and want to trigger the panel from your own UI.
For example, from a button in your footer:
Or from a React component:
Clayzo.destroy()
Remove the widget from the page and stop all recording.
If you use data-key on the script tag and call Clayzo.init(), the programmatic call takes precedence.
Single-Page App Usage
For SPAs (React, Next.js, Vue, etc.), initialize in your app’s root component and destroy on unmount: