
Pirsch Analytics
Next level analytics for the modern web
AI isn’t the only topic being discussed. I’m glad to see that digital sovereignty in Europe is now being discussed more, and that we’re talking about how to reduce our dependence on US service providers.
Anyone running a website, managing a business or developing digital products cannot afford to ignore this issue. In this article, I’ll explain why digital sovereignty is a critical issue for European businesses and website operators, and what the US CLOUD Act has to do with it. I’ll also discuss why, in this context, choosing a European analytics tool like Pirsch Analytics is about far more than just technology.
A quick disclaimer: I’m not writing this article to criticise US companies. In fact, I would prefer it if there were clear regulations in place, so that we could work together more effectively. Around 30–40% of our customers are US-based, including enterprise customers that I highly value and enjoy working with.
The US CLOUD Act
In 2018, the United States enacted the CLOUD Act (Clarifying Lawful Overseas Use of Data Act). It emerged in response to a legal dispute between Microsoft and the US government: Microsoft had refused to hand over customer data stored on Irish servers to US authorities. The law resolved the question clearly: in favour of US authorities.
What the CLOUD Act means in practice: US authorities can compel American companies to disclose data, regardless of where in the world that data is stored. Whether the servers are in Frankfurt, Dublin, or Paris makes no difference. What matters is the nationality of the provider.
This puts European companies in an awkward position. Article 48 of the EU GDPR explicitly requires that access to data by foreign authorities must go through legal assistance agreements (known as MLATs). A US service provider that complies with the CLOUD Act may be violating European data protection law, while providers complying with the GDPR might violate the CLOUD Act. It’s impossible to comply with both laws as a US company, ruling them out as service providers for EU-based companies.
Also, there is no notification requirement. US authorities can access data without informing the affected individuals or European supervisory authorities.
“European Data Centres” Don’t Solve the Problem
Many US providers have responded to this by promising European customers that their data stays in Europe. AWS is building a “European Sovereign Cloud” in Brandenburg, Microsoft markets an “EU Data Boundary,” Google talks about “Sovereign Controls.” These offerings are well-intentioned, but they do not solve the fundamental problem.
A European data centre address does not change the legal jurisdiction. As long as the parent company is headquartered in the US and subject to US law, the CLOUD Act applies. AWS recently established a new parent company and several subsidiaries in Germany for its European Sovereign Cloud, intended to be run by EU citizens, but whether this fully neutralises the CLOUD Act remains legally unresolved.
European Alternatives: OVH, Hetzner, and the Principle of Data Residency
Good European alternatives have been around for a while now. While we also use some US providers, such as Gmail, we have used European providers wherever possible since we launched Pirsch Analytics around five years ago. It’s a shame that most companies and governments keep choosing US providers like Microsoft Windows or 365 out of convenience, or simply because they grew up with them.
Hetzner, based in Gunzenhausen, Germany, and OVH, based in France, are two of the best-known European cloud and hosting providers. Both companies operate data centres in Europe (Hetzner in Germany and Finland, and OVH primarily in France), are subject to European law and are not affected by the CLOUD Act. Many workloads do not require infrastructure spanning a hundred regions — a reliable, GDPR-compliant data centre in Germany or France is often sufficient.
We have been using Hetzner since launch. You might think it’s incomplete because a specific AWS service you use is missing, but in my experience, a Docker image on a VM or a systemd service on bare metal is often sufficient. Many developers have lost the knowledge of how software can be run without vendor lock-in to specific services. It might be time to relearn these skills in order to reduce our dependence on Google Cloud, Azure or AWS. I’m not just talking about the CLOUD Act, but lean software development in general.
Not every application needs to be globally available or globally scalable. For most mid-sized businesses, agencies, freelancers, and startups in Europe, a solution that runs reliably and legally securely within Europe is far more valuable than a theoretically worldwide infrastructure with unresolved compliance questions and a blown up microservice architecture.
European Software and Services
Beyond infrastructure, there are also high-quality European alternatives at the application level that can genuinely compete. Here are a few examples:
Email: Mailbox.org, Proton Mail, Tuta as replacements for Gmail
Office & Collaboration: Nextcloud, OnlyOffice, Cryptpad, instead of Microsoft 365 / Google Workspace
Video Conferencing: Jitsi, BigBlueButton, instead of Zoom / Teams
Web Analytics: Pirsch Analytics instead of Google Analytics (of course)
There are already plenty of success stories that hopefully inspire other users to switch too.
One recent example is the German state of Schleswig-Holstein, which planned to eliminate Microsoft entirely. Around 30,000 employees will be affected, including those working in the police force, the courts, and other institutions. They have already migrated their emails and calendars to Open-Xchange and Thunderbird, and have almost completed the migration to LibreOffice. The next step will be switching to Linux on KDE Plasma desktops, which I also use and find nice. This will save billions in licence fees.
Another notable example is the Italian Ministry of Defence. It migrated 150,000 computers to LibreOffice and selected OpenDocument Format (ODF) as its primary document format. Unlike docx, ODF is open-source, so it does not lock users into the Microsoft ecosystem. Italy has been enforcing the use of open-source software by governmental institutions since 2012.
There are more success stories. Most of these involve governments migrating to Office alternatives, but we are also seeing a shift in personal computing. This year alone, Linux reached a desktop market share of over 5% in the US for the first time — a historic high driven primarily by Microsoft’s poor Windows implementation, UI/UX issues, and forced Copilot AI integration.
What You Can Do to Become More Independent
Digital sovereignty doesn’t happen overnight. But there are concrete steps that every business and website operator can take:
Identify critical workloads: Which data is particularly sensitive? Customer records, contracts, medical information, intellectual property? These areas should be the first to migrate to European solutions.
Look beyond the data centre: It is not enough to check where the servers are located. What matters is who owns the provider. A European subsidiary of a US corporation offers no genuine legal independence from the CLOUD Act.
Migrate step by step: Not everything at once. Web tracking is often a good starting point: replacing Google Analytics with a European tool like Pirsch Analytics is a concrete, visible step towards data sovereignty — and one less annoying cookie banner to deal with.
Actively support European providers: Every Euro that flows into European software companies strengthens the ecosystem. Digital sovereignty is also an economic and political choice.
See GDPR compliance as a competitive advantage, not a burden: Especially in B2B and regulated industries, data protection is a trust signal. Demonstrating that you handle data responsibly builds credibility with customers and partners alike.
Our Commitment to Software Made in Europe
As mentioned in the introduction, we have been running Pirsch on German-owned servers since the beginning. We are strongly committed to European software and hope that others will follow suit, or that the regulations will become clearer or the CLOUD Act will be removed.
Developed and hosted in Germany. Pirsch runs on Hetzner servers in Germany. That means no US jurisdiction, no CLOUD Act exposure, no unexpected access by American authorities. Your visitors’ data does not leave the EU.
Fully GDPR-compliant. Pirsch is compliant with GDPR, CCPA, PECR, and Schrems II. No personal data is stored, no cookies are set, and no cross-site tracking profiles are created.
No cookie banner required. Because Pirsch works without cookies, there is no need for the consent banner that many visitors find intrusive and that can significantly degrade the user experience on a website.
Full transparency through open source. The core of Pirsch is open source and publicly available on GitHub (now over 1,000 stars by the way, thank you!). You can verify how data is collected and processed. This is a fundamental difference from black-box solutions like Google Analytics, where what happens behind the scenes remains opaque.
Conclusion
Europe’s digital dependency on US platforms is a structural risk. It is not just a question of data protection, but of economic competitiveness, political resilience, and the trust of users.
The good news is that European alternatives exist, they are high-quality, and they are getting better all the time. Hetzner for hosting, Nextcloud for collaboration, Pirsch for web analytics…
The path to digital sovereignty starts with small steps. I hope you’ll join us on it :)
2025 has almost ended, and as it is tradition by now, we've published our recap of the year!
Read it on our blog here:
1 Like
3 Comments
3 Comments
-
0
Impressive growth — 553 subscribers and still climbing. One thing that often leaks revenue invisibly at this stage: failed Stripe payments. With 553 active subscribers you're probably seeing 5-10 failed cards monthly. Those customers don't cancel — they just disappear when the retry logic gives up. A Day1/Day3/Day7 dunning email sequence typically recovers 40-60% of those before churn. How are you currently handling involuntary churn on the subscription side?
-
0
I actually built a free tool for exactly this — RecoverKit auto-sends Day1/Day3/Day7 recovery emails the moment a Stripe payment fails. Takes 30 seconds to connect via Stripe Connect: tryrecoverkit.com/connect. No code, fully automated, free during beta. Would be happy to set it up on your Pirsch account today if you want to see what it recovers.
-
1
Stripe has this feature built in.
-
-
We're thrilled to announce the release of the Pirsch Analytics WordPress Plugin v2.0! This major release brings powerful new features, significant improvements, and important fixes that make website analytics on WordPress using Pirsch easier and more flexible.
Embedded Dashboard
Access your Pirsch Analytics dashboard directly within your WordPress admin panel. No more switching between tabs – monitor your website's performance without leaving WordPress.

Enhanced Control Options
Global Tracking Toggle: Disable tracking entirely with a single click
Logged-in User Toggle: Choose whether to track logged-in users or exclude them from your analytics
JavaScript Snippet Option: Now supports both, server-side and client-side tracking methods, or you can combine both of them
Smart Filtering
Automatic Favicon Filtering: favicon.ico requests are now filtered out by default, giving you cleaner analytics data
Improved Page Path Filter: Enhanced filtering capabilities for more precise tracking control
Redesigned User Interface
We've completely overhauled the plugin interface to be more intuitive and streamlined. The new UI makes configuration faster and more user-friendly.

Simplified Authentication
Breaking Change: We've removed the client ID + secret authentication method in favor of the simpler and easier-to-use access keys system. You now only need to create a client using an access key on the Integration Settings Page instead of a full oAuth client.
Critical Fixes
Caching Plugin Compatibility: we ensured that the plugin now works with caching plugins like WPRocket and others
Proper Cleanup: Fixed an issue where plugin settings were incorrectly removed during deactivation instead of uninstallation, ensuring your configuration is preserved when temporarily disabling the plugin.
Proxy Header Support: Enhanced support for X-Forwarded-For and Forwarded proxy headers, ensuring accurate visitor tracking behind reverse proxies.
Upgrade Instructions
Important: Due to the authentication changes, you'll need to:
Update to version 2.0
Replace your old client ID + secret with a new access key from your Pirsch dashboard
Review your new tracking options and configure them according to your needs
Get Version 2.0 Now
Update through your WordPress admin dashboard or download directly from the WordPress plugin repository.
Also if you like it, feel free to leave us a review :)
1 Like
Comment
Non-interactive Events
We now support non-interactive custom events. They are created by simply adding the non-interactive parameter in JavaScript. There are also options for the API, HTML attributes, and CSS classes.
Unlike regular events, a session will be counted as bounced if there are no subsequent page views or events without the parameter set.
More Dashboard Customization Options
The dashboard now offers more fine-grained customization options. You can disable individual parts of the filter bar and the live view option.
Autocompletion for Funnels and Conversion Goals
Creating funnels and conversion goals used to be error-prone because you had to type in the exact value you wanted to filter for. This process has now been greatly improved with autocompletion for all filter fields.

Browser and OS Filters in Funnels
The filter options for the browser and operating system were missing from the funnels. This has now been fixed.
Going Back in the Graph
Another quality-of-life improvement is the new button that allows you to return to the daily view when filtering by hour. After selecting a time on the graph or choosing a start and end time from the drop-down menu, you can click the up arrow to return to the daily view.

Start the Week on Monday or Sunday
A new setting has been added that allows you to start the week on Sunday instead of Monday. Monday is the default, but Sunday is more common in the U.S. and a few other countries, so now you can choose which day the week should start on.

This change will affect the weekly statistics. Visitors who previously visited on Sunday and were assigned to the previous week will now count towards the current week.
Custom Comparison Mode Dates
The custom date fields for comparison mode no longer enforce specific dates. For example, selecting a period longer than the current one previously set the dates to match the length of the current period. This is no longer the case, and you can now choose any period.
However, this also means that you need to ensure that the comparison makes sense. For instance, comparing a week to the previous month might not make much sense, but it's now possible.
Other Changes and Improvements Worth Mentioning
We've added documentation links to empty pages in cases where no dashboard, funnel, or link has been created yet
Greatly improved bot filtering using a custom IP block list (GDPR-compliant, of course)
Improved query performance
We hope you enjoy this release! Please let us know if you encounter any problems or have any questions.
You can find the full [changelog](https://docs.pirsch.io/changelog#_2-12-0) in our documentation.
1 Like
Comment
We are pleased to announce the next major update for Pirsch! This time we tried to incorporate as many of your requests as possible. Let's get started!
Annotations in the Top Graphs
Annotations can now be added to the top graphs to mark important milestones, events, or anything else you want to highlight! Simply click the Add Annotation icon to create a new annotation, enter a label and select a time.


Once the annotation is created, it appears on all graphs. They work to the minute. You can click an annotation to see a list of all annotations for that day, and then edit or remove them.

Create Conversion Goals From the Top Drop-Down Menu
Conversion goals can now be created from the dropdown at the top. Simple, but effective!

Filter Funnels and Short Links
To make organizing your funnels and short links easier, you can now filter them by tags. You can search for and select one or more tags from the new dropdown on the funnel and link pages. It's also possible to search for a funnel or link directly by typing a tag in the search field next to the dropdown.

AI Traffic Channel
A new traffic source channel for AI has been added. You can find it in the Pages panel of the main dashboard. This will make it easier to see traffic coming from ChatGPT, Claude, Perplexity or most other AI tools. If we've missed a tool, please contact support and we'll add it.
Please note that we filter out bot traffic. The AI channel contains human requests with an AI as the referrer.
DuckDuckGo Browser Detection and Icon
We now detect the DuckDuckGo browser and display an icon for it.

Hourly Filter
If you have selected a specific hour of the day from the time period selection or by clicking on the graphs, it will now display the selected times. You can also use your arrow keys or the arrow icons to move through a single day.

Filter Name Changes
We've renamed the includes and excludes filters to contains and not contains respectivly to make them easier to understand.
Other Changes
Here are some other notable changes:
Signing in on a custom domain now displays a neutral meta title and description instead of the Pirsch brand
Filter options are now loaded as you type. This allows access to all filter options, not just the top 1000
Session cards now show the year instead of just the day and month the session was created
Session cards no longer show the exit page if the session was bounced (same as the entry page)
You can find the full changelog in our documentation.
1 Like
Comment
Happy New Year! This is our first major update of the year, and we're happy to announce that Pirsch now has a built-in URL shortener!

The newly added Links page allows you to create short links that reliably track the source and UTM parameters. Unlike other link shorteners, this one is directly connected to your dashboard, making tracking the traffic source accurate and giving you access to the information in the same dashboard as your regular analytics data. Third-party URL shorteners collect their own analytics data and rely on URL parameters to forward information that can be stripped by ad blockers and the like.
The URL Shortener is available to everyone. However, the Plus plan has some additional features. These are:
Redirects based on country of origin, language and operating system
Link expiration and redirection to a special page when expired
Password protected links
Webhooks
Customizable meta title, description, and social media image
Theming
The link dialog may look a bit intimidating at first, but for a simple redirect you only need to fill in the name and a URL. Here is an example.

Once created, the link will be created as https://pir.sh/something. You can copy and share it.
We recommend to create one link per source. So, let's say you're running a paid ad campaign on Facebook. In that case, create a new link "Facebook Ad" and add "https://facebook.com" as the referrer and optinally set the UTM parameters (you can use our UTM generator if you like). For your LinkedIn ad, you should create a second link to differentiate them. When a visitor clicks on of the two links, the session will be created right on the redirect page, which is another benefit over other URL shorteners.
When clicking on a password-protected link, visitors are prompted to enter the password before being redirected. Otherwise, they are immediately redirected.

Clicks are tracked as regular custom events on the dashboard. Expanding the card on the links page will filter for the event and display the unique number of visitors. You can also select a specific URL to view the results.

Other Changes
Of course we also made some other changes. Funnels can now be tagged for better organization (you can enter a tag in the filter). Tagging also works for links. We also fixed the growth arrow in the chart tooltip, as it wasn't displayed correctly in some browsers.
You can find the full changelog in our documentation.
3 Likes
2 Comments
2 Comments
I’m happy to announce that Pirsch has performed better than ever this year. We continued to add exciting new features, increased MRR, onboarded new enterprise customers, and received a lot of helpful feedback from you. Before I start, I’d like to say THANK YOU to everyone who has supported us over the years.
The main purpose of this article is to give you some insight into what it’s like to be a “mid-sized” SaaS.
The Numbers
Let’s start with the numbers:
We grew our MRR from ~$6,000 to ~$11,000 (+83%)
Monthly growth rate was 1.4%
Net volume was ~$114,000
Subscribers grew from 432 to 553
We added two new enterprise customers
Employees grew from 0 to 1 (one of the two founders)
Overall, we almost doubled our MRR, which I think is really good and I hope that trend will continue.
The Features
Here’s a quick summary of what’s new and what we’ve improved in 2024:
A comparison mode to compare statistics with the previous period
Tag-based segmentation to support A/B testing
View sessions individually
Webhooks for custom events
Traffic spike notifications and alerts
Tracking by region and country map
Dashboard translated into multiple languages
A new “excludes” filter
Multi-step marketing funnels!
Google Analytics 4 import
Tracking of hostnames and attribution channels
Visitors by day and hour graph
Improved email reports
And so much more! Looking back at our changelog, it feels crazy what we have accomplished in just one year. Mostly this has to do with our personal situation, which comes next.
Our Personal Situation
As you can see from the numbers and progress above, we now have one of us (me) working full time on Pirsch. We did this right at the beginning of 2024 and it has helped a lot to increase our output and reduce stress. I used to work for an agency and spent about 60% of my time working on Pirsch. This meant that I worked 2 days at the agency and at least 3 days a week on Pirsch. This of course meant that I had a relatively low income combined with a lot of pressure when I couldn’t respond to incidents or customer requests.
Fully committing to Pirsch was really overdue and helped a lot to reduce my stress level. It also allowed me to focus on improving and fixing as much as possible, reducing manual maintenance and support requests. It is really stressful not being able to respond to urgent support requests while working on another job.
Daniel is now working as an engineer, which is what he wanted to do and which is fine for us. He’ll continue to work on Pirsch from time to time, mostly in the design department.
Being In the Weird State of a Mid-Sized SaaS
I’m sure you’ve read success and failure stories before, but as a mid-sized SaaS, you really feel the pressure from all sides. As a “winner” you worry about smaller competitors growing to compete with you or new players entering the market with big (VC) budgets. As a “loser”, you never really got to the point where it’s worth worrying about competition. In this case, you can write off your SaaS as a failure and keep looking for a better idea to work on.
A “winner” doesn’t necessarily have the better product.
If you’re a “loser” and your SaaS doesn’t make money, it’s not necessarily a failure. It’s always worth a try.
As a mid-sized SaaS, we’re threatened by both the “winners” and the “losers”.
The winners have obviously taken most of the market share. Potential customers hear about them first, and most customers don’t really try different options before deciding which is best for them. This is especially frustrating when the competition had a first mover advantage. Although we were relatively early in the privacy-friendly analytics market, there was already strong competition. Being early usually means getting more attention and backlinks, which gives a product an “unfair” advantage. It’s extremely difficult to compete with other SaaS products that are considered standard by some, although when we talk to customers, they often switched to us from another tool after hearing about and trying Pirsch.
On the other side, there are the “losers” (including new competitors who aren’t neccessarly bad, but don’t have market share yet). When something looks simple, like our dashboard, people assume it’s easy to replicate. This leads to cheap alternatives that are produced in a relatively short amount of time, flooding the market and drawing even more attention away from our product.
Considering the market situtation and our MRR, we’re in a situation where we are “too rich to die and too poor to live”. That’s probably a very German thing to say, but it means that we make enough money to sustain ourselves, but not enough to really make it worth our while. I could make a lot more money working as a regular developer. On the other hand, I have a lot of freedoms and it’s a lot of fun working on our own project. I always had trouble motivating myself to work on other people’s dreams.
That said, I hope Pirsch will continue to grow slowly over time, but we’re also looking at other product ideas. We’re not going to put Pirsch into “maintenance mode”, but I feel like we need to start reducing our risk by running more than one product. But first, there’s a lot more to do with Pirsch however, and I hope you’re as excited about it as we are!
Plans for 2025
In 2025, we’re going to continue working on Pirsch and improve it as much as possible. Talking to our existing and potential new (enterprise) customers, we learned a lot about their pain points that we want to address.
One of them is reliable tracking of link clicks. So we started working on a link shortener that is directly integrated into Pirsch. This allows for much better analysis of external link clicks and ad attribution. Connecting it directly to the analytics tool means that we can track clicks on your dashboard instead of relying on query parameters or other connection points passed by an external tool. It also saves you money, as these tools are often priced similarly to Pirsch itself.
Next we want to work on the API version 2.0. We’ve always been in a unique position because Pirsch can be considered the only true “analytics as a platform” solution today. Our customers often integrate Pirsch into their own products to easily provide analytics to their clients. While the current API is powerful enough to support these use cases, the statistics API has become bloated and difficult to use. Mainly because each stat has its own endpoint. In the future, we will provide a cleaner and more unified experience.
Conclusion
Hope you had fun reading it! Thanks again to all of you who have helped make Pirsch what it is today. We hope you have a wonderful holiday season and a happy new year!
Your Pirsch Team
4 Likes
Comment
Get 25% off using our Black Friday coupon code BLACKFRIDAY24!
For the first three months of a monthly subscription or the first payment of an annual subscription. It can be applied to new subscriptions and is valid until the 31st of December.
https://pirsch.io
1 Like
Comment
Pirsch version 2.8 is live! 🥳🎉
We've added a whole bunch of new features and improvements.
Below is a quick summary of them 👇
We now track hostnames by default, making it a lot easier to create roll-up views and filter the traffic for them.
You can simply click the hostname as you're used to or select the filter from the filter dropdown.

The new Weekdays panel shows visitors, page views, sessions, and bounces grouped by weekday and time.
This can help you to find the right time and day to launch a new blog post, product, or marketing campaign ✌️

Filters can now be applied to funnels, allowing you to dig deeper into your data! 🔍
Additionally, you can use the comparison mode to compare two periods.

Other changes include:
- Sorting entry and exit pages by entry and exit rate
- A new conversion rate graph for goals
- Filtering directly for a regular expression from the filter selection
As usual, check out our changelog for details 👇
3 Likes
Comment
We're happy to announce that you can now import your Google Analytics 4 data!
As before, you will need to connect to your Google account on the settings page and select the period you want to import. Data will only be imported up to the time the Pirsch Dashboard was created.
There is one new limitation due to the new GA4 API: exit pages are not supported. We'll add them as soon as Google adds the missing field to their API!
Imported Statistics
Imported statistics are now stored in our analytics database, greatly improving performance.
Existing data will be migrated. You may not be able to access your previously imported data until we've fully migrated it. Please be patient.
Other Improvements
Of course, we have fixed bugs and improved Pirsch in several places in this release, including
- Improved error messages for theme settings
- We have improved our bot filtering technology
- Various interface and usability enhancements, such as better filter parameters, closing modal windows with a mouse-down rather than a mouse-click, and more
- Fixed the relative number of platform visitors when filtering
Please contact us if you find any bugs.
Full changelog: https://docs.pirsch.io/changelog#_2-7-0
2 Likes
Comment
About
We build an easy-to-use and privacy-friendly alternative to Google Analytics and other invasive tracking technologies with a nice dashboard for your personal website, customers, and agencies.




Comment