{"id":304698,"date":"2026-05-13T14:11:03","date_gmt":"2026-05-13T14:11:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/hitkeep-analytics\/"},"modified":"2026-05-13T14:10:24","modified_gmt":"2026-05-13T14:10:24","slug":"hitkeep","status":"publish","type":"plugin","link":"https:\/\/os.wordpress.org\/plugins\/hitkeep\/","author":10330361,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.2.0","stable_tag":"0.2.0","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"HitKeep Analytics","header_author":"PascaleBeier","header_description":"Adds the first-party HitKeep tracker to WordPress without analytics cookies, third-party CDNs, or a tag manager.","assets_banners_color":"ecf5f0","last_updated":"2026-05-13 14:10:24","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/github.com\/sponsors\/PascaleBeier","header_plugin_uri":"https:\/\/hitkeep.com\/guides\/integrations\/wordpress\/","header_author_uri":"https:\/\/github.com\/PascaleBeier","rating":0,"author_block_rating":0,"active_installs":0,"downloads":23,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.0":{"tag":"0.2.0","author":"PascaleBeier","date":"2026-05-13 14:10:24"}},"upgrade_notice":{"0.2.0":"<p>Adds the Web Vitals switch and WordPress.org release assets.<\/p>","0.1.0":"<p>Initial release of the first-party HitKeep WordPress integration.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3531058,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3531058,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3531058,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3531058,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3531058,"resolution":"1","location":"assets","locale":"","width":1244,"height":1500},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3531058,"resolution":"2","location":"assets","locale":"","width":1280,"height":718}},"screenshots":{"1":"HitKeep settings page with connection cards, privacy defaults, tracker coverage, and snippet preview.","2":"Active HitKeep plugin row with the Settings shortcut."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[232,20315,396,40192,1233],"plugin_category":[36,54],"plugin_contributors":[87060],"plugin_business_model":[],"class_list":["post-304698","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-cookieless","plugin_tags-privacy","plugin_tags-self-hosted","plugin_tags-web-analytics","plugin_category-analytics","plugin_category-security-and-spam-protection","plugin_contributors-pascalebeier","plugin_committers-pascalebeier"],"banners":{"banner":"https:\/\/ps.w.org\/hitkeep\/assets\/banner-772x250.png?rev=3531058","banner_2x":"https:\/\/ps.w.org\/hitkeep\/assets\/banner-1544x500.png?rev=3531058","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/hitkeep\/assets\/icon-128x128.png?rev=3531058","icon_2x":"https:\/\/ps.w.org\/hitkeep\/assets\/icon-256x256.png?rev=3531058","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/hitkeep\/assets\/screenshot-1.png?rev=3531058","caption":"HitKeep settings page with connection cards, privacy defaults, tracker coverage, and snippet preview."},{"src":"https:\/\/ps.w.org\/hitkeep\/assets\/screenshot-2.png?rev=3531058","caption":"Active HitKeep plugin row with the Settings shortcut."}],"raw_content":"<!--section=description-->\n<p>HitKeep Analytics connects WordPress to a self-hosted or cloud HitKeep instance. It injects the normal <code>hk.js<\/code> tracker from your HitKeep instance and keeps data flowing through the core HitKeep ingest pipeline.<\/p>\n\n<p>The plugin does not add a separate analytics backend, database, queue, or third-party service. It only loads the tracker from the HitKeep instance you configure.<\/p>\n\n<h3>Privacy-first web analytics for WordPress<\/h3>\n\n<p>HitKeep is built for teams that want useful web analytics without adopting a heavy analytics stack. The WordPress plugin keeps setup simple: choose your HitKeep instance, save the settings, and the plugin loads the first-party tracker on public pages.<\/p>\n\n<p>Logged-in WordPress users are skipped by default, so administrators and editors do not pollute public traffic reports. Browser Do Not Track is respected by default.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>EU Cloud, US Cloud, and self-hosted HitKeep options.<\/li>\n<li>Logged-in WordPress users are skipped by default.<\/li>\n<li>Do Not Track is respected by default.<\/li>\n<li>Pageview tracking through HitKeep's normal <code>hk.js<\/code> tracker.<\/li>\n<li>Built-in HitKeep automatic events for outbound links, file downloads, and form submissions.<\/li>\n<li>Optional Web Vitals reporting for LCP, INP, CLS, FCP, and TTFB.<\/li>\n<li>Clear opt-outs for sendBeacon delivery, route changes, outbound links, downloads, and forms.<\/li>\n<li>Shortcut to open the configured HitKeep instance from the settings page.<\/li>\n<li>Snippet preview so site owners can see which tracker attributes will be emitted.<\/li>\n<\/ul>\n\n<h3>What the plugin does not do<\/h3>\n\n<ul>\n<li>It does not set analytics cookies.<\/li>\n<li>It does not create WordPress analytics tables.<\/li>\n<li>It does not require a tag manager.<\/li>\n<li>It does not load the tracker from a third-party CDN.<\/li>\n<li>It does not collect form field values, request bodies, link text, or URL query strings through automatic events.<\/li>\n<\/ul>\n\n<h3>Third-party service connection<\/h3>\n\n<p>This plugin connects to HitKeep. Depending on your settings, it loads JavaScript from and sends analytics data to one of these HitKeep hosts:<\/p>\n\n<ul>\n<li><code>https:\/\/cloud.hitkeep.eu<\/code><\/li>\n<li><code>https:\/\/cloud.hitkeep.com<\/code><\/li>\n<li>Your own self-hosted HitKeep URL<\/li>\n<\/ul>\n\n<p>HitKeep Cloud terms: https:\/\/hitkeep.com\/legal\/terms-of-service\/<\/p>\n\n<p>HitKeep Cloud privacy policy: https:\/\/hitkeep.com\/legal\/privacy-policy\/<\/p>\n\n<p>Self-hosted installations are controlled by your own HitKeep instance and infrastructure.<\/p>\n\n<h3>Source code<\/h3>\n\n<p>The main HitKeep project is available here:<\/p>\n\n<ul>\n<li>https:\/\/github.com\/PascaleBeier\/hitkeep<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/hitkeep<\/code> directory, or install the plugin through the WordPress plugins screen.<\/li>\n<li>Activate <strong>HitKeep Analytics<\/strong> from the Plugins screen.<\/li>\n<li>Open <strong>Settings -&gt; HitKeep<\/strong>.<\/li>\n<li>Choose EU Cloud, US Cloud, or self-hosted.<\/li>\n<li>For self-hosted HitKeep, enter the public URL of your HitKeep instance, such as <code>https:\/\/analytics.example.com<\/code>.<\/li>\n<li>Save changes.<\/li>\n<\/ol>\n\n<p>Add your WordPress domain to your HitKeep instance without a leading <code>www.<\/code>. HitKeep resolves public tracker hits from the browser <code>Origin<\/code> header.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20hitkeep%20account%3F\"><h3>Do I need a HitKeep account?<\/h3><\/dt>\n<dd><p>You need a HitKeep Cloud account or a self-hosted HitKeep instance.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20set%20analytics%20cookies%3F\"><h3>Does the plugin set analytics cookies?<\/h3><\/dt>\n<dd><p>No. The plugin injects HitKeep's normal <code>hk.js<\/code> tracker. The tracker does not set analytics cookies.<\/p><\/dd>\n<dt id=\"are%20logged-in%20wordpress%20users%20tracked%3F\"><h3>Are logged-in WordPress users tracked?<\/h3><\/dt>\n<dd><p>No, not by default. Enable <strong>Track logged-in WordPress users<\/strong> in the plugin settings if you want logged-in users to load the tracker.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20self-hosted%20hitkeep%3F\"><h3>Can I use this with self-hosted HitKeep?<\/h3><\/dt>\n<dd><p>Yes. Select <strong>Self-hosted or custom domain<\/strong> and enter the public URL of your HitKeep instance.<\/p><\/dd>\n<dt id=\"which%20automatic%20events%20can%20hitkeep%20track%3F\"><h3>Which automatic events can HitKeep track?<\/h3><\/dt>\n<dd><p>The normal HitKeep tracker can automatically track outbound links, file downloads, and form submissions. Each of those can be disabled from the WordPress settings page.<\/p><\/dd>\n<dt id=\"does%20automatic%20form%20tracking%20collect%20form%20fields%3F\"><h3>Does automatic form tracking collect form fields?<\/h3><\/dt>\n<dd><p>No. HitKeep records the form action path and method. It does not collect field values or request bodies.<\/p><\/dd>\n<dt id=\"can%20the%20plugin%20track%20web%20vitals%3F\"><h3>Can the plugin track Web Vitals?<\/h3><\/dt>\n<dd><p>Yes. Web Vitals are off by default. Enable <strong>Track Web Vitals<\/strong> when you want HitKeep to load the same-origin vitals bundle and report compact performance samples.<\/p><\/dd>\n<dt id=\"where%20can%20i%20report%20issues%3F\"><h3>Where can I report issues?<\/h3><\/dt>\n<dd><p>Use the support channels listed on hitkeep.com.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Add opt-in Web Vitals tracking from the settings page.<\/li>\n<li>Add WordPress.org release assets and localized settings strings.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial first-party WordPress integration for HitKeep.<\/li>\n<\/ul>","raw_excerpt":"Adds the first-party HitKeep tracker to WordPress without analytics cookies, third-party CDNs, or a tag manager.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/304698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=304698"}],"author":[{"embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pascalebeier"}],"wp:attachment":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=304698"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=304698"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=304698"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=304698"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=304698"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=304698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}