Proxy Setup Guide
Bypass ad blockers and improve tracking accuracy by proxying Rybbit through your own domain
Proxying Rybbit's tracking script through your own domain helps bypass ad blockers and improves tracking accuracy by making all analytics requests appear as first-party traffic.
What is Proxy Setup?
When you add Rybbit's tracking script directly to your website using the default installation:
<script src="https://app.rybbit.io/api/script.js" async data-site-id="YOUR_SITE_ID"></script>The browser loads the script from app.rybbit.io, which ad blockers can identify and block as third-party analytics. Even though Rybbit is privacy-focused and doesn't use cookies, some ad blockers use aggressive blocking rules that target any analytics domains.
Proxying solves this by serving the tracking script and handling tracking requests through your own domain (e.g., yourdomain.com/analytics/script.js), making all tracking appear as first-party traffic.
Rybbit is fully compliant with GDPR, CCPA, and other privacy regulations. It uses cookieless tracking based on IP + User Agent hashing with optional daily rotating salts. Proxying is about improving data accuracy, not circumventing privacy laws.
Why Proxy Rybbit?
Improve Tracking Accuracy
Ad blockers are becoming increasingly aggressive and may block analytics scripts regardless of their privacy practices. By proxying through your own domain:
- Bypass ad blocker detection: Requests appear as first-party traffic to your own domain
- Increase data completeness: Typical improvement of 10-30% in tracked sessions
- Maintain accurate metrics: Get a true picture of your website's performance
Stay Privacy-Compliant
Proxying doesn't compromise user privacy:
- No cookies are used (Rybbit remains cookieless)
- User data is still processed according to your privacy policy
- GDPR, CCPA, and other privacy regulations remain fully satisfied
- Users can still opt out through browser settings or Do Not Track
Better Performance (Optional)
With proper caching configuration, proxying can also improve performance:
- Serve scripts from your CDN or edge network
- Reduce DNS lookups (one less domain to resolve)
- Cache static scripts closer to your users
How It Works
Here's the flow when you proxy Rybbit:
-
User visits your website: Your HTML includes the tracking script from your domain
<script src="https://yourdomain.com/analytics/script.js" data-site-id="123"></script> -
Script loads from your domain: Your server proxies the request to Rybbit's servers
- Request:
yourdomain.com/analytics/script.js→ proxied to →app.rybbit.io/api/script.js
- Request:
-
Script auto-discovers analytics host: The Rybbit script automatically detects the domain it was loaded from
// The script extracts the host from its own src attribute const analyticsHost = src.split("/script.js")[0]; // Result: "https://yourdomain.com/analytics" -
Tracking data sent through your domain: All analytics events are sent to your domain and proxied to Rybbit
- Event tracking:
yourdomain.com/analytics/track→ proxied to →app.rybbit.io/api/track - Session replay:
yourdomain.com/analytics/session-replay/record/{siteId}→ proxied - Configuration:
yourdomain.com/analytics/site/tracking-config/{siteId}→ proxied
- Event tracking:
-
Data appears in your Rybbit dashboard: No changes needed in the Rybbit interface
Bandwidth Consideration: All tracking requests will flow through your server infrastructure, which will increase bandwidth usage. For most sites this is minimal (typically 10-50KB per session), but consider this when evaluating hosting costs.
Choose Your Framework
Select the framework or platform that matches your setup:
Generic Implementation
If your framework isn't listed above, check out our generic implementation guide that covers the core concepts applicable to any reverse proxy or server setup.
Need Help?
If you encounter issues during setup, check our troubleshooting guide for common problems and solutions.