Description
KD Tracking Connector for OpenPanel is a lightweight, standalone plugin that brings professional web analytics to your WordPress site without touching a single line of theme code. Everything is set up from one place: Settings OpenPanel.
Under the hood, the plugin connects to OpenPanel, an open-source, privacy-friendly alternative to Google Analytics. Whether you use the official OpenPanel Cloud or your own self-hosted instance, the plugin handles the integration for you.
What you get
- Zero-code setup – enter a Client ID, flip a switch, done. No editing of
functions.phpor theme files required. - Works with any theme – runs completely independent of your active theme.
- One settings screen – every option lives under Settings OpenPanel, nothing scattered across menus.
- Self-hosted or cloud, your choice – point it at your own OpenPanel server, or leave the API URL empty to use the official cloud.
- Local script delivery – the tracking script is served straight from the plugin folder, avoiding an extra external request on page load.
- Fine-grained tracking control – toggle page views, outgoing-link tracking and
data-trackattribute tracking independently. - Optional Session Replay – record mouse movements, scroll behaviour and clicks, with automatic input masking to protect sensitive form data.
- Built-in privacy safeguards – honour Do Not Track, exclude logged-in users, and automatically disable tracking on local/staging sites running
WP_DEBUG. - Translation-ready – ships with English and German (informal “Du” and formal “Sie”) out of the box; more languages are welcome via translate.wordpress.org.
About OpenPanel
OpenPanel is the open-source (MIT-licensed), self-hostable analytics engine that does the actual tracking – real-time stats, custom events, session replay, and cookie-free basic page-view tracking. No data is ever sent to Google. Learn more at openpanel.dev.
Settings
All options are available under Settings OpenPanel:
- Enable OpenPanel – Enable or disable the tracking script globally. (Default: off)
- Client ID – The Client ID of your OpenPanel application.
- API URL (Self-Hosted) – Your self-hosted API endpoint, e.g.
https://analytics.example.com/api. Leave empty to use the official cloud. - Serve op1.js locally – Load the tracking script from the plugin folder instead of an external CDN. (Default: on)
- Track page views – Automatically track every page view. (Default: on)
- Track outgoing links – Track clicks on external links. (Default: on)
- Track data attributes – Track events via
data-trackHTML attributes. (Default: on) - Enable Session Replay – Record mouse movements, scroll behaviour and clicks. (Default: off)
- Mask form fields – Prevent plain-text capture of input fields in session replays. (Default: on)
- Skip logged-in users – Exclude admins and logged-in users from tracking. (Default: on)
- Respect Do Not Track – Honour the DNT browser signal. (Default: on)
- Disable on WP_DEBUG – No tracking on local or staging environments when
WP_DEBUGis active. (Default: on)
Third-Party Services
This plugin integrates with OpenPanel Analytics (openpanel.dev), an open-source web analytics platform.
Cloud service (API URL left empty): Visitor data including page views, custom events and optional session recordings is transmitted to servers operated by OpenPanel at https://openpanel.dev.
Self-hosted: All data goes exclusively to your own server. Nothing is sent to openpanel.dev.
Bundled JavaScript Files
assets/js/op1.js and `assets/js/op1-replay.js` are local copies of the official OpenPanel tracking scripts in minified form. The non-minified source code is available at [github.com/openpanel-dev/openpanel](https://github.com/openpanel-dev/openpanel).
Installation
- Install the plugin via Plugins Add New Plugin and search for “KD Tracking Connector for OpenPanel” – or upload the ZIP manually.
- Activate the plugin via Plugins Installed Plugins.
- Go to Settings OpenPanel.
- Enter your Client ID (and optionally your self-hosted API URL).
- Check Enable OpenPanel and save.
Requirements
- WordPress 6.0 or later
- PHP 8.0 or later
- An OpenPanel account – cloud or self-hosted
Keeping op1.js Up to Date
op1.js and `op1-replay.js` are bundled with the plugin. To update them manually when a new OpenPanel version is released:
Linux / macOS:
curl -o assets/js/op1.js https://openpanel.dev/op1.js
curl -o assets/js/op1-replay.js https://openpanel.dev/op1-replay.js
Windows (PowerShell):
Invoke-WebRequest -Uri "https://openpanel.dev/op1.js" -OutFile "assets/js/op1.js"
Invoke-WebRequest -Uri "https://openpanel.dev/op1-replay.js" -OutFile "assets/js/op1-replay.js"
FAQ
-
What does this plugin actually do?
-
It adds an admin screen (Settings OpenPanel) where you configure privacy-friendly analytics tracking for your site – no manual code editing. The plugin injects a small init script and loads the OpenPanel tracker, based purely on the options you set.
-
Do I need an OpenPanel account?
-
Yes. You need a Client ID from either the OpenPanel Cloud (free to sign up) or your own self-hosted OpenPanel instance.
-
Does the plugin support the OpenPanel Cloud service?
-
Yes – simply leave the API URL field empty. The plugin will connect to
https://openpanel.devautomatically. -
Is this plugin GDPR-compliant?
-
OpenPanel is designed with privacy in mind. Basic page-view tracking works without cookies. You can additionally enable Do Not Track support and exclude logged-in users. Consult your legal advisor for your specific situation and jurisdiction.
-
What happens when WP_DEBUG = true?
-
When “Disable on WP_DEBUG” is active (default), no tracking script is rendered. This prevents accidental data collection on development or staging environments.
-
Are logged-in WordPress users tracked?
-
Not by default. The “Skip logged-in users” option is enabled and excludes all authenticated users before the script is rendered.
-
Where is the tracking script injected?
-
The initialisation script is inserted at priority 5 in
<head>(before most other scripts).op1.jsis enqueued withdeferso it does not block page rendering. -
How do I track custom events?
-
Via JavaScript:
window.op('track', 'my_event', { foo: 'bar' });Via HTML attribute (when “Track data attributes” is active):
<button data-track="ticket_purchase">Buy ticket</button> -
How do I protect specific elements from Session Replay?
-
Use
data-openpanel-replay-maskto mask text content ordata-openpanel-replay-blockto replace an element entirely in the recording. -
Can I configure the plugin via WP-CLI?
-
Yes. Activate or deactivate it with
wp plugin activate|deactivate kd-tracking-connector-openpanel. All settings are regular WordPress options with theopsh_prefix and can be read or set withwp option get|update, e.g.wp option update opsh_enabled 1orwp option update opsh_client_id "abc123". See the plugin’s README.md for the full list of options. -
How do I translate the plugin?
-
The recommended way is to contribute a translation directly on translate.wordpress.org – once a translation is approved there, WordPress automatically downloads and uses it as an official language pack for your site’s language.
Alternatively, if you’re not installing from WordPress.org (e.g. a manually uploaded ZIP), you can use
languages/kd-tracking-connector-openpanel.potas the translation template. Create a.pofile for your locale (e.g.kd-tracking-connector-openpanel-fr_FR.po), translate it, and compile it to a.mofile withmsgfmtor Poedit. Bundled translation files are only used as a fallback until an official language pack is available.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“KD Tracking Connector for OpenPanel” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “KD Tracking Connector for OpenPanel” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.4
- Fixed translation setup: source strings in code are now English (the WordPress.org standard), so the plugin can properly receive an official German language pack via translate.wordpress.org
- Re-added
load_plugin_textdomain()as a fallback so bundled translations (currently German) are used immediately if no official language pack exists yet for a locale - Regenerated
languages/kd-tracking-connector-openpanel.potand bundledde_DE.po/.mo(informal “Du”),de_DE_formal.po/.mo(formal “Sie”) and a refresheden_US.po/.mo
1.0.3
- Code improvements and general housekeeping
- Added GitHub Actions workflows for automated validation and WordPress.org SVN deployment
- Added plugin icon for WordPress.org plugin directory
1.0.2
- Plugin display name set to “KD Tracking Connector for OpenPanel”, slug
kd-tracking-connector-openpanel - Replaced inline script output with
wp_add_inline_script()viawp_enqueue_scripts
1.0.0
- Initial release
- Admin settings page under Settings OpenPanel
- Support for self-hosted and cloud instances
- Local delivery of
op1.jsandop1-replay.js - Session Replay with input field masking
- DNT support, WP_DEBUG guard, exclude logged-in users
- Multilingual: German (source language) and English (en_US)