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:
- Floating Button - Displays feedback button at the bottom of the screen
- Emoji Rating - Quick satisfaction rating with 4-level emojis
- Text Feedback - Detailed opinion writing (Optional)
- Screenshot - Attach current screen capture (Optional)
- Email Collection - Email for response (Optional)
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
- Go to Dashboard > Website > Feedback > Settings
- Turn on Enable Feedback
- 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
- Visitor clicks floating button
- Feedback popup appears
- Select emoji rating (if configured)
- Enter text (if configured)
- Attach screenshot (if configured)
- Click Next (or Submit directly if step 2 is not shown)
- In step 2, enter email (if configured) and choose technical attachment options
- 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:
- Filter: Filter by period and status
- Search: Server-side search by feedback text, email, and page URL
- Sort: Sort by newest
- Pagination: 20 items per page in dashboard list
Status Management
| Status | Description |
|---|---|
| Unread | Newly received feedback |
| In Progress | Being reviewed or processed |
| Completed | Closed or handled feedback |
| Blocked | Automatically blocked feedback |
Features
- Status Update: Change status to unread, in progress, completed, or blocked
- Batch Actions: Bulk status update and bulk delete
- View Screenshot: View attached screenshot
- View Session: Jump to Analytics v2 sessions when a feedback item is linked
- Delete: Delete feedback (Irreversible)
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.
- Rating, text, email, and technical attachment choice are saved
- Initialized only upon successful submission
- Initialized when page is refreshed
Privacy
- No Cookies: I do not use cookies for feedback collection
- No IP Storage: I do not store IP addresses
- Optional Technical Context: Page URL, language, and console logs are collected only when the visitor opts in
- Analytics Session Linking: Session linkage uses a daily visitor hash, not a raw IP value
Troubleshooting
Widget is not showing up
- Check if feedback is Enabled in the dashboard
- Check if the script is installed correctly
- Check for errors in the browser console
Not working on localhost
Enable the Allow Localhost option in the dashboard.
Screenshot attachment fails
- Screenshots supported up to 1MB
- Some browsers may have compatibility issues with html2canvas library