{"id":2381,"date":"2026-08-12T10:43:03","date_gmt":"2026-08-12T10:43:03","guid":{"rendered":"https:\/\/ukspeed.co.uk\/blog\/?p=2381"},"modified":"2026-08-12T10:46:33","modified_gmt":"2026-08-12T10:46:33","slug":"self-hosted-analytics-uk-vps-plausible-vs-matomo-vs-umami-gdpr-2026","status":"publish","type":"post","link":"https:\/\/ukspeed.co.uk\/blog\/self-hosted-analytics-uk-vps-plausible-vs-matomo-vs-umami-gdpr-2026\/","title":{"rendered":"Self-Hosted Analytics on UK VPS: Plausible vs Matomo vs Umami (GDPR-Friendly) 2026"},"content":{"rendered":"<p>Running your own <strong>self-hosted analytics<\/strong> means the software that measures your website traffic lives on a server you control, so visitor data never leaves your infrastructure and never lands in Google&#8217;s data centres. For UK businesses tightening up on data protection, that single change fixes a surprising number of compliance headaches at once. This guide compares Plausible, Matomo and Umami, and shows how to run any of them on a UK VPS.<\/p>\n\n<h2 class=\"wp-block-heading\">What Is Self-Hosted Analytics?<\/h2>\n\n<p>Self-hosted analytics is web analytics software that you install and run on your own server rather than relying on a third-party service such as Google Analytics 4 (GA4). With a hosted service, every page view is sent to a company&#8217;s cloud, processed on their terms, and stored wherever they choose. With the self-hosted model, the tracking script talks to your VPS, the data is written to a database you own, and you decide the retention period, the access controls and the physical location of every record.<\/p>\n\n<p>That distinction matters most for two reasons: data ownership and data residency. You are no longer a product feeding an advertising ecosystem, and you can keep every byte of visitor data inside the UK. Combined with modern privacy-friendly analytics tools that collect no personal data at all, this is the cleanest route to a genuine <a href=\"https:\/\/ukspeed.co.uk\/blog\/uk-gdpr-hosting-checklist-2026-12-technical-requirements-the-ico-inspects-after-a-data-breach\/\">GDPR-compliant hosting<\/a> setup.<\/p>\n\n<h2 class=\"wp-block-heading\">Why Self-Host Your Web Analytics<\/h2>\n\n<p>There are practical, legal and technical reasons UK site owners are moving away from GA4. None of them require you to hate Google; they simply reflect what a growing number of businesses now need from a Google Analytics alternative.<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>UK data residency:<\/strong> keep visitor data on a UK VPS, not routed to servers outside the UK or EU.<\/li><li><strong>Data ownership:<\/strong> your traffic data is your asset, exportable and never mined for advertising.<\/li><li><strong>Often no cookie banner:<\/strong> cookieless tools that store no personal data frequently avoid the need for a consent pop-up.<\/li><li><strong>Simpler reporting:<\/strong> a clean single-page dashboard instead of GA4&#8217;s steep learning curve.<\/li><li><strong>No sampling:<\/strong> you see 100% of your traffic, not a statistical estimate.<\/li><\/ul>\n\n<p>The compliance angle is the strongest driver. If you also run WooCommerce or handle customer accounts, it pays to read our <a href=\"https:\/\/ukspeed.co.uk\/blog\/uk-data-protection-act-2025-wordpress-compliance-checklist-2026\/\">UK Data Protection Act 2025 checklist<\/a> alongside this guide, because analytics is only one part of a wider obligation.<\/p>\n\n<h3 class=\"wp-block-heading\">What You Need for Self-Hosted Analytics<\/h3>\n\n<p>Getting started with self-hosted analytics is well within reach of any competent site owner or agency. You will need a small UK VPS (two vCPUs and 2\u20134GB of RAM comfortably runs any of these tools for a typical business site), a domain or subdomain such as <code>analytics.yourdomain.co.uk<\/code>, Docker and Docker Compose installed, and an SSL certificate through a reverse proxy. If you would rather someone else patched and maintained the box, weigh up <a href=\"https:\/\/ukspeed.co.uk\/blog\/managed-vs-unmanaged-vps-hosting\/\">managed versus unmanaged VPS hosting<\/a> before you commit.<\/p>\n\n<h2 class=\"wp-block-heading\">Plausible vs Matomo vs Umami<\/h2>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/ukspeed.co.uk\/blog\/wp-content\/uploads\/2026\/08\/an1-compare.svg\" alt=\"Self-hosted analytics tools compared: Plausible vs Matomo vs Umami on footprint, cookieless and features\" class=\"wp-image-2383\" \/><figcaption class=\"wp-element-caption\">Plausible, Matomo and Umami compared &mdash; all keep visitor data on your own UK VPS and are GDPR-friendly by design.<\/figcaption><\/figure>\n\n\n<p>The three leading open-source options each suit a different kind of site. In the Plausible vs Matomo vs Umami debate, the honest answer is that they are not really competitors so much as points on a spectrum from &#8220;minimal and cookieless&#8221; to &#8220;full GA replacement&#8221;. The table below summarises the differences.<\/p>\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Feature<\/th><th>Plausible<\/th><th>Matomo<\/th><th>Umami<\/th><\/tr><\/thead><tbody><tr><td>Built with<\/td><td>Elixir<\/td><td>PHP \/ MySQL<\/td><td>Node.js \/ PostgreSQL<\/td><\/tr><tr><td>Cookieless by default<\/td><td>Yes<\/td><td>Optional<\/td><td>Yes<\/td><\/tr><tr><td>Script size<\/td><td>~1KB<\/td><td>~20KB+<\/td><td>~2KB<\/td><\/tr><tr><td>Feature depth<\/td><td>Simple, focused<\/td><td>Full (funnels, heatmaps, goals, e-commerce)<\/td><td>Simple, focused<\/td><\/tr><tr><td>Resource use<\/td><td>Low<\/td><td>Higher<\/td><td>Very low<\/td><\/tr><tr><td>Best for<\/td><td>Blogs, SaaS, marketing sites<\/td><td>WooCommerce, deep analysis<\/td><td>Lean sites, developers<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<p><strong>Plausible<\/strong> is lightweight, open-source and cookieless by design. It collects no personal data and does no cross-site tracking, which makes it GDPR, PECR and CCPA friendly out of the box. <strong>Matomo<\/strong> is the closest thing to a like-for-like GA replacement, with funnels, heatmaps, goals and e-commerce reporting; it is more resource-hungry but hard to beat for depth. <strong>Umami<\/strong> is the minimalist&#8217;s choice: fast, cookieless, privacy-first and trivial to deploy, with fewer features but a beautifully clean interface.<\/p>\n\n<h2 class=\"wp-block-heading\">How to Install Plausible on UK VPS<\/h2>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/ukspeed.co.uk\/blog\/wp-content\/uploads\/2026\/08\/an2-dashboard.svg\" alt=\"Plausible self-hosted analytics dashboard showing visitors, pages and sources with no cookies\" class=\"wp-image-2385\" \/><figcaption class=\"wp-element-caption\">A clean, single-page analytics dashboard &mdash; no cookies, no personal data, all stored on your UK VPS.<\/figcaption><\/figure>\n\n\n<p>Plausible Community Edition ships as a Docker Compose stack, so installation on a UK VPS is a matter of cloning the repository and configuring a few environment variables. Point your subdomain&#8217;s DNS at the server first.<\/p>\n\n<pre class=\"wp-block-code\"><code># Clone the community edition\ngit clone https:\/\/github.com\/plausible\/community-edition plausible\ncd plausible\n\n# Generate a secret key and add it to the env file\nopenssl rand -base64 48\n\n# Edit plausible-conf.env with your domain and secret\n# BASE_URL=https:\/\/analytics.yourdomain.co.uk\n# SECRET_KEY_BASE=your-generated-key\n\n# Start the stack\ndocker compose up -d<\/code><\/pre>\n\n<p>Plausible listens on an internal port (8000 by default). Put a reverse proxy such as Caddy or Nginx in front to terminate SSL and serve it on your subdomain. Once it is up, log in, add your website in the dashboard, and copy the snippet it gives you. If Docker on a VPS is new to you, our <a href=\"https:\/\/ukspeed.co.uk\/blog\/docker-compose-wordpress-production-on-uk-vps-full-stack-setup-guide-2026\/\">Docker Compose on UK VPS guide<\/a> walks through reverse proxies and SSL in detail.<\/p>\n\n<h2 class=\"wp-block-heading\">How to Install Matomo and Umami<\/h2>\n\n<h3 class=\"wp-block-heading\">Matomo via Docker<\/h3>\n\n<p>Matomo runs happily as a Docker Compose stack alongside a MariaDB database. A minimal <code>compose.yaml<\/code> looks like this:<\/p>\n\n<pre class=\"wp-block-code\"><code>services:\n  db:\n    image: mariadb:11\n    environment:\n      - MYSQL_ROOT_PASSWORD=change-me\n      - MYSQL_DATABASE=matomo\n    volumes:\n      - db:\/var\/lib\/mysql\n  matomo:\n    image: matomo:latest\n    ports:\n      - \"8080:80\"\n    volumes:\n      - matomo:\/var\/www\/html\nvolumes:\n  db:\n  matomo:<\/code><\/pre>\n\n<p>Run <code>docker compose up -d<\/code>, browse to the server on port 8080, and follow the web installer to connect the database and create your admin account. As with Plausible, place it behind a reverse proxy with SSL.<\/p>\n\n<h3 class=\"wp-block-heading\">Umami via Docker<\/h3>\n\n<p>Umami is the quickest of the three to stand up. It needs only a Node.js container and a PostgreSQL database:<\/p>\n\n<pre class=\"wp-block-code\"><code>services:\n  umami:\n    image: ghcr.io\/umami-software\/umami:postgresql-latest\n    ports:\n      - \"3000:3000\"\n    environment:\n      - DATABASE_URL=postgresql:\/\/umami:umami@db:5432\/umami\n      - DATABASE_TYPE=postgresql\n      - APP_SECRET=change-me\n    depends_on:\n      - db\n  db:\n    image: postgres:16-alpine\n    environment:\n      - POSTGRES_DB=umami\n      - POSTGRES_USER=umami\n      - POSTGRES_PASSWORD=umami\n    volumes:\n      - db:\/var\/lib\/postgresql\/data\nvolumes:\n  db:<\/code><\/pre>\n\n<p>Log in with the default credentials, change the password immediately, add your website and grab the tracking snippet. A UK VPS from a provider like UK Speed keeps all of this on British soil from the first request onwards.<\/p>\n\n<h2 class=\"wp-block-heading\">Add the Tracking Script to WordPress<\/h2>\n\n<p>Whichever tool you chose, the final step is the same: place a small JavaScript snippet in the <code>&lt;head&gt;<\/code> of every page. Plausible and Umami give you a one-line script tag; Matomo gives you a short block.<\/p>\n\n<pre class=\"wp-block-code\"><code>&lt;!-- Example: Plausible --&gt;\n&lt;script defer data-domain=\"yourdomain.co.uk\"\n  src=\"https:\/\/analytics.yourdomain.co.uk\/js\/script.js\"&gt;&lt;\/script&gt;<\/code><\/pre>\n\n<p>On WordPress you have three easy options. The simplest is a header-insert plugin such as WPCode, which lets you paste the snippet into a site-wide header without touching theme files. Alternatively, add it to your theme&#8217;s <code>header.php<\/code> (or a child theme) before the closing head tag. Matomo also publishes an official WordPress plugin that connects your site to a self-hosted Matomo instance and reports inside the dashboard. Because these scripts are tiny, they will not undermine the page speed that <a href=\"https:\/\/ukspeed.co.uk\/blog\/why-fast-wordpress-hosting-improves-seo-rankings-and-website-performance-in-2026\/\">helps your SEO rankings<\/a> \u2014 a welcome contrast to GA4&#8217;s heavier tag.<\/p>\n\n<h2 class=\"wp-block-heading\">Configure Analytics for GDPR Compliance<\/h2>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/ukspeed.co.uk\/blog\/wp-content\/uploads\/2026\/08\/an3-gdpr.svg\" alt=\"Why self-hosted analytics is GDPR-friendly: cookieless first-party tracking keeps data in the UK\" class=\"wp-image-2387\" \/><figcaption class=\"wp-element-caption\">Cookieless, first-party analytics keep visitor data in the UK and often avoid a cookie banner &mdash; verify against ICO\/PECR guidance.<\/figcaption><\/figure>\n\n\n<p>Choosing a privacy-friendly tool is the start, not the end, of GDPR-compliant analytics. The Privacy and Electronic Communications Regulations (PECR) govern cookies and similar technologies in the UK, and they sit alongside the UK GDPR. The key point is that cookieless tools which store no personal data and set no cookies typically fall outside the consent requirement for cookie banners \u2014 but this depends entirely on how you configure them, so verify your setup against the <a href=\"https:\/\/ico.org.uk\/for-organisations\/direct-marketing-and-privacy-and-electronic-communications\/guide-to-pecr\/cookies-and-similar-technologies\/\" rel=\"noopener\" target=\"_blank\">ICO guidance on cookies and PECR<\/a> rather than assuming.<\/p>\n\n<p>Whichever tool you run, apply these settings to stay on the right side of the rules:<\/p>\n\n<ul class=\"wp-block-list\"><li><strong>Anonymise IP addresses<\/strong> so no individual visitor can be identified (Matomo has a built-in setting; Plausible and Umami never store them).<\/li><li><strong>Set a data retention period<\/strong> and delete raw data you no longer need.<\/li><li><strong>Keep data in the UK or EU<\/strong> by hosting on a UK VPS \u2014 this satisfies data residency expectations.<\/li><li><strong>Run Matomo in cookieless mode<\/strong> if you want to avoid a banner; in its default cookie mode you will still need consent.<\/li><li><strong>Document your setup<\/strong> in your privacy policy so visitors know what is measured and where it lives.<\/li><\/ul>\n\n<p>The reassuring part is that Plausible and Umami are designed to collect no personal data in the first place, which removes most of the risk before you configure anything. Matomo can match them but needs the cookieless option switched on. In all cases, &#8220;no banner&#8221; is a consequence of your configuration, not an automatic guarantee.<\/p>\n\n<h2 class=\"wp-block-heading\">Choose the Right Analytics Tool<\/h2>\n\n<p>Match the tool to the questions you actually need to answer. If you run a blog, a SaaS product or a marketing site and mainly want to know which pages and channels perform, <strong>Plausible<\/strong> gives you a fast, cookieless dashboard with almost nothing to maintain. If you run WooCommerce or need funnels, heatmaps, goals and detailed e-commerce reporting, <strong>Matomo<\/strong> is the true GA4 replacement and worth its heavier footprint. If you are a developer or agency who values a lean, minimal footprint above all, <strong>Umami<\/strong> is the neatest and cheapest to run.<\/p>\n\n<p>All three deliver the same core wins: data ownership, UK data residency and cookieless, privacy-friendly analytics. The right choice is simply the one whose feature depth matches your needs.<\/p>\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n<p>Self-hosted analytics has matured to the point where privacy compliance and useful reporting are no longer a trade-off. Running Plausible, Matomo or Umami on a UK VPS keeps every visitor record in the UK, hands you full ownership of the data, and in most cookieless configurations removes the need for a consent banner. It is one of the highest-value changes a privacy-conscious UK business can make in 2026.<\/p>\n\n<ul class=\"wp-block-list\"><li>Pick your tool: Plausible for simplicity, Matomo for depth, Umami for a minimal footprint.<\/li><li>Spin up a small UK VPS with Docker and a subdomain for the dashboard.<\/li><li>Deploy with Docker Compose behind a reverse proxy with SSL.<\/li><li>Add the tracking snippet, anonymise IPs, set retention, and confirm your PECR position against ICO guidance.<\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>Running your own self-hosted analytics means the software that measures your website traffic lives on a server you control, so visitor data never leaves\u2026<\/p>\n","protected":false},"author":3,"featured_media":2396,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[103],"tags":[143,148,147,61,113,136,140,139],"class_list":["post-2381","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security","tag-database","tag-dns","tag-docker","tag-hosting","tag-performance","tag-ssl","tag-vps","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=2381"}],"version-history":[{"count":3,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2381\/revisions"}],"predecessor-version":[{"id":2388,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2381\/revisions\/2388"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/media\/2396"}],"wp:attachment":[{"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=2381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=2381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ukspeed.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=2381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}