Feedback Integration Guide

Learn how to add a feedback widget to collect visitor feedback.

How It Works

The PrivateStater Feedback Widget provides the following features:

Script Installation

Use the methods in this document to install privatestater.js.

Skip this section if you already installed it.

Step 2: Enable Feedback in Dashboard

  1. Go to Dashboard > Website > Feedback > Settings
  2. Turn on Enable Feedback
  3. Configure necessary options

Setting Options

Setting Description Default
Enable Whether to use feedback widget Disabled
Allow Localhost Allow testing on localhost Disabled
Text Input Whether to collect text feedback Enabled
Emoji Rating Whether to collect emoji rating Enabled
Screenshot Attachment Whether visitors can attach screenshots Enabled
Email Collection Whether to display email field Disabled
Device Info (Analytics) Whether to allow linking feedback to Analytics sessions Enabled
Console Errors Attachment Whether visitors can attach captured console logs Enabled
Email Daily Digest Send at most one digest email per day when new feedback arrives Enabled
Widget Position Floating button position Bottom Right

Widget Position Options

Value Description
bottom-right Bottom right of screen (Default)
bottom-left Bottom left of screen

Auto Widget Display

When feedback is enabled, a floating button automatically appears on your website.
No extra HTML code is needed.

Workflow

  1. Visitor clicks floating button
  2. Feedback popup appears
  3. Select emoji rating (if configured)
  4. Enter text (if configured)
  5. Attach screenshot (if configured)
  6. Click Next (or Submit directly if step 2 is not shown)
  7. In step 2, enter email (if configured) and choose technical attachment options
  8. Submit

Programmatic Invocation

If you want to open the feedback widget from your own button or specific event:

window.PrivateStater.showFeedback();

Usage Examples

<!-- Custom Feedback Button -->
<button onclick="window.PrivateStater.showFeedback()">
    Leave Feedback
</button>
// Request feedback on specific condition
if (userCompletedPurchase) {
    window.PrivateStater.showFeedback();
}

Options

window.PrivateStater.showFeedback({
    onClose: function() {
        console.log('Feedback widget closed');
    }
});

Collected Data

Default Collected Data

Field Description Condition
Rating (rating) Emoji rating (1~4) When emoji rating enabled
Text (text) Feedback content (Max 2000 chars) When text input enabled
Email (email) Email for response When email collection enabled
Screenshot (screenshot) Screen capture image When user attaches

Emoji Rating

Value Emoji Korean English
1 😠 별로예요 Hate
2 😕 아쉬워요 Dislike
3 😊 좋아요 Like
4 😍 최고예요 Love

Optional Technical Attachment

When the visitor enables technical attachment in the widget, PrivateStater can store additional context:

Field Description Condition
technicalAttachment Visitor consent flag for technical context Always included in submit payload
pageUrl URL where feedback was submitted When technical attachment is enabled
language Browser language When technical attachment is enabled
consoleLogs Captured browser console logs When technical attachment is enabled and console logs setting is enabled
analyticsSessionConsent Consent to link with Analytics session When technical attachment is enabled and device info setting is enabled
visitorHash / sessionIndex / sessionStartedAt Session-linking fields for Analytics v2 When analytics session linking is enabled

For legacy feedback records, browser and device fields may still exist.

Managing Feedback in Dashboard

Feedback List

You can view collected feedback in the dashboard:

Status Management

Status Description
Unread Newly received feedback
In Progress Being reviewed or processed
Completed Closed or handled feedback
Blocked Automatically blocked feedback

Features

Statistics

Statistic Description
Total Feedback Total feedback count in selected period
Average Rating Average emoji rating (1~4)
Unread Number of unread feedback

Styling

The feedback widget is isolated with Shadow DOM and is not affected by external CSS. The widget automatically adapts to dark mode and light mode (detects prefers-color-scheme).

Multilingual Support

The feedback widget is automatically displayed in Korean or English based on the browser language.
If you need additional languages, email me at hello@privatestater.com and I'll add them.

Form Data Temporary Storage

Even if the user closes the widget while writing feedback, the input content is temporarily saved. When opened again, the previously written content is restored.

Privacy

Troubleshooting

Widget is not showing up

  1. Check if feedback is Enabled in the dashboard
  2. Check if the script is installed correctly
  3. Check for errors in the browser console

Not working on localhost

Enable the Allow Localhost option in the dashboard.

Screenshot attachment fails