Lightweight Rybbit Analytics tracking for WordPress with Nginx proxy support and Gravity Forms event tracking. Built for Weave Digital Studio and HumanKind client sites.
- Single
<script>tag output — no bloat, no jQuery dependency - Nginx reverse proxy mode to bypass ad blockers
- Gravity Forms event tracking (AJAX and non-AJAX submissions)
- Admin and logged-in user exclusions
- Configurable script loading strategy (async/defer)
- React settings page using
@wordpress/components - GitHub-based automatic updates
- WordPress 6.2+
- PHP 8.1+
- Node.js 20+ (for building from source)
Download the latest release zip from GitHub Releases and install via Plugins -> Add New -> Upload Plugin.
Updates appear automatically in Dashboard -> Updates via the built-in GitHub updater.
Navigate to Settings -> Rybbit Analytics in the WordPress admin.
| Setting | Default | Description |
|---|---|---|
| Site ID | — | Numeric ID from your Rybbit dashboard (required) |
| Instance URL | https://app.rybbit.io |
Your Rybbit instance URL |
| Proxy Mode | Off | Serve tracking script from your own domain |
| Proxy Path | /ry |
Local path for proxy mode (must match Nginx config) |
| Setting | Default | Description |
|---|---|---|
| Disable for Admins | On | Skip tracking for administrators |
| Disable for Logged-in Users | Off | Skip tracking for all logged-in users |
| Script Loading | defer |
Loading strategy: async, defer, or async defer |
| Setting | Default | Description |
|---|---|---|
| Enable GF Tracking | Off | Fire Rybbit events on form submissions |
| Event Name | form_submission |
Event name sent to Rybbit |
| Include Form Title | On | Send form title as event property |
| Include Form ID | On | Send form ID as event property |
| Tracked Forms | — | Comma-separated form IDs (blank = all) |
Proxy mode changes the tracking script src from https://app.rybbit.io/api/script.js to a local path like /ry/script.js. Combined with an Nginx reverse proxy, this makes all analytics requests appear to come from your own domain, bypassing ad blockers.
See nginx-proxy-config.md in the repository for the companion Nginx configuration.
npm install && npm run build # Production build
npm run start # Watch mode
npm run lint # Lint JS- Bump version in
weave-rybbit-analytics.phpheader andpackage.json - Update
CHANGELOG.md - Commit and push to
main - Tag and push:
git tag -a v1.x.x -m "Version 1.x.x" && git push origin main --tags - GitHub Actions builds and publishes the release automatically
GPL-2.0-or-later