Troubleshooting
Common issues and solutions when using PrivateStater.
Common Issues
Script does not load
Symptom: [PrivateStater Getter] Missing prstSite config error in console
Cause: PrivateStaterConfig is not defined before the script
Solution:
<!-- Must be in this order -->
<script>
window.PrivateStaterConfig = { prstSite: "YOUR_SITE_ID" };
</script>
<script src="https://privatestater.com/privatestater.js"></script>
host_mismatch Error
Symptom: host_mismatch error in console
Cause: Request Origin does not match Host registered in dashboard
Solution:
- Check Host value of website in dashboard
- Check if it matches the actual access domain
- Check for subdomain inclusion (e.g.,
www.example.comvsexample.com)
Not working on localhost
Cause: localhost access is blocked by default
Solution:
- Dashboard > Website > [Feature] > Settings
- Enable Allow Localhost option
Note: Must be set separately for each feature (Captcha, Feedback).
Blocked by Ad Blocker
Symptom: Script load failure or API request blocked
Cause: Some ad blockers block analytics-related scripts
Solution:
- Guide users to unblock privatestater.com
- Or request unblock from the filter maintainer
Analytics Issues
Visitor statistics are not showing up
Checklist:
Check Script Installation
console.log(window.PrivateStater); // Object should be printedCheck websiteId
- Verify it matches the ID created in the dashboard
Check Network Requests
- Browser Developer Tools > Network tab
- Check for
/api/analytics/collect/visitrequest - Check if response is 204
Wait Time
- Statistics are reflected within about 1 minute
Duplicate visitors are counted
Not a Cause: This is normal behavior.
Explanation: PrivateStater deduplicates hourly. Visits by the same visitor at different times are counted separately.
Example:
- Visit at 10:00 AM → Counted as 1
- Revisit at 10:30 AM → Deduplicated (Same hour)
- Revisit at 11:00 AM → Added 1 count (Different hour)
Click tracking not working
Checklist:
Check Function Call
window.PrivateStater.statsClick("button_id");Check buttonId Format
- Alphanumeric, hyphens, underscores only
- No spaces
Captcha Issues
Captcha widget is not showing up
Checklist:
Check Activation
- Dashboard > Captcha > Settings > Enabled status
Check data-captcha Attribute
<div data-captcha="prst"></div>Check Console Errors
captcha_not_enabled: Captcha not enabledwebsite_not_found: Invalid websiteId
Puzzle verification fails
Cause:
- Puzzle piece position is not accurate (Tolerance: ±8px)
- Session expired (5 minutes)
Solution: Fit the puzzle piece to the exact position.
PoW takes too long
Cause: PoW difficulty set too high
Solution:
- Dashboard > Captcha > Settings
- Change PoW Difficulty to
low
Estimated Time by Difficulty:
- low: ~1s
- medium: ~2s
- high: ~3s
Token verification fails
Checklist:
Check Token Expiration
- Token expires after 5 minutes
Check Duplicate Usage
- Token can only be used once
- Already verified tokens cannot be reused
Check websiteId Match
- Use same websiteId on client and server
Check API Request Format
{ "websiteId": "my-site", "verifyToken": "session-id:signature" }
honeypot_triggered Error
Cause: Honeypot field filled (Detected as bot)
Checklist:
- Disable auto-fill tools
- Check browser extensions
Feedback Issues
Feedback button is not showing up
Checklist:
Check Activation
- Dashboard > Feedback > Settings > Enabled status
z-index Conflict
- Button might be covered by other elements
- Feedback button z-index: 999998
Screenshot attachment fails
Cause:
- Image size exceeds 1MB
- Some elements not captured (CORS images, etc.)
Solution:
- Screenshots are captured using html2canvas library
- External images cannot be captured due to CORS restrictions
Feedback is not submitted
Checklist:
Check Required Data
- At least one of rating, text, or screenshot required
Check Rate Limit
- Limit 10 per minute
Check Network Requests
- Check
/api/feedback/submitresponse
- Check
Error Code Reference
| Error Code | Cause | Solution |
|---|---|---|
missing_required_fields |
Missing required fields | Check request body |
invalid_website_id |
Invalid websiteId format | Check ID format (lowercase, numbers, hyphens) |
website_not_found |
Website does not exist | Check website creation in dashboard |
host_mismatch |
Origin and Host mismatch | Check domain registration |
captcha_not_enabled |
Captcha disabled | Enable in dashboard |
feedback_not_enabled |
Feedback disabled | Enable in dashboard |
token_invalid_or_expired |
Token expired/used | Start new captcha |
token_expired |
Session expired (5 mins) | Start new captcha |
puzzle_mismatch |
Puzzle position error | Fit to exact position |
pow_invalid |
PoW hash error | Start new captcha |
honeypot_triggered |
Bot detected | Disable auto-fill |
empty_feedback |
Empty feedback | Enter content |
rate_limit_* |
Request limit exceeded | Retry later |
Additional Support
If you have issues that are not resolved by the above methods:
- Email: hello@privatestater.com
- Please include problem description, error message, and browser console logs if needed