Feedback Integration Guide
Learn how to collect feedback from visitors by adding a feedback widget to your website.
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
If you have already installed the script, skip this section. All features are provided via a single unified privatestater.js script.
Add the following script to the <head> section of your website:
<script> window.PrivateStaterConfig = { prstSite: "YOUR_SITE_ID" }; </script>
<script src="https://privatestater.com/privatestater.js"></script>
Replace YOUR_SITE_ID with the Website ID created in the dashboard.
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 |
| Email Collection | Whether to display email field | Disabled |
| 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)
- Select category and enter text (optional)
- Attach screenshot (optional)
- Select metadata consent (optional)
- Enter email (if configured)
- 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 |
| Category (category) | Feedback classification | Always |
| Screenshot (screenshot) | Screen capture image | When user attaches |
Categories
| Value | Korean | English |
|---|---|---|
issue |
버그 신고 | Bug |
idea |
기능 제안 | Feature |
other |
일반 의견 | General |
Emoji Rating
| Value | Emoji | Korean | English |
|---|---|---|---|
| 1 | 😠 | 별로예요 | Hate |
| 2 | 😕 | 아쉬워요 | Dislike |
| 3 | 😊 | 좋아요 | Like |
| 4 | 😍 | 최고예요 | Love |
Metadata (With User Consent)
The following information is collected only if the user consents:
| Data | Description |
|---|---|
| Browser Info | Chrome, Firefox, Safari, etc. |
| Device Type | Desktop, Mobile, Tablet |
| Language | Browser language setting |
| Page URL | Page address where feedback was sent |
Metadata consent can be selected via checkbox on the feedback submission screen.
Managing Feedback in Dashboard
Feedback List
You can view collected feedback in the dashboard:
- Filter: Filter by period, status (read/unread), category
- Sort: Sort by newest
- Pagination: Max 100 per page
Status Management
| Status | Description |
|---|---|
| Read | Checked feedback |
| Important | Feedback marked as important |
Features
- Mark as Read: Mark feedback as read
- Mark as Important: Highlight important feedback
- View Screenshot: View attached screenshot
- 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 |
| Important | Number of feedback marked as important |
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, please contact us and I will add them quickly.
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 metadata consent status 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
- Metadata Consent: Browser/Device/Language/URL info collected only with user consent
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