Signaldeck widget
Install the widget on your site, send useful response context, and control when the feedback prompt appears.
For product fit, placement examples, and the response workflow, review the Signaldeck website feedback widget.
Install the widget
Replace YOUR_WIDGET_ID with the widget ID from your Signaldeck form install page, then paste the snippet before the closing </body> tag.
<!-- Optional: add response context before the widget loads -->
<script>
window.Signaldeck = window.Signaldeck || [];
window.Signaldeck.push({
userIdentifier: "user-123",
meta: {
plan: "basic",
page: "settings"
}
});
</script>
<!-- Signaldeck feedback widget -->
<script async src="https://cdn.signaldeck.com/sdk/js/widget.js"
data-widget-id="YOUR_WIDGET_ID"
data-api-base-url="https://api.signaldeck.com"></script>- The optional config block should appear before the async widget script.
userIdentifierhelps connect feedback to a user in your own system.metasends extra context, such as plan, page, account, or feature area.
Use your own launcher
Add data-widget-id to a button or link when you want the widget to open from your own UI.
<button type="button"
data-widget-id="YOUR_WIDGET_ID"
data-api-base-url="https://api.signaldeck.com">
Give feedback
</button>
<script async src="https://cdn.signaldeck.com/sdk/js/widget.js"></script>Open the widget after a delay
For timed prompts, install the widget first, then call open when the moment is right. This example opens the widget five seconds after the page loads.
<script>
window.addEventListener("load", function () {
window.setTimeout(function () {
window.Signaldeck.open("YOUR_WIDGET_ID");
}, 5000);
});
</script>Public methods
These methods are available on window.Signaldeck after the SDK loads.
window.Signaldeck.push(config)- Queues or applies global settings such as userIdentifier, meta, apiBaseUrl, and debug.
window.Signaldeck.init(config)- Applies global widget settings after the SDK has loaded. Use push before the SDK loads.
window.Signaldeck.initWidgets()- Scans the page for elements with data-widget-id and wires each launcher to its widget.
window.Signaldeck.configureWidget(options)- Creates or updates one widget. Pass widgetId, and optionally apiBaseUrl or debug.
window.Signaldeck.open(widgetId)- Opens a widget programmatically. Use this for delayed prompts, in-product triggers, or custom workflows.
window.Signaldeck.close(widgetId)- Closes a visible widget programmatically.