<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><generator uri="https://jekyllrb.com/" version="3.9.2">Jekyll</generator><link href="https://plausible.io/blog/feed.xml" rel="self" type="application/atom+xml"/><link href="https://plausible.io/" rel="alternate" type="text/html"/><updated>2026-08-03T15:27:48+00:00</updated><id>https://plausible.io/blog/feed.xml</id><title type="html">Plausible Analytics</title><subtitle>Plausible is a lightweight and open-source Google Analytics alternative. Your website data is 100% yours and the privacy of your visitors is respected.</subtitle><entry><title type="html">How to check your own website traffic accurately</title><link href="https://plausible.io/blog/check-website-traffic" rel="alternate" type="text/html" title="How to check your own website traffic accurately"/><published>2026-07-28T12:00:00+00:00</published><updated>2026-07-28T12:00:00+00:00</updated><id>https://plausible.io/blog/check-website-traffic</id><content type="html" xml:base="https://plausible.io/blog/check-website-traffic"><![CDATA[<p>Checking your website traffic can sound like a matter of finding one number. In practice, it starts with a more useful question: are people finding the site, and what happens when they do?</p> <p>The most accurate way to answer that question is to install a web analytics tool on the site you own. This gives you first-party data based on visits that actually happened, rather than an outside tool’s estimate.</p> <p>This guide helps you set up measurement, learn to read the dashboard, and gradually turn raw traffic into something you can act on. The examples use Plausible Analytics, but the same basic questions apply to any web analytics.</p> <ol id="markdown-toc"> <li><a href="#1-install-analytics-on-your-website" id="markdown-toc-1-install-analytics-on-your-website">1. Install analytics on your website</a> <ol> <li><a href="#make-sure-your-analytics-is-working" id="markdown-toc-make-sure-your-analytics-is-working">Make sure your analytics is working</a></li> </ol> </li> <li><a href="#2-choose-a-useful-date-range" id="markdown-toc-2-choose-a-useful-date-range">2. Choose a useful date range</a></li> <li><a href="#3-check-visitors-visits-and-pageviews" id="markdown-toc-3-check-visitors-visits-and-pageviews">3. Check visitors, visits and pageviews</a></li> <li><a href="#4-find-where-your-traffic-comes-from" id="markdown-toc-4-find-where-your-traffic-comes-from">4. Find where your traffic comes from</a></li> <li><a href="#5-check-which-pages-people-visit" id="markdown-toc-5-check-which-pages-people-visit">5. Check which pages people visit</a></li> <li><a href="#6-check-campaign-traffic-with-utm-parameters" id="markdown-toc-6-check-campaign-traffic-with-utm-parameters">6. Check campaign traffic with UTM parameters</a></li> <li><a href="#7-check-conversions-and-goals" id="markdown-toc-7-check-conversions-and-goals">7. Check conversions and goals</a></li> <li><a href="#8-diagnose-a-traffic-spike-or-drop" id="markdown-toc-8-diagnose-a-traffic-spike-or-drop">8. Diagnose a traffic spike or drop</a></li> <li><a href="#why-a-public-traffic-checker-can-never-measure-your-site-accurately" id="markdown-toc-why-a-public-traffic-checker-can-never-measure-your-site-accurately">Why a public traffic checker can never measure your site accurately</a></li> <li><a href="#a-simple-weekly-website-traffic-check" id="markdown-toc-a-simple-weekly-website-traffic-check">A simple weekly website traffic check</a></li> </ol> <h2 id="1-install-analytics-on-your-website">1. Install analytics on your website</h2> <p>Before you can interpret traffic, you need somewhere reliable to record it. A website traffic checker can <strong>only estimate</strong> a site’s traffic numbers; it cannot tell you exactly how many people visited. For that, your website needs to send data to an analytics platform.</p> <aside class="my-6 border-l-2 border-indigo-200 pl-4 text-sm leading-6 text-gray-600"> <strong class="text-gray-700">Worth knowing:</strong> Many SEO tools only estimate clicks from search engines using keyword rankings, search volumes and assumed click-through rates. Some broader traffic tools also estimate direct, social, referral and other channels using sampled browsing data. Neither gives you the measured first-party traffic of a site you own. The differences can be massive. We explain <a href="#why-a-public-traffic-checker-cannot-measure-your-site-accurately">how these estimates differ</a> later in this guide. </aside> <p>Most analytics tools do this using a small JavaScript snippet. You add the snippet to the <code class="language-plaintext highlighter-rouge">&lt;head&gt;</code> of every page you want to measure. Depending on how your site is built, you may instead use an official plugin, an integration, or a tag manager.</p> <p>The exact setup depends on the analytics tool and how your site is built, but the basic process is usually:</p> <ol> <li>Add your website to the analytics tool.</li> <li>Copy the tracking snippet or select the relevant integration.</li> <li>Add it to your website, either directly or through your content management system, framework or tag manager.</li> <li>Visit your website and verify that your visit appears in the dashboard.</li> </ol> <p>If you are using Plausible, our <a href="https://plausible.io/docs/plausible-script">installation guides</a> cover popular platforms and frameworks.</p> <h3 id="make-sure-your-analytics-is-working">Make sure your analytics is working</h3> <p>After installing analytics, it is a good practice to check that it is receiving visits. You can open your website in a private window, visit a page, and look for that visit in your tool’s real-time report. If it appears, your basic tracking is working.</p> <p>Some tools make this easier. Plausible, for example, has an automatic <a href="https://plausible.io/docs/troubleshoot-integration">integration verification tool</a> that checks whether the tracking script is installed correctly. You can also run it again from your site settings after changing your setup.</p> <p>If your test visit does not appear, use our tool-independent <a href="https://plausible.io/blog/is-analytics-working-correctly">guide to checking whether analytics is working</a>. It covers common causes as well as less-common setups involving single-page applications and subdomains.</p> <p>If tracking works but your totals differ from Google Analytics, Search Console, an advertising platform or another source, that does not automatically mean something is broken. These tools measure different things in different ways. Our guide to <a href="https://plausible.io/blog/why-analytics-numbers-dont-match">why analytics numbers do not match</a> explains how to interpret those differences.</p> <p>Once visits are coming through, resist the urge to judge the first number you see. A traffic total only becomes meaningful when you place it in time.</p> <h2 id="2-choose-a-useful-date-range">2. Choose a useful date range</h2> <p>The useful date range depends on what prompted you to open the dashboard. Are you checking a campaign you launched this morning, reviewing an ordinary month, or wondering whether the site has grown over the past year?</p> <ul> <li>Use <strong>Today</strong> or <strong>Last 24 hours</strong> to check a launch, active campaign or sudden incident.</li> <li>Use <strong>Last 7 days</strong> for recent operational changes.</li> <li>Use <strong>Last 30 days</strong> for a steadier view of normal performance.</li> <li>Use <strong>6–12 months</strong> to see seasonality and long-term direction.</li> </ul> <p>Turn on a comparison with the previous period or the same period last year. “10,000 visitors” has little meaning on its own. “10,000 visitors, up 18% from the previous 30 days” gives you context.</p> <p>In Plausible, the date picker lets you compare your selected range with the previous period, the same period a year earlier or a custom period. See the documentation on <a href="https://plausible.io/docs/guided-tour#compare-your-stats-over-time">comparing your stats over time</a>.</p> <p>Use a same-length previous period to understand recent momentum, and a year-over-year comparison to see how the site has changed over a longer cycle. Comparing the same dates across years is also useful for separating real growth from seasonal effects. For example, comparing December with November could make a retail site look unusually strong; comparing it with the previous December gives you a fairer view of its growth.</p> <p>With that context in place, you can read the headline numbers without mistaking normal fluctuation for a meaningful change.</p> <h2 id="3-check-visitors-visits-and-pageviews">3. Check visitors, visits and pageviews</h2> <p>Start with visitors, visits and pageviews. Together, they move you from <strong>how many people came</strong>, to <strong>how often they came</strong>, to <strong>how much they explored</strong>.</p> <table> <thead> <tr> <th>Metric</th> <th>What it tells you</th> <th>Simple example</th> </tr> </thead> <tbody> <tr> <td><strong>Visitors</strong></td> <td>How many distinct people or devices visited during the selected period</td> <td>One person visits twice: one visitor</td> </tr> <tr> <td><strong>Visits</strong> or <strong>sessions</strong></td> <td>How many separate browsing sessions happened</td> <td>The same person returns later: two visits</td> </tr> <tr> <td><strong>Pageviews</strong></td> <td>How many pages were loaded</td> <td>They view three pages in each visit: six pageviews</td> </tr> </tbody> </table> <p>For example, a visitor who loads five pages during one session generally produces one visitor, one visit and five pageviews. If that person returns in a separate session, visits increase again. The exact definitions vary: analytics products use different identification methods and session rules, so numbers from two tools should not be expected to match exactly.</p> <p>If you are looking at a Plausible dashboard, the <a href="https://plausible.io/docs/metrics-definitions">metrics definitions</a> explain exactly how each number is calculated.</p> <p>Which metric matters most depends on your question:</p> <ul> <li>Use <strong>visitors</strong> to understand audience size.</li> <li>Use <strong>visits</strong> to understand how often the site is used.</li> <li>Use <strong>pageviews</strong> to understand how much content was consumed.</li> <li>Use <strong>views per visit</strong>, <strong>visit duration</strong> and <strong>bounce rate</strong> to add engagement context.</li> </ul> <p>Do not treat pageviews as people. A documentation site may have many pageviews because visitors need several pages to solve a problem. A single-purpose landing page may succeed with one pageview if the visitor submits the form or buys the product.</p> <p>These totals tell you the size and shape of the activity, but not what created it. The next question is where those visitors came from.</p> <h2 id="4-find-where-your-traffic-comes-from">4. Find where your traffic comes from</h2> <p>Open the <strong>Sources</strong> or <strong>Acquisition</strong> report. This turns an anonymous traffic total into a more understandable story: people may have discovered you through a search, followed a recommendation, clicked a campaign, or returned directly.</p> <p>In Plausible, these reports sit together under Sources. This guide to <a href="https://plausible.io/docs/top-referrers">channels, sources and campaigns</a> explains how incoming traffic is classified and how to move from a broad channel to a specific referrer or campaign.</p> <p>Depending on your analytics tool, traffic may be grouped into channels such as:</p> <ul> <li>Organic Search</li> <li>Direct</li> <li>Referral</li> <li>Organic Social</li> <li>Email</li> <li>Paid Search or Paid Social</li> <li>Affiliates</li> <li>AI referrals</li> </ul> <p>Start with channels for the broad picture, then drill into exact sources. If Organic Search grew, was it Google, Bing or another search engine? If Referral traffic spiked, which site linked to you? If AI traffic increased, did it come from ChatGPT, Perplexity or another service?</p> <p>“Direct” does not always mean someone typed your address into the browser. It is the fallback when reliable referral or campaign information is missing. Bookmarks, untagged emails, private messages, apps, redirects and links that strip referral information can all appear as Direct.</p> <p>To judge traffic quality, click a source to filter the rest of the dashboard. Then check its landing pages, engagement and conversions. The source with the most visitors is not necessarily the most valuable source.</p> <p>For search queries, connect Google Search Console or view its Performance report. Analytics tells you what visitors did after arriving; Search Console tells you which Google queries and pages produced impressions and clicks. Plausible users can <a href="https://plausible.io/docs/google-search-console-integration">connect Search Console</a> to bring those queries into the dashboard.</p> <p>Knowing where someone came from gives you one half of the journey. To understand what drew them in, and whether the visit delivered on its promise, you need to pair the source with the page they reached.</p> <h2 id="5-check-which-pages-people-visit">5. Check which pages people visit</h2> <p>Your pages reports continue the story from acquisition into behavior. They answer three related questions:</p> <ul> <li><strong>Top Pages:</strong> Which pages received the most views?</li> <li><strong>Entry Pages or Landing Pages:</strong> Where did visits begin?</li> <li><strong>Exit Pages:</strong> Where did visits end?</li> </ul> <p>Plausible’s <a href="https://plausible.io/docs/top-pages">pages report guide</a> shows where to find these views and how to filter the rest of the dashboard by a page.</p> <p>Start with entry pages when evaluating acquisition. A landing page with growing traffic may have gained search visibility, been shared, or received a campaign push. Filter by that page and check which sources delivered its visitors and whether those visitors converted.</p> <p><img src="/uploads/analyze-entry-pages-and-traffic-sources.png" alt="Plausible dashboard filtered by blog entry pages, showing their traffic sources and visitor details" title="Analyzing entry pages and their traffic sources in Plausible Analytics"/></p> <p>Use Top Pages to see what people consumed after arriving. Review engagement alongside traffic: a high-traffic page with poor engagement and no conversions may attract the wrong audience, fail to answer the query, or simply do its job quickly. Context matters.</p> <p>Exit pages are clues, not automatic problems. Every visit has to end somewhere. An exit from a thank-you page can signal success, while frequent exits from the first step of checkout deserve investigation.</p> <p>Our guide to <a href="https://plausible.io/blog/analyzing-landing-pages">analyzing landing pages</a> shows how to combine page, source and conversion data.</p> <p>Sometimes the source and landing page are enough to explain a visit. But when you are responsible for the link, such as an ad, newsletter, QR code or social post, you can make that trail much clearer before the visitor even arrives.</p> <h2 id="6-check-campaign-traffic-with-utm-parameters">6. Check campaign traffic with UTM parameters</h2> <p>That is the role of campaign tagging. Referral data alone is not enough for reliable campaign tracking. Links in email, apps, QR codes, documents and private messages may otherwise be recorded as Direct, and a platform name alone cannot distinguish one campaign from another.</p> <p>UTM parameters are labels added to the destination URL. A tagged link can look like this:</p> <p><code class="language-plaintext highlighter-rouge">https://example.com/pricing?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=summer-launch&amp;utm_content=top-button</code></p> <p>The five standard parameters are:</p> <ul> <li><code class="language-plaintext highlighter-rouge">utm_source</code>: the specific platform or sender, such as <code class="language-plaintext highlighter-rouge">newsletter</code>, <code class="language-plaintext highlighter-rouge">linkedin</code> or <code class="language-plaintext highlighter-rouge">google</code></li> <li><code class="language-plaintext highlighter-rouge">utm_medium</code>: the type of marketing, such as <code class="language-plaintext highlighter-rouge">email</code>, <code class="language-plaintext highlighter-rouge">social</code> or <code class="language-plaintext highlighter-rouge">cpc</code></li> <li><code class="language-plaintext highlighter-rouge">utm_campaign</code>: the initiative, such as <code class="language-plaintext highlighter-rouge">summer-launch</code></li> <li><code class="language-plaintext highlighter-rouge">utm_content</code>: the creative or link variation, such as <code class="language-plaintext highlighter-rouge">top-button</code></li> <li><code class="language-plaintext highlighter-rouge">utm_term</code>: commonly used for a paid-search term or another useful targeting label</li> </ul> <p>At minimum, use a consistent source and campaign name. Lowercase values and a shared naming convention prevent <code class="language-plaintext highlighter-rouge">Newsletter</code>, <code class="language-plaintext highlighter-rouge">newsletter</code> and <code class="language-plaintext highlighter-rouge">news-letter</code> from fragmenting your reports.</p> <p>If UTM tagging is new to you, this <a href="https://plausible.io/blog/utm-tracking-tags">guide to UTM parameters</a> explains how the tags work and how to name them consistently. You can then create correctly formatted links with our free <a href="https://plausible.io/utm-builder">UTM builder</a>. After people click them, open the Campaigns report and drill into source, medium, campaign, term or content. Then filter by the campaign to see the pages viewed, engagement and goals completed by those visitors.</p> <p>Tip: Never add UTMs to ordinary internal links on your own site. Doing so can overwrite the visitor’s original acquisition information and split one journey into misleading campaign data.</p> <p>Now you can connect a visit to the effort that brought it in. But traffic, even perfectly attributed traffic, is not the final outcome. The next step is to ask whether the visitor did something valuable.</p> <h2 id="7-check-conversions-and-goals">7. Check conversions and goals</h2> <p>Traffic tells you that people arrived. Conversions tell you whether the visit accomplished something that matters to the visitor, to your organization, or ideally to both.</p> <p>A conversion might be:</p> <ul> <li>Reaching a thank-you or order-confirmation page</li> <li>Submitting a lead or contact form</li> <li>Signing up for a trial or newsletter</li> <li>Completing a purchase</li> <li>Downloading a file</li> <li>Clicking a key button, outbound link or email address</li> </ul> <p>etc.</p> <p>In Plausible, you can configure a pageview goal for a destination such as <code class="language-plaintext highlighter-rouge">/thank-you</code>, or use a custom event for actions that do not create a new pageview. The <a href="https://plausible.io/docs/goal-conversions">goal conversion guide</a> walks through both options. Ecommerce and subscription sites can also attach revenue data to suitable conversion events.</p> <p>Once goals are collecting data, check both <strong>conversions</strong> and <strong>conversion rate</strong>. A source may bring fewer visitors but convert a much larger share of them. Filter by a goal to see which sources, campaigns, landing pages, countries and devices are associated with the result.</p> <p>Test every goal yourself after setup. Confirm that one real action produces one conversion, the event name is correct, the value or currency is right where relevant, and routine page loads do not trigger the goal accidentally.</p> <p><img src="/uploads/plausible-goals-report.png" alt="Plausible goals report showing unique conversions, total conversions and conversion rates" title="Goals and conversion rates in Plausible Analytics"/></p> <p>At this point, the dashboard is no longer just a counter. You can trace a line from acquisition to behavior to outcome. That same line becomes especially useful when something suddenly looks wrong or unexpectedly good.</p> <h2 id="8-diagnose-a-traffic-spike-or-drop">8. Diagnose a traffic spike or drop</h2> <p>When traffic changes suddenly, it is tempting to jump straight to an explanation. Instead, retrace the path you have just built: confirm the measurement, establish the timeframe, identify the affected metric, then narrow the change by source, page and outcome.</p> <p>Start by confirming that the data is trustworthy. Do not begin rewriting content or increasing ad spend until you have ruled out a tracking issue.</p> <p>Work through these checks in order:</p> <ol> <li><strong>Confirm the timing.</strong> Find the day or hour the change began and compare it with a normal period.</li> <li><strong>Check the analytics setup.</strong> Look for a removed or duplicated script, a recent site release, consent changes, a domain or subdomain change, broken single-page-app tracking, or a new exclusion rule.</li> <li><strong>Separate visitors, visits and pageviews.</strong> If only pageviews changed, navigation or duplicate tracking may be responsible. If all three moved, the audience probably changed.</li> <li><strong>Find the affected segment.</strong> Is the change sitewide or concentrated in one source, campaign, page, country, device or browser?</li> <li><strong>Check engagement and conversions.</strong> A spike with almost no engagement or conversions may be bot or spam traffic. A drop in traffic with stable conversions may be less serious than it first appears.</li> <li><strong>Match the dates to real events.</strong> Check launches, newsletters, ad budgets, press coverage, social posts, outages, holidays and seasonal demand.</li> <li><strong>Investigate search separately.</strong> Use Search Console to compare clicks, impressions, queries, pages, countries and devices. Check for ranking changes, indexing problems, algorithm updates and changes in search demand.</li> </ol> <p>Add annotations for launches, site releases and campaigns so future changes are easier to explain. Keep a simple record of what changed, when it changed and which segment moved.</p> <p>For a deeper checklist, read <a href="https://plausible.io/blog/drop-in-website-traffic">how to investigate a drop in website traffic</a>. If the graph moved in the other direction, see our guide to <a href="https://plausible.io/blog/spike-in-website-traffic">investigating a traffic spike</a>.</p> <h2 id="why-a-public-traffic-checker-can-never-measure-your-site-accurately">Why a public traffic checker can never measure your site accurately</h2> <p>If you have searched for a quick way to measure your traffic, you have probably found public tools that ask you to enter a domain. It is important not to mistake their output for your real website data.</p> <p>These tools can be useful for rough competitor research, but they do not have access to a site’s analytics account. They are estimating from the outside rather than measuring visits as they happen. That is why installing analytics is essential when you want to understand your own site.</p> <p>Many SEO tools estimate <strong>organic search traffic</strong> using the keywords a site ranks for, the estimated number of searches for each keyword, its ranking position and an assumed click-through rate. They then add those predicted clicks together. This can provide a useful indication of a site’s visibility in search, but it does not count visits from direct traffic, social media, email, referrals or offline campaigns.</p> <p>Some products, including Semrush Traffic Analytics and Similarweb, also estimate total traffic and its channel mix. They use samples of browsing activity, often called clickstream data, along with statistical models and other public data to estimate direct, social, referral, search and other traffic. These reports cover more than search, but they are still projections from a sample rather than actual visits recorded on the website itself. Estimates are especially less dependable for small or niche sites where the provider has little data.</p> <p>So, before using a public traffic number, check what it represents. An <strong>organic traffic estimate</strong> and an <strong>estimated total visits</strong> figure are not interchangeable.</p> <table> <thead> <tr> <th>First-party analytics</th> <th>Competitor traffic estimate</th> </tr> </thead> <tbody> <tr> <td>Collected from real activity on a site you control</td> <td>Modeled from sources available to the provider</td> </tr> <tr> <td>Can show pages, campaigns, events and conversions recorded on your site</td> <td>May show estimated search traffic or modeled traffic across several channels</td> </tr> <tr> <td>Useful for operating and improving your own website</td> <td>Useful for rough benchmarking and discovering competitors</td> </tr> <tr> <td>Affected by your setup, consent approach, bot filtering and blocked scripts</td> <td>Affected by the provider’s data coverage and model; smaller sites can have sparse or volatile estimates</td> </tr> </tbody> </table> <p>An estimate is not necessarily “wrong” because it differs from your analytics. It simply answers a different question with different data. Even first-party tools can disagree because they define visitors and sessions differently, filter bots differently, and may be blocked at different rates.</p> <p>For measuring your own site, the takeaway is simple: use a well-configured first-party analytics tool as your main source and validate important outcomes, such as purchases or signups, against your own records.</p> <p><strong>Use public estimates only for rough competitor comparisons, not to measure your website.</strong></p> <h2 id="a-simple-weekly-website-traffic-check">A simple weekly website traffic check</h2> <p>You do not need to analyze every report every day. In fact, repeatedly refreshing a dashboard often creates anxiety rather than insight. A calm weekly routine is enough for most websites:</p> <ol> <li>Set the last seven days and compare with the previous seven days.</li> <li>Check visitors, visits and pageviews for unusual movement.</li> <li>Review sources and campaigns to see what caused the change.</li> <li>Review entry pages to see where acquisition grew or declined.</li> <li>Check conversions and conversion rate to judge traffic quality.</li> <li>Investigate only the segments that changed materially.</li> <li>Add an annotation for any launch, campaign, outage or site update.</li> </ol> <p>The goal is not to collect the largest possible number of metrics. It is to keep hold of that trustworthy chain from <strong>where people came from</strong>, to <strong>what they viewed</strong>, to <strong>what they did next</strong>, and to notice when any part of that story meaningfully changes.</p> <p>To see how these reports work together, explore the <a href="https://plausible.io/plausible.io">Plausible live demo</a> alongside the <a href="https://plausible.io/docs/guided-tour">guided dashboard tour</a>. You can filter the dashboard by sources, pages and goals without creating an account.</p> <p>When you are ready to measure traffic on your own site, you can <a href="https://plausible.io/register">start a free trial</a>.</p>]]></content><author><name>Hricha Shandily</name></author><summary type="html"><![CDATA[Learn how to measure your website traffic, understand visitors, visits, pageviews, sources and pages, track campaigns and conversions, and investigate sudden changes.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://plausible.io/uploads/check-website-traffic-plausible-dashboard.png"/><media:content medium="image" url="https://plausible.io/uploads/check-website-traffic-plausible-dashboard.png" xmlns:media="http://search.yahoo.com/mrss/"/></entry><entry><title type="html">EU-hosted analytics isn’t the same as EU-owned analytics</title><link href="https://plausible.io/blog/eu-hosted-analytics-vs-eu-owned-analytics" rel="alternate" type="text/html" title="EU-hosted analytics isn’t the same as EU-owned analytics"/><published>2026-07-09T10:50:55+00:00</published><updated>2026-07-09T10:50:55+00:00</updated><id>https://plausible.io/blog/eu-hosted-analytics-vs-eu-owned-analytics</id><content type="html" xml:base="https://plausible.io/blog/eu-hosted-analytics-vs-eu-owned-analytics"><![CDATA[<p>More analytics tools now advertise “EU hosting”, “EU data residency” or an “EU region”. That sounds reassuring, especially if you’re choosing an analytics tool for privacy or GDPR reasons.</p> <p>But EU-hosted does not always mean EU-owned. And that difference matters.</p> <p>EU hosting tells you something useful about data location. It does not, by itself, answer who owns the company, who controls the infrastructure or which jurisdiction applies to the provider.</p> <p><em>This is not legal advice. It is a practical guide to the questions worth asking when you review analytics vendors. If your organization has strict GDPR, procurement or data transfer requirements, involve your legal or data protection team.</em></p> <ol id="markdown-toc"> <li><a href="#what-eu-hosted-usually-means" id="markdown-toc-what-eu-hosted-usually-means">What EU-hosted usually means</a></li> <li><a href="#what-eu-owned-adds" id="markdown-toc-what-eu-owned-adds">What EU-owned adds</a></li> <li><a href="#how-this-helps-you-decide" id="markdown-toc-how-this-helps-you-decide">How this helps you decide</a></li> <li><a href="#why-this-became-a-bigger-issue-after-schrems-ii" id="markdown-toc-why-this-became-a-bigger-issue-after-schrems-ii">Why this became a bigger issue after Schrems II</a></li> <li><a href="#examples-from-analytics-tools" id="markdown-toc-examples-from-analytics-tools">Examples from analytics tools</a></li> <li><a href="#what-plausible-means-by-eu-owned-analytics" id="markdown-toc-what-plausible-means-by-eu-owned-analytics">What Plausible means by EU-owned analytics</a></li> <li><a href="#what-to-ask-before-choosing-an-analytics-tool" id="markdown-toc-what-to-ask-before-choosing-an-analytics-tool">What to ask before choosing an analytics tool</a></li> </ol> <h2 id="what-eu-hosted-usually-means">What EU-hosted usually means</h2> <p>When vendors say “EU-hosted”, they often mean one of several different things:</p> <ul> <li>Your data is stored in an EU data center.</li> <li>You can select an EU region when creating a project.</li> <li>EU visitor traffic is routed through EU infrastructure.</li> <li>Some data stays in the EU, while other processing or support access may still happen elsewhere.</li> <li>EU residency is available only on certain plans or only if you configure the SDK correctly.</li> </ul> <p>Those details matter.</p> <p>That is why “EU-hosted” should be treated as the start of the conversation, not the end of it.</p> <h2 id="what-eu-owned-adds">What EU-owned adds</h2> <p>EU-owned analytics answers a different set of questions:</p> <ul> <li>Who is the legal entity providing the service?</li> <li>Is the company incorporated in the EU or EEA?</li> <li>Who owns and operates the infrastructure?</li> <li>Are there US-owned cloud providers or subprocessors touching visitor data?</li> <li>Is EU processing the default, or a configuration option?</li> <li>Is the provider subject to foreign jurisdiction, such as US disclosure laws?</li> </ul> <p>Think of it as three layers:</p> <table> <thead> <tr> <th>Layer</th> <th>What it tells you</th> <th>What it does not tell you</th> </tr> </thead> <tbody> <tr> <td>EU-hosted</td> <td>The data is stored or processed in a European data center</td> <td>Who owns the company or infrastructure</td> </tr> <tr> <td>EU-operated</td> <td>The service is provided by an EU or EEA legal entity</td> <td>Whether all infrastructure and subprocessors are European</td> </tr> <tr> <td>EU-owned infrastructure</td> <td>The servers or cloud infrastructure are owned by European companies</td> <td>Whether the analytics product itself is privacy-friendly</td> </tr> </tbody> </table> <p>For example, a tool could store analytics data in Frankfurt but still be operated by a US-incorporated company. Another tool could be incorporated in Europe but rely on a US-owned cloud provider for key parts of its service. Both setups may be perfectly acceptable for some organizations, but neither is the same as an EU-owned analytics provider using European-owned infrastructure by default.</p> <p>The difference is not just theoretical. <a href="https://www.law.cornell.edu/uscode/text/18/2713">18 USC 2713</a> says that a provider of electronic communication service or remote computing service must comply with obligations to preserve, back up or disclose covered information within its “possession, custody, or control” regardless of whether that information is located inside or outside the United States.</p> <p>Whether and how that law applies to a specific analytics vendor is a legal question. But it illustrates the broader point: server location alone does not answer every jurisdiction question.</p> <h2 id="how-this-helps-you-decide">How this helps you decide</h2> <p>EU-owned analytics makes the most sense when your goal is to reduce the number of privacy and procurement questions you need to resolve.</p> <p>If a vendor is non-EU-owned, or if it relies on non-EU-owned infrastructure for visitor data, you may need to spend more time reviewing:</p> <ul> <li>whether personal data is transferred outside the EU or EEA</li> <li>which transfer mechanism applies</li> <li>whether additional safeguards are needed</li> <li>whether foreign disclosure laws are relevant</li> <li>which subprocessors can access visitor data</li> <li>whether EU residency is the default or something your team must configure correctly</li> </ul> <p>That does not mean a non-EU provider is automatically unsuitable. It means the review is usually more involved.</p> <p>The European Data Protection Board’s <a href="https://www.edpb.europa.eu/documents/recommendation/recommendations-012020-on-measures-that-supplement-transfer-tools-to_en">Recommendations 01/2020</a> exist because international transfers can require transfer tools and supplementary measures to ensure an EU level of protection. If you can choose an analytics provider where the company, hosting and visitor-data infrastructure are all European, you can often avoid a lot of that extra transfer analysis in the first place.</p> <p>That is the practical reason EU-owned can make more sense. It is not a magic compliance badge. It is a simpler, lower-friction starting point for teams that care about privacy, GDPR and vendor risk.</p> <h2 id="why-this-became-a-bigger-issue-after-schrems-ii">Why this became a bigger issue after Schrems II</h2> <p>The reason people care about this is not because of a vague preference for European vendors. It comes from years of legal uncertainty around EU-US data transfers.</p> <p>In 2020, the Court of Justice of the European Union invalidated the EU-US Privacy Shield in the <a href="https://curia.europa.eu/jcms/upload/docs/application/pdf/2020-07/cp200091en.pdf">Schrems II ruling</a>. The Court’s press release explains that GDPR transfers to a third country generally require an adequate level of protection, or appropriate safeguards and enforceable rights.</p> <p>The <a href="https://commission.europa.eu/law/law-topic/data-protection/international-dimension-data-protection/eu-us-data-transfers_en">EU-US Data Privacy Framework</a> is the current adequacy mechanism for participating US companies. The European Commission says the framework was adopted after new US safeguards were introduced to address points raised by the Court in Schrems II. The need for that framework itself shows why jurisdiction remains part of the privacy conversation.</p> <p>So when a vendor promotes EU hosting, the useful follow-up is: EU hosting under whose control?</p> <h2 id="examples-from-analytics-tools">Examples from analytics tools</h2> <p>You can see the difference across the analytics market.</p> <p>Some tools offer EU data residency while remaining operated outside the EU.</p> <p><a href="https://posthog.com/privacy">PostHog’s privacy policy</a> says its hosted services are offered by PostHog Inc., and that PostHog is headquartered in the United States. Its <a href="https://posthog.com/docs/privacy">privacy compliance documentation</a> says PostHog Cloud EU is a managed version with servers hosted in Frankfurt. Again, the EU cloud option may be useful for many teams, but it is not the same claim as being an EU-incorporated analytics provider on European-owned infrastructure.</p> <p><a href="https://docs.mixpanel.com/docs/privacy/eu-residency">Mixpanel’s EU residency documentation</a> says that Mixpanel stores user data on US servers by default, while giving customers the option to process and store customer personal data in Europe through its EU Data Residency Program. It also says new EU projects must send data to the EU endpoint, and that projects using the wrong residency location need to create a new project and migrate data.</p> <p><a href="https://support.google.com/analytics/answer/12017362?hl=en">Google’s Analytics documentation for EU, Switzerland and UK data</a> says that data from devices in those regions is collected through local domains and servers before traffic is forwarded to Analytics servers for processing. <a href="https://business.safety.google/adsprocessorterms/">Google’s data processing terms</a> also say that Google may process customer personal data in any country where Google or its subprocessors maintain facilities. That is a useful example of the distinction: regional collection is not the same thing as EU-only processing or EU ownership.</p> <p>Matomo is a good reminder that not every non-EU example is the same. Its <a href="https://matomo.org/matomo-cloud-privacy-policy/">Cloud privacy policy</a> says personal data in a customer’s Matomo Cloud instance and backups are stored in Europe, while InnoCraft, the company behind Matomo, is based in New Zealand. Matomo also notes that New Zealand has an EU adequacy decision, which the <a href="https://commission.europa.eu/law/law-topic/data-protection/international-dimension-data-protection/adequacy-decisions_en">European Commission lists among its adequacy decisions</a>. That is a different legal posture from a US-operated provider, but it still shows why “where data is stored” and “who operates the service” are separate questions.</p> <p>This distinction is now showing up in SaaS vendor research too. For example, FoundersDeck’s <a href="https://foundersdeck.dev/eu-jurisdiction-database">EU SaaS Jurisdiction Database</a> separates legal entity, hosting, EU residency and CLOUD Act exposure instead of treating “EU region available” as the whole answer. Databases like this can be useful starting points, but you should still verify each vendor’s legal entity, infrastructure and subprocessors against the vendor’s own documentation.</p> <p>The important thing is not to assume based on a badge or a landing page phrase. Check the legal entity, infrastructure and subprocessors.</p> <h2 id="what-plausible-means-by-eu-owned-analytics">What Plausible means by EU-owned analytics</h2> <p>At Plausible, EU hosting is not a checkbox or an enterprise add-on.</p> <p>Plausible is incorporated in Estonia, built by a team based in the EU and hosted on infrastructure owned by European companies. Visitor data is processed and stored in the EU. It is not transferred to the United States or any other country outside the EU.</p> <p>In practice, that means:</p> <ul> <li>Visitor data is processed and stored in the EU.</li> <li>We store visitor data on servers owned by Hetzner, a German company, in Falkenstein, Germany.</li> <li>We use UpCloud, a Finnish company, for database hosting and storage of data exports.</li> <li>We use Bunny, a Slovenian company, as our CDN, while analytics processing and storage stays on our EU infrastructure.</li> <li>These are the only three providers that touch visitor data, and all three are European-owned.</li> <li>We do not use US-owned cloud providers such as AWS, Google Cloud or Microsoft Azure to store or process visitor data.</li> <li>We do not sell visitor data, share it with advertising companies or use it to build profiles across websites.</li> </ul> <p>This is not a regional toggle we added for compliance purposes. It is a deliberate infrastructure decision. It is EU-ownership by design.</p> <p>For the fuller version, including links for legal and procurement teams, see our <a href="https://plausible.io/eu-hosted-web-analytics">EU-hosted analytics page</a>, <a href="https://plausible.io/data-policy">data policy</a>, <a href="https://plausible.io/privacy">privacy policy</a> and <a href="https://plausible.io/dpa">DPA</a>.</p> <p>This ownership and infrastructure setup is only one part of the privacy story. Plausible is also designed for simple reach measurement without cookies, cross-site tracking or advertising profiles. For the consent and data minimization side, see this <a href="https://plausible.io/blog/legal-assessment-gdpr-eprivacy">independent legal assessment of Plausible under GDPR and the ePrivacy Directive</a> written by Steffen Gross, a data protection expert and lawyer.</p> <p>This is the difference between saying “your data can be hosted in Europe” and saying “your analytics runs under European ownership and European infrastructure by default”.</p> <h2 id="what-to-ask-before-choosing-an-analytics-tool">What to ask before choosing an analytics tool</h2> <p>If you’re choosing analytics for privacy, GDPR or procurement reasons, don’t stop at the hosting claim. Ask three simple questions:</p> <ul> <li>Where is visitor data processed and stored?</li> <li>Who owns the company, infrastructure and subprocessors involved?</li> <li>Is EU handling the default, and can the vendor document it clearly?</li> </ul>]]></content><author><name>Hricha Shandily</name></author><summary type="html"><![CDATA[EU-hosted analytics can help with data residency, but it does not always mean EU ownership or European-owned infrastructure.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://plausible.io/uploads/eu-hosted-vs-eu-owned-analytics.png"/><media:content medium="image" url="https://plausible.io/uploads/eu-hosted-vs-eu-owned-analytics.png" xmlns:media="http://search.yahoo.com/mrss/"/></entry><entry><title type="html">Do ad blockers block Plausible Analytics?</title><link href="https://plausible.io/blog/do-ad-blockers-block-plausible-analytics" rel="alternate" type="text/html" title="Do ad blockers block Plausible Analytics?"/><published>2026-06-26T09:00:00+00:00</published><updated>2026-06-26T09:00:00+00:00</updated><id>https://plausible.io/blog/do-ad-blockers-block-plausible-analytics</id><content type="html" xml:base="https://plausible.io/blog/do-ad-blockers-block-plausible-analytics"><![CDATA[<p>Short answer: Plausible can be blocked, but far less often than other privacy-invasive tools such as Google Analytics. And if missing visits from blockers matter for your site, you can proxy Plausible through your own domain to bypass most of the remaining blocks and get more accurate stats.</p> <p>Plausible is a <a href="https://plausible.io/privacy-focused-web-analytics">privacy-friendly</a>, cookieless analytics tool. We do not track people across websites, build user profiles, sell visitor data, or use persistent identifiers. Our <a href="https://plausible.io/data-policy">data policy</a> explains exactly what we collect and why. Because of that, Plausible is not treated the same way as Google Analytics by many privacy-conscious people, browsers and blocklists.</p> <p>But ad blockers are not one single thing with one single policy. Some block only ads. Some block known invasive trackers. Some block anything with “analytics” in the URL. Some users configure their browser to block all JavaScript. So the most accurate answer is:</p> <ul> <li>Plausible’s default script is blocked far less often than Google Analytics.</li> <li>Some aggressive blockers can still block Plausible because they block all analytics tools, not just privacy-invasive ones.</li> <li>If you want the most complete data, you can run Plausible through a <a href="https://plausible.io/docs/proxy/introduction">proxy</a>, which makes the script and event endpoint load from your own domain.</li> </ul> <p>Let’s unpack what that means in practice.</p> <ol id="markdown-toc"> <li><a href="#why-plausible-is-blocked-less-often-than-google-analytics" id="markdown-toc-why-plausible-is-blocked-less-often-than-google-analytics">Why Plausible is blocked less often than Google Analytics</a></li> <li><a href="#how-the-plausible-proxy-reduces-ad-blocker-impact" id="markdown-toc-how-the-plausible-proxy-reduces-ad-blocker-impact">How the Plausible proxy reduces ad blocker impact</a></li> <li><a href="#is-using-a-proxy-ethical" id="markdown-toc-is-using-a-proxy-ethical">Is using a proxy ethical?</a></li> <li><a href="#proxy-options-in-plausible" id="markdown-toc-proxy-options-in-plausible">Proxy options in Plausible</a></li> <li><a href="#why-your-own-plausible-visit-might-not-show-up" id="markdown-toc-why-your-own-plausible-visit-might-not-show-up">Why your own Plausible visit might not show up</a></li> <li><a href="#why-plausible-and-ga4-numbers-are-often-different" id="markdown-toc-why-plausible-and-ga4-numbers-are-often-different">Why Plausible and GA4 numbers are often different</a></li> <li><a href="#should-you-worry-about-ad-blockers-when-using-plausible" id="markdown-toc-should-you-worry-about-ad-blockers-when-using-plausible">Should you worry about ad blockers when using Plausible?</a></li> <li><a href="#frequently-asked-questions" id="markdown-toc-frequently-asked-questions">Frequently asked questions</a></li> </ol> <h2 id="why-plausible-is-blocked-less-often-than-google-analytics">Why Plausible is blocked less often than Google Analytics</h2> <p>Ad blockers and browser privacy protections do more than block ads. They can also block known tracking domains, third-party scripts and requests that match tracking patterns. When a script does not load, the analytics tool cannot record the visit.</p> <p>Google Analytics is specifically targeted by many of these protections because it is part of Google’s advertising and tracking ecosystem. Plausible does not use cookies or persistent identifiers, track people across websites or collect personal data, so it is much less likely to be blocked.</p> <p>Firefox and Safari block Google Analytics by default, but not Plausible. At the time of writing, <a href="https://github.com/uBlockOrigin/uAssets/blob/master/filters/privacy.txt">uBlock Origin’s own Privacy list</a> contains specific Google Analytics rules but no <code class="language-plaintext highlighter-rouge">plausible.io</code> entry. That is not a guarantee that every uBlock Origin setup allows Plausible: visitors can enable other lists or custom rules, and DNS blockers, company firewalls and disabled JavaScript can all block analytics requests.</p> <p>In one Plausible study, we compared Google Analytics and Plausible on a site that received a large amount of tech-savvy traffic from Hacker News and Reddit. Plausible was installed using a proxy to get the clearest view of total human traffic, while Google Analytics was installed normally.</p> <p>The result: <a href="https://plausible.io/blog/google-analytics-adblockers-missing-data">Google Analytics missed 58% of visitors</a> in that audience.</p> <p>That is an extreme case, because Hacker News and Reddit audiences are more likely to use ad blockers, privacy browsers and stricter browser settings than average visitors. But it shows the underlying problem clearly: if your audience uses privacy tools, Google Analytics can miss a large share of real traffic.</p> <p>GA4 has the same structural issue. It is still Google Analytics, still integrates with Google’s ad ecosystem and is still commonly blocked. Plausible can still be blocked, but it cannot and should not override someone deliberately disabling JavaScript or blocking all measurement. For blockers that target a known analytics domain, proxying is the practical option.</p> <h2 id="how-the-plausible-proxy-reduces-ad-blocker-impact">How the Plausible proxy reduces ad blocker impact</h2> <p>A <a href="https://plausible.io/docs/proxy/introduction">Plausible proxy</a> lets you serve the Plausible script and send events through your own domain instead of <code class="language-plaintext highlighter-rouge">plausible.io</code>.</p> <p>For a standard installation, the site-specific script URL looks like this:</p> <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://plausible.io/js/pa-XXXXX.js
</code></pre></div></div> <p>With a proxy, your site can load it through a first-party URL on your own domain, such as:</p> <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://yourdomain.com/js/script.js
</code></pre></div></div> <p>The exact script and event URLs depend on your proxy setup, but the principle is the same: the browser sees the analytics request as a first-party request from your own website, not as a request to a known analytics service.</p> <p>This bypasses most blockers that target third-party tracking domains and known tracking URLs. It does not affect visitors who disable JavaScript or block your own domain.</p> <h2 id="is-using-a-proxy-ethical">Is using a proxy ethical?</h2> <p>Proxying changes how the request reaches Plausible, not what Plausible collects. It still does not build advertising audiences, identify individual visitors or use cookies. You can review the details in our <a href="https://plausible.io/data-policy">data policy</a>. Visitors who disable JavaScript or block your own domain can still avoid being counted.</p> <h2 id="proxy-options-in-plausible">Proxy options in Plausible</h2> <p>Choose the setup that fits your site:</p> <ul> <li><strong>WordPress:</strong> enable the proxy in the official <a href="https://plausible.io/wordpress-analytics-plugin">Plausible Analytics WordPress plugin</a>.</li> <li><strong>Developer-managed site:</strong> use the <a href="https://plausible.io/docs/proxy/introduction">proxy documentation</a> for Cloudflare, Netlify, Nginx, Vercel and other supported setups.</li> <li><strong>Enterprise:</strong> use Managed Proxy, where you point a CNAME at our infrastructure and we handle the ongoing setup.</li> </ul> <h2 id="why-your-own-plausible-visit-might-not-show-up">Why your own Plausible visit might not show up</h2> <p>One reason people ask “does Plausible get blocked by ad blockers?” is that they visit their own site and do not see themselves in Real-Time.</p> <p>Before assuming an ad blocker is the cause, run Plausible’s <a href="https://plausible.io/docs/troubleshoot-integration">integration verification tool</a>. If it confirms that tracking works, the issue is usually specific to your own browser, account or network rather than your visitors’ traffic.</p> <p>If you use the official WordPress plugin, logged-in administrator visits are <a href="https://plausible.io/docs/wordpress-integration">excluded by default</a>. You can enable the Administrator role in the plugin’s “Track analytics for user roles” setting when you need to test your own visits.</p> <p>Otherwise, check your browser’s Network tab after reloading the page. Look for the Plausible script request, which starts with <code class="language-plaintext highlighter-rouge">pa-</code>, and the event request. A blocked request usually identifies the extension or policy responsible. Other common causes are an incorrect snippet or domain, a Content Security Policy, testing a staging site, network-level blocking or missing pageview tracking in a single-page app.</p> <p>We have a full guide on <a href="https://plausible.io/blog/is-analytics-working-correctly">checking whether your analytics setup is working correctly</a>, plus a <a href="https://plausible.io/docs/troubleshoot-integration">Plausible troubleshooting guide</a>.</p> <h2 id="why-plausible-and-ga4-numbers-are-often-different">Why Plausible and GA4 numbers are often different</h2> <p>If Plausible shows more visitors than GA4, that is usually expected.</p> <p>GA4 can be blocked, prevented from running after a consent decline, or use modeled data to fill gaps. Plausible does not need cookies or a consent banner from our side, and a proxy can reduce its remaining ad blocker gap. The tools also define visitors, sessions, bot traffic and attribution differently, so not every difference comes from blocking. In <a href="https://plausible.io/blog/testing-bot-traffic-filtering-google-analytics">our bot-filtering test</a>, GA4 counted simulated bot traffic that Plausible excluded. Read our guide on <a href="https://plausible.io/blog/why-analytics-numbers-dont-match">why analytics tools never show the same numbers</a>.</p> <h2 id="should-you-worry-about-ad-blockers-when-using-plausible">Should you worry about ad blockers when using Plausible?</h2> <p>It depends on your audience and how precise you need the numbers to be.</p> <p>If you run a general website, Plausible’s standard script is likely enough. You will already <a href="https://plausible.io/most-accurate-web-analytics">avoid the biggest accuracy problems</a> that affect GA4: cookie consent gaps, heavier tracking, Google-specific blocking and privacy-hostile design.</p> <p>If you run a site for developers, privacy-conscious users, open source communities, security professionals or other technical audiences, you should consider proxying Plausible. Those audiences use ad blockers and privacy tools at much higher rates.</p> <p>If you make business decisions from small changes in conversion rate, traffic source performance or campaign ROI, proxying can also be worth it. A small amount of missing data can matter when you are optimizing at the margins.</p> <h2 id="frequently-asked-questions">Frequently asked questions</h2> <style>.adblocker-faq{margin-top:1.5rem;border-top:1px solid #e5e7eb}.adblocker-faq details{border-bottom:1px solid #e5e7eb;padding:1rem 0}.adblocker-faq summary{align-items:center;color:#111827;cursor:pointer;display:flex;font-weight:600;justify-content:space-between;list-style:none}.adblocker-faq summary::-webkit-details-marker{display:none}.adblocker-faq summary::after{align-items:center;background:#eef2ff;border-radius:9999px;color:#4f46e5;content:"+";display:inline-flex;flex:0 0 auto;font-size:1.25rem;height:1.75rem;justify-content:center;line-height:1;margin-left:1rem;width:1.75rem}.adblocker-faq details[open] summary::after{content:"-"}.adblocker-faq p{color:#4b5563;line-height:1.7;margin:.75rem 2.75rem 0 0}</style> <div class="adblocker-faq"> <details> <summary>Do ad blockers block Plausible Analytics?</summary> <p>Some can, but Plausible is blocked far less often than Google Analytics. Strict filter lists, custom rules and network-level blockers may still block it.</p> </details> <details> <summary>Does Plausible use cookies or need a cookie banner?</summary> <p>No. Plausible is cookieless by design and does not use persistent identifiers. You <a href="https://plausible.io/blog/legal-assessment-gdpr-eprivacy">do not need a cookie consent banner</a> just because you use Plausible, though obligations can depend on the rest of your site and your jurisdiction.</p> </details> <details> <summary>Does a Plausible proxy bypass all ad blockers?</summary> <p>A proxy bypasses <b>most</b> blockers that target third-party analytics domains, but it will not count visitors who disable JavaScript or block your own domain.</p> </details> <details> <summary>Is Plausible more accurate than Google Analytics?</summary> <p>For many sites, yes. Plausible is blocked less often, does not depend on cookie consent and filters bots more aggressively by default. Read <a href="https://plausible.io/most-accurate-web-analytics">the full comparison</a>.</p> </details> <details> <summary>Can I test how much data GA4 is missing?</summary> <p>Yes. Run Plausible and GA4 side by side for a few weeks, then compare visitors, pageviews and conversions on the same pages.</p> </details> </div> <div x-data="" x-show="!document.cookie.includes('logged_in=true')" class="cta-box my-8 rounded-lg border border-indigo-100 bg-indigo-50 p-6"> <p class="text-base font-semibold text-gray-900 mt-0 mb-0">Want to see the difference on your own site? Run Plausible alongside GA4 and compare the data.</p> <div class="mt-4 flex flex-wrap" style="gap: 0.75rem;"> <a href="/register" onclick="plausible('CTA Click', {props: {position: 'Inline', type: 'Blog', button: 'Start free trial'}})" class="cta-box-primary inline-flex items-center justify-center px-4 py-2 border border-transparent text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-500 focus:outline-none transition duration-150 ease-in-out"> Start free trial </a> <a href="https://plausible.io/docs/proxy/introduction" onclick="plausible('CTA Click', {props: {position: 'Inline', type: 'Blog', button: 'View live demo'}})" class="cta-box-secondary inline-flex items-center justify-center px-4 py-2 text-sm font-medium rounded-md bg-white focus:outline-none transition duration-150 ease-in-out" style="border: 1px solid #C7D2FE; color: #4338ca;"> Read proxy setup guide </a> </div> </div>]]></content><author><name>Hricha Shandily</name></author><summary type="html"><![CDATA[Plausible is blocked far less often than Google Analytics, but some blockers can still block any analytics script. Here's how blocking works and how Plausible's proxy option closes most of the remaining gap.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://plausible.io/uploads/plausible-script-successfully-loaded.webp"/><media:content medium="image" url="https://plausible.io/uploads/plausible-script-successfully-loaded.webp" xmlns:media="http://search.yahoo.com/mrss/"/></entry><entry><title type="html">What is PII? Meaning and examples of personal data you shouldn’t send to analytics</title><link href="https://plausible.io/blog/pii-examples" rel="alternate" type="text/html" title="What is PII? Meaning and examples of personal data you shouldn’t send to analytics"/><published>2026-06-17T15:20:20+00:00</published><updated>2026-06-17T15:20:20+00:00</updated><id>https://plausible.io/blog/pii-examples</id><content type="html" xml:base="https://plausible.io/blog/pii-examples"><![CDATA[<p>Website analytics is useful when it helps you understand what people do on your site. It becomes risky when it starts collecting details that can identify a person.</p> <p>That is where PII comes in.</p> <p>PII, or personally identifiable information, is any information that can identify a specific person either on its own or when combined with other data.</p> <p>This guide explains what PII means, common examples to watch for and how to keep your analytics clean and privacy-friendly.</p> <ol id="markdown-toc"> <li><a href="#what-pii-means" id="markdown-toc-what-pii-means">What PII means</a> <ol> <li><a href="#pii-vs-personal-data" id="markdown-toc-pii-vs-personal-data">PII vs personal data</a></li> <li><a href="#sensitive-pii-and-special-category-data" id="markdown-toc-sensitive-pii-and-special-category-data">Sensitive PII and special category data</a></li> </ol> </li> <li><a href="#common-pii-examples" id="markdown-toc-common-pii-examples">Common PII examples</a> <ol> <li><a href="#in-urls" id="markdown-toc-in-urls">In URLs</a></li> <li><a href="#in-forms" id="markdown-toc-in-forms">In forms</a></li> <li><a href="#in-user-ids" id="markdown-toc-in-user-ids">In user IDs</a></li> <li><a href="#in-emails" id="markdown-toc-in-emails">In emails</a></li> <li><a href="#in-search-queries" id="markdown-toc-in-search-queries">In search queries</a></li> </ol> </li> <li><a href="#what-not-to-send-to-analytics" id="markdown-toc-what-not-to-send-to-analytics">What not to send to analytics</a></li> <li><a href="#how-plausible-avoids-collecting-personal-data" id="markdown-toc-how-plausible-avoids-collecting-personal-data">How Plausible avoids collecting personal data</a></li> <li><a href="#how-to-redact-url-identifiers-with-custom-locations" id="markdown-toc-how-to-redact-url-identifiers-with-custom-locations">How to redact URL identifiers with custom locations</a></li> <li><a href="#a-quick-pii-review-checklist" id="markdown-toc-a-quick-pii-review-checklist">A quick PII review checklist</a></li> <li><a href="#frequently-asked-questions" id="markdown-toc-frequently-asked-questions">Frequently asked questions</a></li> </ol> <h2 id="what-pii-means">What PII means</h2> <p>PII stands for personally identifiable information.</p> <p>The useful test is simple: could this value help you identify, single out or contact one specific person?</p> <p>If the answer is yes, do not send it to your analytics tool.</p> <p>Some information is directly identifying:</p> <ul> <li>Email address</li> <li>Full name</li> <li>Phone number</li> <li>Mailing address</li> <li>National ID number</li> <li>Payment details</li> <li>Medical, legal or financial details</li> </ul> <p>Some information may become identifying when combined with other data:</p> <ul> <li>Internal user ID</li> <li>Customer ID</li> <li>Order ID</li> <li>Invoice ID</li> <li>Appointment ID</li> <li>Support ticket ID</li> <li>Exact location</li> <li>Search query that contains a name, email or phone number</li> </ul> <p>Different privacy laws and internal policies may define personal data differently, so treat the examples in this article as a practical analytics hygiene guide rather than legal advice. When in doubt, collect less.</p> <h3 id="pii-vs-personal-data">PII vs personal data</h3> <p>PII and personal data overlap a lot, which is why they often sound like the same thing. The difference is mostly about where the terms come from and how broadly they are used.</p> <p>PII is commonly used in the US. <a href="https://csrc.nist.gov/glossary/term/personally_identifiable_information">NIST defines PII</a> as information that can distinguish or trace someone’s identity, either alone or when combined with other linked or linkable information. In plain terms: can this data point identify or point back to a person?</p> <p>Personal data is the term used by GDPR. The <a href="https://commission.europa.eu/law/law-topic/data-protection/data-protection-explained_en">European Commission explains personal data</a> as information that relates to an identified or identifiable living person. This can be broader in practice because it includes data that may not name someone directly, but can still relate back to them when combined with other information.</p> <p>For example, <code class="language-plaintext highlighter-rouge">jane@example.com</code> is obviously both PII and personal data. A random-looking customer ID may not look personal on its own, but if your systems can connect it to one customer, it should be treated as personal data for analytics purposes too.</p> <h3 id="sensitive-pii-and-special-category-data">Sensitive PII and special category data</h3> <p>Some personal information needs extra care because misuse can create higher risk for the person involved.</p> <p>In US-style PII language, this is often discussed as sensitive PII: information such as:</p> <ul> <li>government ID numbers</li> <li>financial account details</li> <li>medical records</li> <li>biometric data</li> <li>passwords</li> <li>other details that could lead to harm if exposed</li> </ul> <p>Under GDPR and UK GDPR, some types of personal data are treated as special category data. The <a href="https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/lawful-basis/special-category-data/what-is-special-category-data/">ICO lists these categories</a> as data revealing racial or ethnic origin, political opinions, religious or philosophical beliefs, trade union membership, genetic data, biometric data used for identification, health data, sex life and sexual orientation.</p> <p>For analytics, the guidance is simple: do not send this type of data. For example, track:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Appointment request submitted
Resource downloaded
Application form submitted
</code></pre></div></div> <p>Do not track:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Therapy appointment requested by Jane Smith
Diabetes guide downloaded by user_184291
Disability accommodation request from jane@example.com
</code></pre></div></div> <h2 id="common-pii-examples">Common PII examples</h2> <p>Here are common places where PII can accidentally leak into analytics, and safer ways to measure the same thing:</p> <table> <thead> <tr> <th>Where it appears</th> <th>PII example</th> <th>Why it is risky</th> <th>Safer analytics version</th> </tr> </thead> <tbody> <tr> <td>URL path</td> <td><code class="language-plaintext highlighter-rouge">/customers/cus_7H3kL9</code></td> <td>The ID can map to a specific customer in your systems</td> <td><code class="language-plaintext highlighter-rouge">/customers/:id</code></td> </tr> <tr> <td>Query parameter</td> <td><code class="language-plaintext highlighter-rouge">/reset-password?email=jane@example.com</code></td> <td>The email address identifies a person directly</td> <td><code class="language-plaintext highlighter-rouge">/reset-password</code></td> </tr> <tr> <td>Form tracking</td> <td><code class="language-plaintext highlighter-rouge">Demo request from Jane Smith</code></td> <td>The event includes submitted form values</td> <td><code class="language-plaintext highlighter-rouge">Demo request form submitted</code></td> </tr> <tr> <td>Custom property</td> <td><code class="language-plaintext highlighter-rouge">user_id=184291</code></td> <td>The property can identify one user or account</td> <td><code class="language-plaintext highlighter-rouge">logged_in=yes</code> or <code class="language-plaintext highlighter-rouge">plan=business</code></td> </tr> <tr> <td>Email link</td> <td><code class="language-plaintext highlighter-rouge">/unsubscribe/jane@example.com</code></td> <td>The URL exposes the subscriber</td> <td><code class="language-plaintext highlighter-rouge">/unsubscribe</code></td> </tr> <tr> <td>Site search</td> <td><code class="language-plaintext highlighter-rouge">jane@example.com</code></td> <td>Search terms may contain names, emails, phone numbers or order details</td> <td>Track that a search happened, or use broad search categories</td> </tr> <tr> <td>Ecommerce event</td> <td><code class="language-plaintext highlighter-rouge">order_id=order_20493</code></td> <td>The order can be tied back to a customer</td> <td><code class="language-plaintext highlighter-rouge">Checkout completed</code></td> </tr> <tr> <td>Support flow</td> <td><code class="language-plaintext highlighter-rouge">ticket_id=88421</code></td> <td>The ticket can reveal a private support case</td> <td><code class="language-plaintext highlighter-rouge">Support form submitted</code></td> </tr> </tbody> </table> <p>Let’s get deeper into the some of the most common places where personally identifiable information appears.</p> <h3 id="in-urls">In URLs</h3> <p>URLs are one of the most common places where personal information accidentally reaches analytics tools.</p> <p>This usually happens when a website puts user-specific identifiers in the path or query string:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/users/jane.smith@example.com
/profile/123456789
/customers/cus_7H3kL9
/orders/order_20493
/invoice/INV-2026-1044
/booking/appointment-88421
/reset-password?email=jane@example.com
/checkout?phone=15551234567
</code></pre></div></div> <p>Even if a URL only contains an internal ID, it may still be sensitive. If that ID maps to a specific customer, account, order or person in your systems, sending it to analytics creates another place where linkable personal data is stored.</p> <p>Query parameters need special attention. It is common for marketing, checkout, email and support tools to append parameters to URLs. Campaign parameters such as <code class="language-plaintext highlighter-rouge">utm_source</code>, <code class="language-plaintext highlighter-rouge">utm_medium</code> and <code class="language-plaintext highlighter-rouge">utm_campaign</code> are usually fine when used properly. Parameters such as <code class="language-plaintext highlighter-rouge">email</code>, <code class="language-plaintext highlighter-rouge">name</code>, <code class="language-plaintext highlighter-rouge">phone</code>, <code class="language-plaintext highlighter-rouge">user_id</code>, <code class="language-plaintext highlighter-rouge">customer_id</code>, <code class="language-plaintext highlighter-rouge">token</code>, <code class="language-plaintext highlighter-rouge">session_id</code> or <code class="language-plaintext highlighter-rouge">address</code> are not.</p> <p>Plausible automatically discards query parameters from page URLs, except for campaign and referrer parameters used for attribution. You can read the full details in our <a href="/data-policy">data policy</a>.</p> <h3 id="in-forms">In forms</h3> <p>Forms collect the exact kind of information analytics should not store.</p> <p>Avoid sending form field values such as:</p> <ul> <li>Email address</li> <li>Name</li> <li>Phone number</li> <li>Company address</li> <li>Billing address</li> <li>Free-text messages</li> <li>Passwords or password reset tokens</li> <li>Any health, financial, legal or employment details</li> </ul> <p>This matters for any form where people can enter personal or sensitive information, including newsletter forms, signup forms, contact forms, checkout forms, quote request forms, application forms, surveys, support forms and search forms.</p> <p>For analytics, you usually only need to know that a specific form was submitted, not what the person typed into it. In Plausible, that is enough to analyze form performance: total submissions, unique submissions, conversion rate, the top pages that drive submissions, referral sources, countries and devices.</p> <p>To analyze one specific form, click on its URL in your dashboard to filter your stats by that form’s submissions. This gives you a complete overview of how that individual form performs without storing the submitted values.</p> <p>For example, track:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Newsletter form submitted
Signup form submitted
Contact form submitted
Demo request form submitted
Checkout form submitted
Support form submitted
</code></pre></div></div> <p>Do not track:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Signup form submitted by jane@example.com
Demo request from Jane Smith at Acme Corp
Checkout completed by customer_98431
Support request: "My phone number is 555-123-4567"
</code></pre></div></div> <p>The first set tells you whether the form is working. The second set tells you who filled it out, which is exactly what analytics does not need to know.</p> <h3 id="in-user-ids">In user IDs</h3> <p>User IDs can feel harmless because they are often internal strings rather than names or emails. But they can still identify people inside your system.</p> <p>Avoid sending values like:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>user_id=184291
customer_id=cus_93Hsk2
account_id=acct_58291
member_id=mem_77731
subscriber_id=sub_9340
</code></pre></div></div> <p>If the value maps to one person, one account or one household in your database, treat it as personal data for analytics purposes.</p> <p>This is especially important for product analytics, SaaS dashboards and logged-in areas. It can be tempting to send a user ID with every event so you can understand individual behavior later.</p> <p>Track aggregate behavior instead:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Plan: free
Plan: business
Role: admin
Logged in: yes
Feature: reports
</code></pre></div></div> <p>Those properties can be useful for understanding product usage without exposing the identity of a specific person.</p> <p>If you use Plausible custom properties (same thing as custom dimensions in GA4), use them for broad, non-identifying labels and never for emails, names, user IDs or other identifiers. See the <a href="/docs/custom-props/introduction">custom properties documentation</a> for how to attach extra context safely.</p> <h3 id="in-emails">In emails</h3> <p>Email addresses are direct identifiers. Do not put them in page URLs, event names, custom properties, referrers or search parameters.</p> <p>Watch for patterns like:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/unsubscribe/jane@example.com
/newsletter/preferences?email=jane@example.com
/invite?recipient=jane@example.com
/account/jane@example.com
</code></pre></div></div> <p>Email tools sometimes generate links with subscriber identifiers or email addresses in the URL. If those pages are tracked, the values may end up in analytics unless they are stripped, redacted or replaced before tracking.</p> <p>A safer pattern is:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/unsubscribe
/newsletter/preferences
/invite
/account
</code></pre></div></div> <p>You can still measure visits and conversions on these pages. You just do not need to store who the page was for.</p> <h3 id="in-search-queries">In search queries</h3> <p>Search queries are easy to overlook because most searches are harmless. People search for things like “pricing”, “refund policy”, “analytics dashboard” or “integration docs”.</p> <p>But search boxes also get used for personal information:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>jane@example.com
Jane Smith
555-123-4567
order 20493
invoice INV-2026-1044
appointment for Jane Smith
</code></pre></div></div> <p>If you track internal site search, avoid sending raw search terms when your users may search for people, customers, orders, tickets, invoices, email addresses or other sensitive records.</p> <p>For public content sites, tracking popular search terms can be useful. For logged-in tools, CRMs, support systems, health portals, finance apps or admin dashboards, it is safer to track only that a search happened, or to categorize searches without storing the exact query.</p> <h2 id="what-not-to-send-to-analytics">What not to send to analytics</h2> <p>As a rule, do not send anything to analytics that identifies a person, account, household, transaction or private case.</p> <p>Avoid sending:</p> <ul> <li>Email addresses, names, phone numbers and physical addresses</li> <li>User IDs, customer IDs, account IDs and membership IDs</li> <li>Order IDs, invoice IDs, booking IDs and ticket IDs</li> <li>Authentication tokens, password reset tokens and session IDs</li> <li>Payment details, coupon codes tied to one person or billing metadata</li> <li>Free-text form submissions</li> <li>Internal search queries that may include personal data</li> <li>IP addresses or full user agents as custom data</li> <li>Any health, legal, financial, employment or other sensitive information</li> </ul> <p>The goal is not to make analytics useless. It is to measure the thing you actually need:</p> <ul> <li>A signup happened</li> <li>A file was downloaded</li> <li>A form was submitted</li> <li>A plan type converted</li> <li>A feature was used</li> <li>A campaign brought visitors</li> <li>A page performed well</li> </ul> <p>You rarely need to know exactly which person did it inside your web analytics dashboard.</p> <h2 id="how-plausible-avoids-collecting-personal-data">How Plausible avoids collecting personal data</h2> <p>Plausible is privacy-first by design. It is built for aggregate website analytics, not individual tracking.</p> <p>We <a href="https://plausible.io/cookieless-web-analytics">do not use cookies</a>. We do not generate persistent identifiers. We do not track people across websites, devices or days. We do not store IP addresses. We discard full user agents after deriving limited browser, operating system and device information. All visitor data is <a href="https://plausible.io/eu-hosted-web-analytics">processed and stored in the EU</a>.</p> <p>Plausible measures only essential website analytics data such as page URL, referrer, browser, operating system, device type and approximate location such as country, region and city (instead of precise coordinates). The goal is to show overall trends in your website traffic, not to build profiles of individual visitors.</p> <p>You can read the full list of what Plausible collects, how unique visitors are counted without cookies and how data is handled in our <a href="/data-policy">data policy</a>. For a broader overview, see our guide to <a href="/privacy-focused-web-analytics">privacy-focused web analytics</a>.</p> <p>That said, your implementation still matters. If your website puts personal data in page paths, event names or custom properties, you should redact it before it reaches analytics.</p> <h2 id="how-to-redact-url-identifiers-with-custom-locations">How to redact URL identifiers with custom locations</h2> <p>Sometimes your website needs user-specific URLs for the product to work:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/users/184291
/customers/cus_93Hsk2
/orders/order_20493
/invoices/INV-2026-1044
</code></pre></div></div> <p>For analytics, those should usually be grouped into privacy-friendly paths:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/users/:id
/customers/:id
/orders/:id
/invoices/:id
</code></pre></div></div> <p>In Plausible, you can do this by configuring a custom location before the pageview is sent. This lets you replace the actual URL with a clean, non-identifying version in your reports.</p> <p>For example, instead of recording many separate pages like:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/profile/123
/profile/456
/profile/789
</code></pre></div></div> <p>you can record them as:</p> <div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/profile/:id
</code></pre></div></div> <p>That improves privacy and makes your Pages report easier to read. Instead of fragmented rows for each person or record, you get one useful aggregate row.</p> <p>Follow the setup steps in our <a href="/docs/custom-locations">custom locations documentation</a>. This is the main tool to use when identifiers live in the URL path.</p> <p>If the extra context you want to collect is not identifying, such as plan type, content author, logged-in status or button placement, use <a href="/docs/custom-props/introduction">custom properties</a> instead. Keep those values broad and non-personal.</p> <h2 id="a-quick-pii-review-checklist">A quick PII review checklist</h2> <p>Before sending a value to analytics, ask:</p> <ul> <li>Does this identify a person directly?</li> <li>Can our team link this ID back to a person, account, order or ticket?</li> <li>Could this field contain free-text personal information?</li> <li>Is this a token, session ID, password reset link or private URL?</li> <li>Can we replace it with a grouped path like <code class="language-plaintext highlighter-rouge">/customers/:id</code> or a broad label like <code class="language-plaintext highlighter-rouge">plan=business</code>?</li> </ul> <p>If a value points to a person, remove it, replace it with a generic label or group it into a non-identifying pattern before it reaches analytics.</p> <p>Good analytics should help you understand what works on your website without making your visitors identifiable. Measure the pattern, not the person.</p> <h2 id="frequently-asked-questions">Frequently asked questions</h2> <style>.pii-faq{margin-top:1.5rem;border-top:1px solid #e5e7eb}.pii-faq details{border-bottom:1px solid #e5e7eb;padding:1rem 0}.pii-faq summary{align-items:center;color:#111827;cursor:pointer;display:flex;font-weight:600;justify-content:space-between;list-style:none}.pii-faq summary::-webkit-details-marker{display:none}.pii-faq summary::after{align-items:center;background:#eef2ff;border-radius:9999px;color:#4f46e5;content:"+";display:inline-flex;flex:0 0 auto;font-size:1.25rem;height:1.75rem;justify-content:center;line-height:1;margin-left:1rem;width:1.75rem}.pii-faq details[open] summary::after{content:"-"}.pii-faq p{color:#4b5563;line-height:1.7;margin:.75rem 2.75rem 0 0}</style> <div class="pii-faq"> <details> <summary>Is an email address PII?</summary> <p>Yes. An email address directly identifies or contacts a person, so it should not be sent to analytics in URLs, form events, custom properties, search terms or campaign parameters.</p> </details> <details> <summary>Is an IP address PII?</summary> <p>It can be. Under GDPR, IP addresses are listed as an example of personal data. For analytics, the safer approach is not to store IP addresses. Plausible uses IP addresses only briefly to derive approximate location and count unique visitors, then discards them.</p> </details> <details> <summary>Is a user ID PII?</summary> <p>Yes, if it maps to a specific person, account or household in your systems. Even if the ID is not meaningful to outsiders, it is still linkable inside your organization. Use broad labels such as plan, role or logged-in status instead.</p> </details> <details> <summary>Is an order ID PII?</summary> <p>Treat it as personal data for analytics purposes if the order can be linked back to a customer. You can still track that checkout was completed, revenue was generated or a product category converted without sending the raw order ID.</p> </details> <details> <summary>Are search queries PII?</summary> <p>They can be. Search terms are often harmless on public content sites, but people may type names, email addresses, phone numbers, order numbers or health and support details into search boxes. If your search can include private records, avoid sending raw queries to analytics.</p> </details> <details> <summary>Can I track forms without collecting PII?</summary> <p>Yes. Track that a form was submitted, not the values someone typed into it. In Plausible, form tracking can show total submissions, unique submissions, conversion rate, top pages, referral sources, countries and devices without storing the submitted form contents.</p> </details> <details> <summary>What is not PII in analytics?</summary> <p>Aggregate metrics such as pageviews, total form submissions, conversion rates, broad device type, referral source and page paths without personal identifiers are generally safer analytics data. The key is that the value should not identify or single out one person.</p> </details> </div>]]></content><author><name>Hricha Shandily</name></author><summary type="html"><![CDATA[PII (personally identifiable information) is any data that can identify a person. See what counts, real examples in URLs, forms and emails, and how to keep it out of your analytics.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://plausible.io/uploads/pii-examples.png"/><media:content medium="image" url="https://plausible.io/uploads/pii-examples.png" xmlns:media="http://search.yahoo.com/mrss/"/></entry><entry><title type="html">How to investigate a spike in your website traffic?</title><link href="https://plausible.io/blog/spike-in-website-traffic" rel="alternate" type="text/html" title="How to investigate a spike in your website traffic?"/><published>2026-06-11T10:30:00+00:00</published><updated>2026-06-11T10:30:00+00:00</updated><id>https://plausible.io/blog/spike-in-website-traffic</id><content type="html" xml:base="https://plausible.io/blog/spike-in-website-traffic"><![CDATA[<p>Are you seeing a spike in your website traffic? That can be either good news or a warning sign.</p> <p>Sometimes a traffic spike means your content is gaining attention. A blog post may have been shared in the right community, a newsletter might have mentioned you, or a search query could suddenly be driving more visitors to your site.</p> <p>But not all traffic spikes are worth celebrating. The increase could be caused by bot traffic, referral spam, internal visits, a broken campaign tag, search crawlers, or even a seasonal trend you overlooked.</p> <p>Before you celebrate or panic, it’s important to understand where the traffic is coming from and what’s actually causing the spike.</p> <ol id="markdown-toc"> <li><a href="#is-it-bot-traffic" id="markdown-toc-is-it-bot-traffic">Is it bot traffic?</a> <ol> <li><a href="#check-engagement-metrics" id="markdown-toc-check-engagement-metrics">Check engagement metrics</a></li> <li><a href="#check-the-locations" id="markdown-toc-check-the-locations">Check the locations</a></li> <li><a href="#check-for-data-center-and-spam-patterns" id="markdown-toc-check-for-data-center-and-spam-patterns">Check for data center and spam patterns</a></li> <li><a href="#next-steps-what-to-do-if-it-is-non-human-traffic" id="markdown-toc-next-steps-what-to-do-if-it-is-non-human-traffic">Next steps: What to do if it is non-human traffic?</a> <ol> <li><a href="#are-you-a-plausible-analytics-subscriber" id="markdown-toc-are-you-a-plausible-analytics-subscriber">Are you a Plausible Analytics subscriber?</a></li> </ol> </li> </ol> </li> <li><a href="#check-your-traffic-sources" id="markdown-toc-check-your-traffic-sources">Check your traffic sources</a> <ol> <li><a href="#if-the-spike-came-from-direct" id="markdown-toc-if-the-spike-came-from-direct">If the spike came from Direct</a></li> <li><a href="#if-the-spike-came-from-organic-search" id="markdown-toc-if-the-spike-came-from-organic-search">If the spike came from Organic Search</a></li> <li><a href="#if-the-spike-came-from-ai-referrals" id="markdown-toc-if-the-spike-came-from-ai-referrals">If the spike came from AI referrals</a></li> <li><a href="#if-the-spike-came-from-organic-social" id="markdown-toc-if-the-spike-came-from-organic-social">If the spike came from Organic Social</a></li> <li><a href="#if-the-spike-came-from-referral" id="markdown-toc-if-the-spike-came-from-referral">If the spike came from Referral</a></li> <li><a href="#if-the-spike-came-from-a-paid-campaign" id="markdown-toc-if-the-spike-came-from-a-paid-campaign">If the spike came from a paid campaign</a></li> </ol> </li> <li><a href="#check-the-pages-report" id="markdown-toc-check-the-pages-report">Check the pages report</a> <ol> <li><a href="#examples-how-to-read-clues-together" id="markdown-toc-examples-how-to-read-clues-together">[Examples] How to read clues together</a></li> </ol> </li> <li><a href="#check-devices-and-browsers" id="markdown-toc-check-devices-and-browsers">Check devices and browsers</a></li> <li><a href="#cross-check-with-other-sources" id="markdown-toc-cross-check-with-other-sources">Cross-check with other sources</a></li> <li><a href="#could-it-be-an-attack-or-abuse" id="markdown-toc-could-it-be-an-attack-or-abuse">Could it be an attack or abuse?</a></li> <li><a href="#check-whether-your-team-caused-it" id="markdown-toc-check-whether-your-team-caused-it">Check whether your team caused it</a></li> <li><a href="#monitor-whether-the-spike-repeats" id="markdown-toc-monitor-whether-the-spike-repeats">Monitor whether the spike repeats</a></li> <li><a href="#so-what-did-the-spike-mean" id="markdown-toc-so-what-did-the-spike-mean">So, what did the spike mean?</a></li> <li><a href="#how-much-traffic-spike-is-enough-to-investigate" id="markdown-toc-how-much-traffic-spike-is-enough-to-investigate">How much traffic spike is enough to investigate?</a></li> <li><a href="#a-traffic-spike-is-a-question-not-an-answer" id="markdown-toc-a-traffic-spike-is-a-question-not-an-answer">A traffic spike is a question, not an answer</a></li> </ol> <h2 id="is-it-bot-traffic">Is it bot traffic?</h2> <p>This is usually the first thing to check because a spike caused by bots is not something you want to report as growth. There is no single dashboard clue that proves “this is definitely a bot”. But a few strong signals together can make the answer pretty clear.</p> <p>Quick tip: Before starting your investigation, set the right time period in your analytics tool. For a sudden spike, <strong>Last 24 hours</strong>, <strong>Today</strong> and <strong>Yesterday</strong> are often more useful than a broad monthly view. In Plausible, you can also <a href="https://plausible.io/docs/compare-stats">compare the spike period</a> with the previous period, yesterday, or a custom range for a better comparison view.</p> <h3 id="check-engagement-metrics">Check engagement metrics</h3> <p>The instant tell-tale of bot traffic is that it does not behave like actual people. Bots often leave quickly, hit one page, do not scroll naturally and do not convert. So your engagement would look unnaturally low.</p> <p>If you’re looking at your analytics dashboard right now, observe the engagement metrics like:</p> <ul> <li>Bounce rate (is it too high?)</li> <li>Visit duration (is it too low?)</li> <li>Views per visit (is it almost nil?)</li> <li>Scroll depth (is it too low?)</li> <li>Even goal conversions or other event triggers</li> </ul> <p>So if your traffic spiked but visit duration collapsed, <a href="https://plausible.io/blog/bounce-rate#understanding-bounce-rate">bounce rate</a> shot up and conversions did not move, be skeptical.</p> <p>That said, low engagement is not always bot traffic. Viral social traffic can also bounce quickly for instance. A short reference page can have low time on page because people got the answer and left. A landing page built for one action may not create many pageviews per visit.</p> <p><strong>So the useful question is</strong>: does this spike traffic behave differently from the same source, page or audience during normal periods?</p> <p>This is why you should start isolating the increased traffic by segmenting your dashboard by the exact traffic source, location, page, and/or browser that the spike is coming from.</p> <p>Using Plausible? Click a country/city, source/channel, page or any other report entries to filter the full dashboard by that segment.</p> <h3 id="check-the-locations">Check the locations</h3> <p>Open your Locations report and look for regions that do not match your normal audience.</p> <p>For example, unusual traffic spikes from places such as Ashburn or Council Bluffs almost always means that visits are coming from data centers rather than real users.</p> <p>That does not mean every visit from these places is fake, and it does not mean every unexpected location is suspicious. It just means you should keep looking for supporting evidence.</p> <p>Unexpected locations can have very normal explanations too. For example:</p> <ul> <li>Your website URL may have ended up in a local forum or community.</li> <li>Your customers’ customers may be reaching out to you instead of your customer because of some confusion. (For example, an agency’s client may click your analytics link thinking you provide support for that agency’s site.)</li> <li>A blog article may be ranking internationally because the topic is universal.</li> <li>A newsletter or social post may have reached a new country you do not normally get traffic from.</li> </ul> <p>P.S. If a country is genuinely irrelevant to your site and keeps polluting your stats, you can exclude countries from your stats in most analytics tools (<a href="https://plausible.io/docs/excluding#exclude-visits-by-country">here’s</a> how to do it in Plausible). But treat that as cleanup after you have understood what is happening, not as the first move.</p> <h3 id="check-for-data-center-and-spam-patterns">Check for data center and spam patterns</h3> <p>Some spikes can come from scrapers, uptime monitors, vulnerability scanners, AI crawlers, spam bots, click farms or automated tools. Common warning signs include:</p> <ul> <li>A sudden spike with no matching campaign, launch, press mention or seasonal reason</li> <li>Very low visit duration</li> <li>Very high bounce rate</li> <li>No conversions or meaningful events</li> <li>Traffic concentrated in odd locations or data center-heavy areas</li> <li>Unusual spike from a specific browser. For example, we recently noticed any and all unnatural traffic queries coming from Chromium browsers.</li> <li>A strange referral domain</li> <li>A large Direct traffic spike with no brand or campaign explanation</li> <li>Many visits to random, old or sensitive-looking paths</li> </ul> <p>If you suspect non-human traffic, compare your analytics with server logs, CDN logs or hosting metrics if you have access. If the traffic caused server load, involve your engineering team. If it only polluted reporting, exclude the spike from your analysis and check whether your analytics setup can filter the obvious spam source.</p> <h3 id="next-steps-what-to-do-if-it-is-non-human-traffic">Next steps: What to do if it is non-human traffic?</h3> <p>At this point, if you are reasonably sure that the spike was not from real visitors, you have two jobs:</p> <ul> <li>keep the traffic from misleading your analytics,</li> <li>and understand whether there is anything deeper to fix.</li> </ul> <p>First, keep that traffic out of your analysis. Do not use it to judge campaign performance, conversion rates, content performance or business growth. If your analytics tool allows it, filter or exclude the affected traffic by source, country, IP address, hostname, page path or any other clear pattern you identified.</p> <p>Next, check whether your analytics provider can help. Some tools can remove obvious spam traffic, improve their filters, or guide you toward the right exclusion settings.</p> <p>If support is not available, look for product-specific documentation or community discussions. Bot and spam traffic issues are common, so there is often a known workaround for a specific pattern.</p> <p>If you use GA4, for example, you may need to handle some of this manually using comparisons, explorations, unwanted referrals, internal traffic rules, data filters, or custom reports depending on what caused the spike.</p> <p>The exact fix depends on whether the traffic came from a spam referrer, an internal source, a suspicious location, a campaign tagging issue, or a page-specific pattern.</p> <p>Finally, investigate why the spike happened. If it was only analytics spam, cleanup may be enough. But if the traffic hit login pages, signup forms, checkout flows, API routes, admin-looking URLs or caused server load, treat it as a possible abuse or security issue. In that case, involve the appropriate team and treat it as an urgent issue.</p> <h4 id="are-you-a-plausible-analytics-subscriber">Are you a Plausible Analytics subscriber?</h4> <p>Plausible filters a large amount of bot and spam traffic automatically.</p> <p>We block known crawlers based on their User-Agent, exclude traffic from many data center IP ranges, filter referrer spam, and apply additional checks to detect non-human traffic patterns.</p> <p>Because of this filtering, Plausible typically records far fewer pageviews than raw server logs, which count every request including bots and automated scans. In <a href="https://plausible.io/blog/server-log-analysis">one test</a> we ran, server logs recorded about 18× more pageviews for the same site due to bot traffic.</p> <p>In <a href="https://plausible.io/blog/testing-bot-traffic-filtering-google-analytics">another test</a> we ran, we saw how Plausible successfully blocked bot traffic while GA couldn’t.</p> <p>That said, no analytics system can block every bot. Some sophisticated bots try to mimic real browsers and may occasionally appear in analytics data. We continuously improve our filtering to reduce this.</p> <p>If you identify traffic you’d like to exclude, you can also <a href="https://plausible.io/docs/excluding">filter it manually</a> by IP address, country, page, or hostname. If you are convinced unnatural traffic has made it to your Plausible dashboard, feel free to <a href="https://plausible.io/contact">contact us</a> and we’ll take a look.</p> <h2 id="check-your-traffic-sources">Check your traffic sources</h2> <p>Once bot traffic is less likely, the next question is: where did the spike come from?</p> <p>In Plausible, you can start with <strong><a href="https://plausible.io/docs/top-referrers">Channels</a></strong> and drill into <strong>Sources</strong> and <strong>Campaigns</strong> (Or start with Sources or Campaigns directly). If you use GA4, start from the traffic acquisition report.</p> <p>The main thing to look for is whether all traffic rose together, or whether one source caused the spike.</p> <p>Depending on your site, the spike could come from Direct, Organic Search, AI referrals, Organic Social, Referral, Email, Paid, Affiliates or any other channel. The investigation logic is the same: isolate the source, check the pages it landed on, and compare engagement with your usual baseline. Our guide to <a href="/blog/check-website-traffic">checking your own website traffic accurately</a> explains how to read these reports together during a normal traffic review.</p> <p>This goes hand in hand with the pages report (explained in the next section): sources tell you where people came from, pages tell you what they came for.</p> <p>Here’s what that would look like in the Plausible dashboard:</p> <p><img src="/uploads/traffic-spike-investigation-in-plausible.webp" alt="Traffic spike investigation in Plausible showing sources and entry pages together" title="Traffic spike investigation in Plausible"/></p> <p>If you filter the dashboard by a source, compare that filtered view with yesterday, the previous period or a custom period too. That helps you confirm whether this source is truly spiking or just following its usual pattern.</p> <p>If the answer is obvious at this stage, you may not need to keep digging. For example, if you launched a newsletter at 10 AM and Email traffic spiked at 10:05 AM with normal engagement, that is probably your answer. Note it down, compare the outcome with your expectations, and you can move on.</p> <p>Here is what spikes from different sources mean.</p> <h3 id="if-the-spike-came-from-direct">If the spike came from Direct</h3> <p>A “Direct/none” traffic spike can mean several things.</p> <p>It could be good: more people are typing your URL, using bookmarks, searching your brand and clicking through, or sharing your link in private places such as Slack, Discord, WhatsApp, email or newsletters. This is often called dark traffic because the original source is not passed along.</p> <p>It could also mean attribution got messy. Maybe a campaign link was shared without UTM parameters, a redirect stripped the referrer, or a newsletter tool did not pass source information correctly.</p> <p>If the spike is Direct, has weak engagement, comes from odd locations and does not convert, it was probably bots.</p> <h3 id="if-the-spike-came-from-organic-search">If the spike came from Organic Search</h3> <p>An organic search spike can happen because a page jumped in rankings, Google started showing it for new queries (especially if they’re trending), a topic became more popular, or your content appeared in a search feature.</p> <p>If Organic Search is responsible, check whether the spike came from:</p> <ul> <li>One page (or a group of similar intent pages)</li> <li>One query (or a group of similar intent queries)</li> <li>One location</li> <li>A wider increase across many pages</li> </ul> <p>In Plausible, you can use the <a href="https://plausible.io/docs/google-search-console-integration">Google Search Console integration</a> to see search terms inside your dashboard. You can also open Search Console directly and compare clicks, impressions, average position and CTR for the spike period.</p> <p>Google’s guidance for debugging search traffic changes recommends looking at the Search Console performance report, comparing date ranges, separating search types and checking whether the change is limited to specific pages, queries, countries or devices.</p> <h3 id="if-the-spike-came-from-ai-referrals">If the spike came from AI referrals</h3> <p>AI tools such as ChatGPT, Perplexity, Claude and others are now real referral sources.</p> <p>They may not send traffic at Google scale, but they can cause visible spikes every now and then, when an answer cites your page, when a topic starts trending in AI chats, or when an AI tool changes something about its working.</p> <p>We have seen this ourselves at Plausible. For instance, we noticed an increase in ChatGPT traffic after ChatGPT made inline clickable referrals more visible. Earlier too, we saw a <a href="https://plausible.io/blog/ai-referral-traffic-and-optimization">~2,200% surge in AI referral traffic</a> from sources such as ChatGPT, Perplexity, Claude and Phind.</p> <p>If AI referrals caused the spike, check:</p> <ul> <li>Which AI source sent the traffic</li> <li>Which entry pages/<a href="https://plausible.io/blog/analyzing-landing-pages">landing pages</a> received it</li> <li>Whether the pages answer broad, citation-worthy questions</li> <li>Whether the visitors behave like qualified traffic or quick curiosity clicks</li> <li>Whether the spike matches a public discussion or trend in your niche</li> </ul> <p>This kind of traffic can be volatile. A page may be cited one week and disappear from answers the next. So treat AI referral spikes as a useful discovery signal, but still judge them by engagement, conversions and whether they bring the kind of visitors you want.</p> <h3 id="if-the-spike-came-from-organic-social">If the spike came from Organic Social</h3> <p>If the spike came from social, click into the exact source.</p> <p>This may be a post on LinkedIn, X, Reddit, HackerNews, Mastodon, Bluesky or another community. A social spike can be valuable, but it is often short-lived. The question is not only “how many people came?” but “did the right people come?”</p> <p>Look at engagement and conversions. If a social post sends thousands of visitors who bounce quickly and never sign up, it may be a nice awareness moment but not necessarily a business win. If it sends fewer visitors but they spend time, read more pages or convert, that is a stronger signal.</p> <p>If you can identify the exact post, you can stop the source investigation here and move to understanding the outcome.</p> <p>For example, if LinkedIn caused the spike, search LinkedIn for your brand, domain or the landing page URL. Maybe someone tagged you in a post, maybe they did not. Either way, once you find the post, check what people were reacting to, whether the comments reveal confusion or interest, and whether the traffic converted.</p> <p>If you cannot find the post, check the pages report next. The entry page often tells you what the social conversation was probably about.</p> <h3 id="if-the-spike-came-from-referral">If the spike came from Referral</h3> <p>If the spike came from a specific referring site, it usually means your link was shared, cited, listed or discussed somewhere there.</p> <p>Sometimes this is easy to trace. The referring URL may include the exact thread, article, newsletter archive, directory page or documentation page.</p> <p>You can click into the source, check Referrer URLs if available, search that site for your domain, or search the web for your URL and the date of the spike.</p> <p>Sometimes you will not be able to find the exact mention. That is okay. You do not always need the exact post.</p> <p>If you can confirm that the source is real, the traffic is relevant, and the visitors behaved positively, you can stop here and move to understanding the outcome.</p> <p>If the source is clear but the reason is not, pair it with the pages report. A homepage spike usually means a broader brand mention, while a feature page, docs page or blog post spike points to a more specific conversation.</p> <p>If you do find the exact mention, read the context. Are people recommending you? Complaining about you? Comparing you with an alternative? Confused about a feature?</p> <p>That context tells you whether to join the conversation, update the page, add better internal links, or simply save the source and date so you can compare future spikes.</p> <h3 id="if-the-spike-came-from-a-paid-campaign">If the spike came from a paid campaign</h3> <p>If a paid channel spiked, first confirm that you expected it.</p> <p>Did someone increase budget? Launch a new campaign? Change targeting? Turn on a new placement? Forget to pause something?</p> <p>Then <a href="https://plausible.io/ad-cost-calculator">check</a> conversions and cost, not only visits.</p> <p>A paid traffic spike without conversions is not a win. It may mean the campaign is reaching the wrong audience, a landing page is mismatched, the tracking is broken, or low-quality clicks are getting through.</p> <h2 id="check-the-pages-report">Check the pages report</h2> <p>Check the pages that got the spike.</p> <p>In Plausible, use the <strong>Top Pages</strong> or <strong>Entry Pages</strong> report (understand more about them <a href="https://plausible.io/docs/top-pages">here</a>). Entry Pages are especially useful because they show where people started their visit.</p> <p>This is the other half of the sources investigation: where did they land?</p> <p>Ask:</p> <ul> <li>Did one page cause the spike?</li> <li>Did a group of related pages cause it?</li> <li>Did the homepage or pricing page suddenly get more visits?</li> <li>Did logged-in app pages spike instead of marketing pages?</li> <li>Did random old pages receive unusual traffic?</li> </ul> <p>The answer changes your next step.</p> <p>If one blog post spiked, look for where it was shared and what audience it reached. If a product or pricing page spiked, check campaigns, mentions, brand search and conversions. If many random pages spiked at the same time, especially with poor engagement, you may be looking at bots, crawlers or scraping.</p> <p>This can also be a good place to stop. If the source was LinkedIn and the entry page was your homepage, the likely story may simply be that someone mentioned your brand. If the source was LinkedIn and the entry page was a specific feature page, investigate whether someone discussed that feature.</p> <p>Similarly, if the source was Reddit and only one blog post spiked, look for that article in relevant subreddits and check whether the discussion explains the traffic.</p> <p>This is also where you can separate a happy spike from a hollow one. For example, imagine your blog post gets picked up by a big newsletter and sends 10,000 visitors in a day, that is exciting.</p> <p>Now imagine a smaller spike of 1,000 visitors to a comparison page, and trial signups also increase. That smaller spike may be more valuable to you.</p> <h3 id="examples-how-to-read-clues-together">[Examples] How to read clues together</h3> <p>Here are a few simple ways to read your <em>traffic source + page</em> clues together:</p> <ul> <li><strong>Email + pricing page spike:</strong> likely a newsletter, lifecycle email or sales campaign worked. Check conversions and replies.</li> <li><strong>Organic Search + old article spike:</strong> likely a topic started trending again or Google began ranking the page for a new query. Check Search Console.</li> <li><strong>Referral + docs page spike:</strong> likely a developer community, GitHub issue, integration guide or support thread linked to your docs.</li> <li><strong>Paid Search + low conversions:</strong> likely targeting, keyword intent or landing page mismatch. Check spend before celebrating the visits.</li> <li><strong>Mobile + landing page spike:</strong> likely social or newsletter traffic opened mostly on phones. Check mobile conversion rate and page experience.</li> <li><strong>Signup page spike + failed signups:</strong> likely fake accounts, abuse or a broken signup flow. Check product and auth logs.</li> </ul> <h2 id="check-devices-and-browsers">Check devices and browsers</h2> <p>Device and browser reports are useful when the spike is real but still needs explanation.</p> <p>If traffic rose mostly on mobile, check whether the source was mobile-heavy, like social, and whether the landing page works well on phones. If one browser, OS or device type suddenly dominates the spike, check whether that matches the source or points to something suspicious.</p> <p>If conversions dropped during the spike, segment by device too. You may discover that the extra traffic was real, but the experience was poor on the device most visitors used.</p> <h2 id="cross-check-with-other-sources">Cross-check with other sources</h2> <p>Once you have a likely explanation, check whether another tool supports it.</p> <p>You do not need five tools to investigate every traffic spike, but cross-checking is useful when:</p> <ul> <li>The spike is large enough to affect reporting.</li> <li>The spike is suspicious.</li> <li>The spike is tied to SEO or paid performance.</li> <li>The spike caused operational issues.</li> <li>You are about to make a decision based on it.</li> </ul> <p>For organic search spikes, check Google Search Console. See whether clicks, impressions, queries and pages moved in the same direction as your analytics.</p> <p>For SEO-related spikes, an SEO tool such as Semrush can help you check keyword movements, ranking changes, backlinks, new SERP features or competitor movement.</p> <p>For suspicious spikes, check server logs, CDN logs, firewall logs or hosting analytics. These can help you spot crawlers, repeated requests, unusual user agents, data center traffic or pages being hit in a pattern that does not look human.</p> <p>For campaign spikes, check the source platform too. If a newsletter tool says 400 clicks but your analytics says 8,000 visits, something is off. If an ad platform says spend doubled and your analytics says paid traffic doubled too, that part of the story at least lines up.</p> <h2 id="could-it-be-an-attack-or-abuse">Could it be an attack or abuse?</h2> <p>This is different from normal bot traffic.</p> <p>Some automated traffic is just noise in your analytics. But some spikes can be caused by scraping, vulnerability scans, credential stuffing, spam form submissions, fake signups, checkout abuse or a DDoS-style flood. This is especially common for developer tools, SaaS products, open-source projects and sites with login pages, docs, APIs or public forms.</p> <p>You may not be able to confirm this from your web analytics dashboard alone. Analytics tools usually show the browser-level visit, not every request that hits your infrastructure.</p> <p>Look for clues such as:</p> <ul> <li>A spike in visits to login, signup, password reset, docs, API or admin-looking pages.</li> <li>Many hits to strange paths that normal visitors would not open.</li> <li>A sudden rise in 404s, 403s, 429s or 500s in server logs.</li> <li>Higher server load, bandwidth, CPU usage or CDN traffic.</li> <li>Repeated requests from the same IP ranges, hosting providers or data centers.</li> <li>A spike in failed logins, fake accounts, spam submissions or suspicious checkout attempts.</li> <li>Support messages from users saying the site is slow or unavailable.</li> </ul> <p>If any of this lines up with the traffic spike, get your engineering or hosting team involved. Check server logs, CDN/firewall logs, rate limits, WAF rules and authentication logs. In that case, the priority is not understanding whether the traffic converted. The priority is protecting the site and keeping the data from being mistaken for real demand.</p> <h2 id="check-whether-your-team-caused-it">Check whether your team caused it</h2> <p>Not every unexplained spike comes from the outside world. Sometimes the source is internal:</p> <ul> <li>A paid campaign was launched or changed.</li> <li>A new integration, script or monitoring tool started pinging pages.</li> <li>A staging, app or admin route began being tracked.</li> <li>A product change sent logged-in users through a tracked page more often.</li> <li>A QA or automation tool visited the site repeatedly.</li> <li>A redirect or tagging change moved traffic into the wrong channel.</li> </ul> <p>This is especially important if the spike appears in app pages, checkout pages, internal dashboards or other URLs that normal marketing traffic would not usually hit.</p> <p>Ask around before drawing conclusions. A two-minute message in the marketing, product or engineering channel can save an hour of analytics detective work.</p> <h2 id="monitor-whether-the-spike-repeats">Monitor whether the spike repeats</h2> <p>One-day spikes are common. Repeating spikes are a trend.</p> <p>Check whether the traffic spike happens:</p> <ul> <li>Every weekday</li> <li>Every weekend</li> <li>Every Tuesday morning</li> <li>At the same hour each day</li> <li>Around every newsletter send</li> <li>Around every deploy</li> <li>Around every billing cycle</li> <li>During a known seasonal window</li> </ul> <p>Recurring patterns are usually easier to explain once you know what schedule they match.</p> <p>If the spike happens every time your newsletter goes out, you have a distribution signal. If it happens every time a crawler runs, you have an automation signal. If it happens only during a holiday shopping period, you may have a seasonal signal.</p> <h2 id="so-what-did-the-spike-mean">So, what did the spike mean?</h2> <p>By now, your spike should fall into one of these buckets:</p> <ul> <li><strong>Noise:</strong> bot traffic, spam, broken tracking or abuse. Exclude it from analysis and fix the source if needed.</li> <li><strong>Expected traffic:</strong> a newsletter, launch, campaign or seasonal pattern. Compare it with your expectations.</li> <li><strong>Real opportunity:</strong> a mention, ranking change, AI citation or community discussion that brought relevant visitors. Save the source and learn from it.</li> <li><strong>Low-quality attention:</strong> real people, but not the right people. Note it, but do not overvalue it.</li> </ul> <h2 id="how-much-traffic-spike-is-enough-to-investigate">How much traffic spike is enough to investigate?</h2> <p>There is no universal threshold.</p> <p>It depends on your usual traffic level, business model, and how much the spike could affect decisions.</p> <p>A small personal blog can reasonably investigate a jump from 100 to 500 visitors because that may reveal a new audience. A large SaaS site may ignore a 2% daily increase unless it affects signups, revenue, support volume or infrastructure.</p> <p>As a rough rule, investigate when:</p> <ul> <li>The spike is clearly outside your normal range.</li> <li>The spike affects a business-critical page or channel.</li> <li>The spike changes conversion numbers.</li> <li>The spike causes server load or operational issues.</li> <li>The spike is being used in reporting or decision-making.</li> <li>The spike has suspicious quality signals.</li> </ul> <p>If the spike is small, explainable and has no business impact, you do not need to turn it into a forensic exercise.</p> <h2 id="a-traffic-spike-is-a-question-not-an-answer">A traffic spike is a question, not an answer</h2> <p>Here’s a visualization of the practical process that you can save for your reference:</p> <p><img src="/uploads/flow-chart-traffic-spike-investigation.png" alt="Flow chart for investigating a traffic spike" title="Traffic spike investigation flow chart"/></p> <p>If you want an easier way to notice unusual traffic without babysitting your dashboard, you can set <a href="https://plausible.io/docs/traffic-spikes">traffic spike notifications in Plausible</a>, the <a href="https://plausible.io/simple-web-analytics">simpler</a> and <a href="https://plausible.io/privacy-focused-web-analytics">privacy-friendly</a> alternative to Google Analytics. You will get alerted when current visitors cross your chosen threshold, along with the top sources and pages causing the spike.</p> <p>And if you’re dealing with the opposite problem, we also have a guide on <a href="https://plausible.io/blog/drop-in-website-traffic">how to investigate a drop in website traffic</a>.</p>]]></content><author><name>Hricha Shandily</name></author><summary type="html"><![CDATA[A practical process for figuring out whether a sudden traffic spike is bot traffic, referral spam, a campaign effect, real growth, or just a normal seasonal blip.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://plausible.io/uploads/traffic-spike-graph.webp"/><media:content medium="image" url="https://plausible.io/uploads/traffic-spike-graph.webp" xmlns:media="http://search.yahoo.com/mrss/"/></entry><entry><title type="html">Website Journey Analytics: How to track user journeys on your website</title><link href="https://plausible.io/blog/website-journey-analytics" rel="alternate" type="text/html" title="Website Journey Analytics: How to track user journeys on your website"/><published>2026-06-04T14:58:06+00:00</published><updated>2026-06-04T14:58:06+00:00</updated><id>https://plausible.io/blog/website-journey-analytics</id><content type="html" xml:base="https://plausible.io/blog/website-journey-analytics"><![CDATA[<p>People do not experience your website one page at a time. They arrive with a goal, move between pages and events, get answers, get stuck, compare options, drop off, or convert. User journey data helps you see those paths instead of looking at each page in isolation.</p> <p>Someone may first find a blog post from Google, visit your homepage, check the pricing page, read the docs, and then sign up. Someone else may land directly on a product page, click through to a comparison page, and contact sales in the same visit.</p> <p>It is a practical subset of customer journey analytics (that often joins CRM, support, email, ads and offline touchpoints) for website teams.</p> <ol id="markdown-toc"> <li><a href="#what-is-website-journey-analytics" id="markdown-toc-what-is-website-journey-analytics">What is website journey analytics?</a></li> <li><a href="#how-user-journeys-compare-to-other-analytics-methods" id="markdown-toc-how-user-journeys-compare-to-other-analytics-methods">How user journeys compare to other analytics methods</a> <ol> <li><a href="#customer-journey-analytics" id="markdown-toc-customer-journey-analytics">Customer journey analytics</a></li> <li><a href="#user-journey-mapping" id="markdown-toc-user-journey-mapping">User journey mapping</a></li> <li><a href="#funnels" id="markdown-toc-funnels">Funnels</a></li> </ol> </li> <li><a href="#what-you-can-learn-from-visitor-paths" id="markdown-toc-what-you-can-learn-from-visitor-paths">What you can learn from visitor paths</a> <ol> <li><a href="#see-what-visitors-do-after-landing-on-key-pages" id="markdown-toc-see-what-visitors-do-after-landing-on-key-pages">See what visitors do after landing on key pages</a></li> <li><a href="#work-backwards-from-conversions" id="markdown-toc-work-backwards-from-conversions">Work backwards from conversions</a></li> <li><a href="#understand-drop-offs" id="markdown-toc-understand-drop-offs">Understand drop-offs</a></li> <li><a href="#compare-journeys-by-traffic-source-campaign-device-or-country" id="markdown-toc-compare-journeys-by-traffic-source-campaign-device-or-country">Compare journeys by traffic source, campaign, device or country</a></li> <li><a href="#examples-by-website-type" id="markdown-toc-examples-by-website-type">Examples by website type</a></li> </ol> </li> <li><a href="#how-to-track-user-journeys-on-your-website" id="markdown-toc-how-to-track-user-journeys-on-your-website">How to track user journeys on your website</a> <ol> <li><a href="#how-plausible-user-journeys-works" id="markdown-toc-how-plausible-user-journeys-works">How Plausible User Journeys works</a></li> </ol> </li> <li><a href="#ga4-path-exploration-vs-plausible-user-journeys" id="markdown-toc-ga4-path-exploration-vs-plausible-user-journeys">GA4 Path Exploration vs Plausible User Journeys</a></li> <li><a href="#bringing-it-all-together" id="markdown-toc-bringing-it-all-together">Bringing it all together</a></li> </ol> <h2 id="what-is-website-journey-analytics">What is website journey analytics?</h2> <p>Website journey analytics is the process of analyzing the sequence of pages and events visitors go through on your website.</p> <p>It helps you answer questions like:</p> <ul> <li>Where do people go after landing on the homepage?</li> <li>Which pages do visitors view before signing up?</li> <li>What path leads people from a blog post to the pricing page?</li> <li>Do visitors from a specific campaign behave differently from organic search visitors?</li> <li>Where do visitors drop off after viewing a key page?</li> <li>What happened before a form submission, trial signup or purchase?</li> </ul> <p>and so on. Even if you don’t have any questions beforehand, you can do open-ended exploration to discover new paths and behaviors.</p> <p>In other words, it gives you the context around your website traffic.</p> <h2 id="how-user-journeys-compare-to-other-analytics-methods">How user journeys compare to other analytics methods</h2> <p>There are a few similar-sounding concepts in this area. The difference is mostly about scope and intent.</p> <h3 id="customer-journey-analytics">Customer journey analytics</h3> <p>Customer journey analytics usually looks across many touchpoints: ads, email, CRM, sales, support, product usage and website visits. Plausible User Journeys focuses only on the paths visitors take on your website.</p> <p>For example, it can show what visitors did after landing on your pricing page, but it will not combine that with sales calls or support tickets.</p> <h3 id="user-journey-mapping">User journey mapping</h3> <p>A user journey map is a visual artifact a team creates to understand an experience. User Journeys is based on live website behavior: the pages and events visitors actually move through.</p> <p>For example, a journey map may show the expected path from homepage to signup, while User Journeys may reveal that many visitors go through a blog post, docs or comparison page first.</p> <h3 id="funnels">Funnels</h3> <p><a href="https://plausible.io/blog/funnels-conversion-optimization">Funnels</a> are for measuring a path you already know and seeing drop-off between steps. User Journeys is for discovering paths you did not know to measure, or working backwards from a conversion.</p> <p>For example, use a funnel to measure Homepage -&gt; Pricing -&gt; Signup. Use User Journeys when you want to see which pages people visited before signing up.</p> <h2 id="what-you-can-learn-from-visitor-paths">What you can learn from visitor paths</h2> <p>Here are some useful ways:</p> <h3 id="see-what-visitors-do-after-landing-on-key-pages">See what visitors do after landing on key pages</h3> <p>Your homepage, pricing page, comparison pages, docs, feature pages and top blog posts are not just individual pages but starting points.</p> <p>Journey data helps you see what visitors do after those pages.</p> <p>For example:</p> <ul> <li>Do homepage visitors go to pricing, docs, product pages or blog posts?</li> <li>Do pricing page visitors continue to signup or leave?</li> <li>Do blog visitors explore the product or only read and exit?</li> <li>Do docs visitors go back into the app, contact support, or stop there?</li> </ul> <p>This is helpful for improving page structure and internal linking. If visitors are not taking the next step you expected, the page may need clearer calls-to-action, better navigation, or more relevant links.</p> <h3 id="work-backwards-from-conversions">Work backwards from conversions</h3> <p>Conversion path analysis is the other side of the same question.</p> <p>Instead of starting from a page and asking “what happened next?”, you start from a goal and ask “what happened before?”</p> <p>For example:</p> <ul> <li>Which pages did visitors view before signing up?</li> <li>Which blog posts or docs pages appeared before a trial activation?</li> <li>Did people visit the pricing page before contacting sales?</li> <li>Which pages led to a purchase?</li> </ul> <p>This is especially useful for content marketing and SEO. A blog post may not directly convert many visitors on the first pageview, but it may still appear in journeys that eventually lead to signup or purchase.</p> <p>Without journey data, that content can look less valuable than it is.</p> <h3 id="understand-drop-offs">Understand drop-offs</h3> <p>Not every visitor will continue to another page or trigger an event. That is normal.</p> <p>But when many visitors stop after a key page, it is worth investigating.</p> <p>For example:</p> <ul> <li>Visitors reach the pricing page but do not continue to signup</li> <li>Visitors open docs but do not return to the product</li> <li>Visitors hit a 404 page and leave immediately</li> <li>Visitors from a paid campaign land on a page and take no further action</li> </ul> <p>In Plausible User Journeys, for instance, this is shown as “No further action” at each step. It helps you see where visitors stopped moving through the tracked journey.</p> <p>No further action is not always bad. Someone may leave after getting exactly what they needed. But if the page is supposed to lead to a conversion, a large drop-off can be a useful signal.</p> <h3 id="compare-journeys-by-traffic-source-campaign-device-or-country">Compare journeys by traffic source, campaign, device or country</h3> <p>The same page can perform differently for different audiences.</p> <p>Visitors from Google search may read more content before converting. Visitors from paid campaigns may go straight to pricing. Mobile visitors may drop off earlier than desktop visitors. Visitors from a certain country may prefer different pages or product information.</p> <p>This is why journey analysis becomes more useful when combined with filters and segments.</p> <p>For example, you can compare:</p> <ul> <li>Organic search journeys vs paid campaign journeys</li> <li>Mobile journeys vs desktop journeys</li> <li>US visitors vs UK visitors</li> <li>Newsletter visitors vs social media visitors</li> <li>Visitors from a specific UTM campaign</li> </ul> <p>This helps you avoid treating all traffic as one big average.</p> <h3 id="examples-by-website-type">Examples by website type</h3> <p>Different teams can use the same journey data in different ways:</p> <ul> <li><strong>SaaS teams</strong> can work backwards from a signup or trial goal to see which comparison, pricing, docs or feature pages visitors viewed before converting. If those pages keep appearing in conversion paths, they may deserve clearer CTAs, stronger internal links and regular updates.</li> <li><strong>Content and SEO teams</strong> can start from a top blog post and see what visitors do next. If most visitors take no further action, the post may need better product links or a stronger next step. If visitors continue to a related feature page, the topic may be attracting qualified traffic.</li> <li><strong>Ecommerce stores</strong> can work backwards from purchases to see which product, category or campaign pages appeared before checkout. They can also compare paid and organic journeys, or check where mobile visitors drop off.</li> <li><strong>Agencies</strong> can make client reports more concrete by showing how visitor paths changed: more visitors reaching pricing from SEO pages, a campaign driving traffic but no further action, or a refreshed page sending more visitors toward conversion.</li> </ul> <h2 id="how-to-track-user-journeys-on-your-website">How to track user journeys on your website</h2> <p>If you want a <a href="https://plausible.io/simple-web-analytics">simple</a> and <a href="https://plausible.io/privacy-focused-web-analytics">privacy-friendly</a> way to track user journeys on your website, Plausible User Journeys is built for this.</p> <p>It lets you explore the actual paths visitors take through your site without extra setup, cookies or personal profiles. You just pick a page or goal and see what visitors did next. Or you can start from a conversion goal and work backwards to see what led visitors there.</p> <p>You can see it in action right now, on our own <a href="https://plausible.io/plausible.io">public analytics dashboard</a>, by scrolling down to the “Explore” tab.</p> <h3 id="how-plausible-user-journeys-works">How Plausible User Journeys works</h3> <p>User Journeys is available in the Explore tab alongside Goals, Properties and Funnels. It works with the pages and events already in your dashboard and you don’t need to work with code or even turn on any settings. It’s always there in your single-page dashboard.</p> <p>You can explore journeys in two directions:</p> <ul> <li><strong>Starting point</strong>: Begin with a page or event and see what visitors did next.</li> <li><strong>End point</strong>: Begin with a conversion goal and work backwards to see what led visitors there.</li> </ul> <p>For example, you can select a signup goal as the end point and see which pages and events visitors went through before reaching it.</p> <p><img src="/uploads/work-backwards-from-conversions.webp" alt="Working backwards from a conversion goal in Plausible User Journeys" title="Working backwards from a conversion goal in Plausible User Journeys"/></p> <p>In Plausible, <a href="https://plausible.io/docs/goal-conversions">goals</a> can be pageviews such as a thank-you page (codeless setup), custom events such as a signup button click, or optional measurements (plug-and-play) such as form submissions, outbound link clicks, file downloads.</p> <p>Each column shows one step in the path. Click any entry to keep exploring, and Plausible will load the next step. You can go up to 20 steps, and the conversion rate updates as you build the selected journey.</p> <p>You’ll also find grouped pages from the same directory to reduce noise. For example, individual blog posts might be grouped under <code class="language-plaintext highlighter-rouge">/blog</code>, and documentation pages under <code class="language-plaintext highlighter-rouge">/docs</code>. This makes it easier to see section-level patterns instead of getting lost in hundreds of individual URLs, while you can still do individual URL analysis if needed.</p> <p>Dashboard <a href="https://plausible.io/docs/filters-segments">filters</a> also apply to User Journeys. So you can narrow paths by:</p> <ul> <li>Traffic source</li> <li>Campaign</li> <li>Country</li> <li>Device</li> <li>Landing page</li> <li>Any other available dashboard dimension</li> </ul> <p>This helps you compare how different audiences move through your site. For example, you can check whether visitors from a paid campaign go from the landing page to signup, whether mobile visitors drop off earlier than desktop visitors, or whether visitors from a specific country take a different path through your docs or pricing pages.</p> <h2 id="ga4-path-exploration-vs-plausible-user-journeys">GA4 Path Exploration vs Plausible User Journeys</h2> <p>Google Analytics 4 has a Path Exploration report. It is powerful, but it lives inside GA4’s Explorations area (custom reporting), which means you need to configure dimensions, node types, segments and events before getting to the answer.</p> <p>That may be fine for data scientists. But for many website teams, it’s overly complicated and time-consuming.</p> <p>You’d usually even be <a href="https://www.orbitmedia.com/blog/inaccurate-google-analytics-traffic-sources/">missing about half your data</a> with Google Analytics, because its script is commonly blocked by ad blockers and majority of visitors decline consent banners.</p> <p>If you just want simple and effective answers to questions like:</p> <ul> <li>What did visitors do after viewing this page?</li> <li>What happened before this conversion?</li> <li>Where did people stop?</li> <li>Does this source or campaign follow a different path?</li> </ul> <p>then Plausible User Journeys is built into the same dashboard where you already analyze pages, sources, goals, funnels, devices and locations.</p> <h2 id="bringing-it-all-together">Bringing it all together</h2> <p>Journey analysis helps you move from isolated metrics to real behavior.</p> <p>You can still look at pageviews, sources, bounce rate, visit duration and goals. But when you add journeys, you see how those pieces connect.</p> <p>You can understand where visitors start, what they do next, what happens before conversions, and where they take no further action.</p> <p>If you want to explore the paths visitors take on your site, open the Explore tab in Plausible and try <a href="https://plausible.io/docs/user-journeys">User Journeys</a>.</p>]]></content><author><name>Hricha Shandily</name></author><summary type="html"><![CDATA[See how visitors move through your website, what they do before converting, and where they stop.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://plausible.io/uploads/website-user-journeys-exploration.png"/><media:content medium="image" url="https://plausible.io/uploads/website-user-journeys-exploration.png" xmlns:media="http://search.yahoo.com/mrss/"/></entry><entry><title type="html">How simplifying our homepage helped increase trial signups by 84%</title><link href="https://plausible.io/blog/homepage-edits-conversion-lift" rel="alternate" type="text/html" title="How simplifying our homepage helped increase trial signups by 84%"/><published>2026-05-12T09:00:00+00:00</published><updated>2026-05-12T09:00:00+00:00</updated><id>https://plausible.io/blog/homepage-edits-conversion-lift</id><content type="html" xml:base="https://plausible.io/blog/homepage-edits-conversion-lift"><![CDATA[<p>April 2026 was our best month ever. We added more new paying subscribers than in any other month in our seven-year history. For three months running, from February through April, we set new all-time records for both trial signups and new paying customers.</p> <p>We didn’t launch a new feature. We didn’t run any paid ads. We didn’t get a viral blog post or a lucky mention on Hacker News. What happened was much less dramatic than that. In late January, we spent a few days editing our homepage.</p> <p>We moved some sections around, cut some text and changed the button labels. We expected it to help a little but we didn’t expect it to have this kind of impact.</p> <p>Here’s what we changed and what the data showed.</p> <h2 id="what-was-wrong-with-our-homepage">What was wrong with our homepage</h2> <p>Our homepage had been roughly the same for a long time. It was working well enough. We were growing steadily with it. But when we looked at it with fresh eyes in January, we realized we were making visitors work too hard to understand what Plausible does.</p> <p>The homepage still matters a lot for us. From January through April, it was the biggest entry point for non-logged-in visitors, accounting for roughly 43% of entrances. So even small improvements there can affect a large part of the signup journey.</p> <p>The page opened with our hero section and a screenshot of the dashboard. That part was fine. But right after that, visitors landed on a wall of text. Six subsections of long-form prose about our features, our philosophy, our approach to team sharing and enterprise plans. Hundreds of words before you reached the scannable feature grid.</p> <p>The feature grid, the part where you can quickly see what <a href="https://plausible.io/">Plausible</a> actually does, was buried below all that text. Then came testimonials, then pricing.</p> <p>If you wanted to quickly figure out whether Plausible was worth trying, you had to scroll through an essay first. That’s not how people browse the web. People scan. They jump around and make snap judgments.</p> <p>We also looked at our call-to-action buttons. They said “Get started” and “Live demo.” Generic and vague.</p> <h2 id="the-changes-we-made">The changes we made</h2> <p>Most of the changes were live by the end of January, with a few smaller edits following in early February. You can see them all in <a href="https://github.com/plausible/website">our website repo</a>. None of them involved a designer, a new layout or any visual changes. The colors, fonts, images and components are the same as before.</p> <p>Here’s what we did:</p> <h3 id="flipped-the-page-structure">Flipped the page structure</h3> <p>This was the biggest change. We moved the feature grid up so it appears right after the hero section, before any long-form text.</p> <p>The old order was: hero, long prose (six sections), feature grid, testimonials, pricing.</p> <p>The new order is: hero, feature grid, testimonials, shorter prose (three sections), pricing.</p> <p><img src="/uploads/homepage-structure-before-after.png" alt="Old homepage order compared to new homepage order"/></p> <p>Now a visitor can scan our eight key features within seconds of scrolling down. No reading required to understand what we do.</p> <h3 id="changed-the-cta-wording">Changed the CTA wording</h3> <p>“Get started” became “Start free trial.” “Live demo” became “View live demo.”</p> <p>“Get started” is probably the most overused button label on the web. It tells you nothing about what happens when you click. Will it cost money? Is this a demo, a signup or a purchase? “Start free trial” answers the important part: this is a trial, not a commitment.</p> <p>It looked like a tiny copy change, but it changed what the button promised.</p> <h3 id="cut-the-prose-in-half">Cut the prose in half</h3> <p>The old page had six subsections of text: <a href="https://plausible.io/simple-web-analytics">simple analytics</a>, <a href="https://plausible.io/lightweight-web-analytics">lightweight script</a>, privacy and GDPR, goals and revenue tracking, team sharing and dashboard sharing, and a smooth transition from Google Analytics. Plus a paragraph about enterprise plans.</p> <p>We cut it down to three: simple analytics, lightweight script and <a href="https://plausible.io/privacy-focused-web-analytics">privacy</a>. These are our strongest differentiators and the things people care about most when evaluating Plausible as their <a href="https://plausible.io/vs-google-analytics">Google Analytics alternative</a>.</p> <p>We didn’t remove all the prose. Plausible is not just a list of features, and we still want the homepage to explain why we exist. Our philosophy around privacy, simplicity and independence is a big part of what has kept us differentiated in the analytics market.</p> <p>The change was not to hide that story. It was to stop making every visitor read it before they could quickly understand the product.</p> <p>The removed sections were either already covered by the feature grid above or only relevant to a small subset of visitors. Less text between understanding the product and seeing the pricing means fewer opportunities to lose people.</p> <h3 id="refreshed-the-testimonials">Refreshed the testimonials</h3> <p>Our testimonials section used to show a Twitter icon next to each person with their Twitter handle as the identifier. Twitter had changed, and the icon made the section feel dated.</p> <p>We removed the icon and replaced the handles with people’s real titles and companies. So “@dhh” became “Co-founder and CTO at 37signals” and “@JohnONolan” became “Founder and CEO at Ghost.” When someone scrolling through testimonials sees the company and role rather than a social handle, it’s immediately more credible and easier to relate to.</p> <p>We also added a new testimonial from Clem Delangue, co-founder and CEO at Hugging Face.</p> <h2 id="what-happened-next">What happened next</h2> <p>We didn’t run an A/B test, so this is not a clean experiment. We can’t prove that every part of the lift came from the homepage changes. But the timing, the size of the increase and the lack of a traffic spike made the change hard to ignore.</p> <p>Despite being the shortest month of the year and having fewer visitors than January, February set a new all-time record for trial signups. Then March broke that record. Then April broke it again.</p> <p>Looking only at non-logged-in visitors, trial signups increased 84% from January to April, while traffic increased by only about 2%.</p> <div style="overflow-x: auto;"> <table> <thead> <tr> <th>Month</th> <th>Trial signups</th> <th>Register page conversion</th> <th>Visitor-to-trial rate</th> </tr> </thead> <tbody> <tr> <td>January</td> <td>2,423</td> <td>38%</td> <td>2.65%</td> </tr> <tr> <td>February</td> <td>2,656</td> <td>48.8%</td> <td>3.09%</td> </tr> <tr> <td>March</td> <td>3,608</td> <td>52.8%</td> <td>3.64%</td> </tr> <tr> <td>April</td> <td>4,464</td> <td>57.3%</td> <td>4.80%</td> </tr> </tbody> </table> </div> <p>February, March and April were three consecutive all-time records for trial signups in Plausible’s history.</p> <p>The register page converted better too. More people who reached it completed a trial signup, and the broader visitor-to-trial rate rose from 2.65% in January to 4.80% in April.</p> <p>The more specific button wording may have helped here. “Start free trial” likely set clearer expectations before people clicked, so visitors who reached the register page were more likely to understand exactly what they were doing.</p> <p>The paid customer data followed with the usual delay from our 30-day trial. February was also a new record month for paying subscribers, though that month still included many people who had started trials before the homepage changes. March and April were the cleaner signal:</p> <ul> <li>February: 652 new paying subscribers</li> <li>March: 953</li> <li>April: 1,156</li> </ul> <p>By April, a much larger share of new paying customers had entered through the updated homepage experience.</p> <p>And this happened while churn stayed broadly stable. We weren’t just attracting more people, we were still attracting the right people.</p> <p>The revenue data told the same story. April was our best month ever for new MRR and new customers, while net new MRR was our third best month ever. This wasn’t existing customers expanding more than usual. The main change was that more new people started a trial and became paying customers.</p> <p>The website traffic and trial signup numbers are visible to anyone in our <a href="https://plausible.io/plausible.io">live demo</a>.</p> <h2 id="what-we-take-from-this">What we take from this</h2> <p>It reminds us of what we learned in the early days of Plausible. When we repositioned our homepage back in <a href="https://plausible.io/blog/blog-post-changed-my-startup">April 2020</a> to clearly explain what we do and how we compare to Google Analytics, that change in communication was what started our growth. The lesson then was the same as the lesson now: be obvious, be clear and don’t make people work to understand what you’re about.</p> <p>If you’re running a company and haven’t taken a fresh look at your homepage in a while, it might be worth spending a few days on it. Not necessarily a redesign. Just look at the order of information, the words on your buttons and whether there’s text that could be cut without losing anything meaningful.</p> <p>In hindsight, some of these changes feel obvious. But they weren’t obvious to us while we were deep in the product every day.</p> <p>Part of what happened is probably inevitable for any product that survives long enough. Over time, you accumulate communication debt.</p> <p>A new feature launches so you add a section about it. Enterprise customers ask questions so you add clarification copy. You enter a new market so you add messaging for a new audience. Each change makes sense in isolation.</p> <p>For us, that meant adding more detail about team sharing, dashboard sharing, goals, revenue tracking, enterprise plans and the transition from Google Analytics. All useful things to explain somewhere. But over time, the homepage became the place where too many of those explanations lived.</p> <p>After years of layering additions on top of additions, our homepage had slowly drifted away from its original purpose. It had become a collection of everything we wanted to say rather than the few things a visitor actually needed to understand.</p> <p>Our homepage had been “good enough” for years. It had helped us reach more than 15,000 paying subscribers, so it didn’t feel broken. Nothing on the page was individually wrong. Almost every section had been added for a good reason. But together they created friction.</p> <p>That’s probably true for a lot of mature products and companies. Complexity rarely arrives all at once. It accumulates a paragraph at a time.</p>]]></content><author><name>Marko Saric</name></author><summary type="html"><![CDATA[After simplifying our homepage, trial signups rose 84% while non-logged-in traffic increased by only 2%. Here's what we changed.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://plausible.io/uploads/homepage-edits-conversion-lift.png"/><media:content medium="image" url="https://plausible.io/uploads/homepage-edits-conversion-lift.png" xmlns:media="http://search.yahoo.com/mrss/"/></entry><entry><title type="html">The boring way to build a startup</title><link href="https://plausible.io/blog/ignore-startup-advice" rel="alternate" type="text/html" title="The boring way to build a startup"/><published>2026-04-29T09:59:41+00:00</published><updated>2026-04-29T09:59:41+00:00</updated><id>https://plausible.io/blog/ignore-startup-advice</id><content type="html" xml:base="https://plausible.io/blog/ignore-startup-advice"><![CDATA[<p>Most startup stories that get glorified are dramatic.</p> <p>“We almost ran out of money.” “We had to pivot.” “It nearly failed.”</p> <p>Ours didn’t really have moments like that. It was mostly a long stretch of building, talking to users, fixing things, and trying not to make decisions that would put us out of business.</p> <p>A lot of startup advice is about growing at all costs, raising money, setting ambitious targets, moving quickly and figuring things out later.</p> <p>It all sounds reasonable. It just didn’t feel like something we could follow without taking risks we couldn’t afford.</p> <p>So, we kept things simple: no bets we couldn’t afford to lose, no growth at all costs, no unrealistic targets.</p> <p>That ruled out a surprising number of “normal” startup decisions. It’s what kept us alive and thriving for seven years.</p> <ol id="markdown-toc"> <li><a href="#sustaining-the-startup-beats-breakout-growth" id="markdown-toc-sustaining-the-startup-beats-breakout-growth">Sustaining the startup beats breakout growth</a></li> <li><a href="#its-okay-to-stay-self-funded" id="markdown-toc-its-okay-to-stay-self-funded">It’s okay to stay self-funded</a></li> <li><a href="#its-okay-to-keep-things-small" id="markdown-toc-its-okay-to-keep-things-small">It’s okay to keep things small</a></li> <li><a href="#charging-from-day-one-simplified-things" id="markdown-toc-charging-from-day-one-simplified-things">Charging from day one simplified things</a></li> <li><a href="#organic-growth-beats-manufactured-growth" id="markdown-toc-organic-growth-beats-manufactured-growth">Organic growth beats manufactured growth</a></li> <li><a href="#its-slower-and-thats-the-trade-off" id="markdown-toc-its-slower-and-thats-the-trade-off">It’s slower, and that’s the trade-off</a></li> <li><a href="#most-of-it-is-just-the-boring-work" id="markdown-toc-most-of-it-is-just-the-boring-work">Most of it is just the “boring” work</a></li> <li><a href="#seven-years-later-it-adds-up" id="markdown-toc-seven-years-later-it-adds-up">Seven years later, it adds up</a></li> <li><a href="#you-dont-need-to-chase-the-dramatic-story" id="markdown-toc-you-dont-need-to-chase-the-dramatic-story">You don’t need to chase the dramatic story</a></li> </ol> <h2 id="sustaining-the-startup-beats-breakout-growth">Sustaining the startup beats breakout growth</h2> <p>A lot of startup advice pushes you to take bigger risks, faster moves, higher stakes. That works sometimes. But if your goal is to still be around in a few years, avoiding certain situations helps.</p> <p>We avoided bets where the downside was losing the company. We didn’t spend money we didn’t have. We didn’t set targets that forced us into risky decisions just to hit them.</p> <p>Instead, we started out with our own pocket money, built something people would find useful, let them use the tool, provide feedback, stick around and bring more people.</p> <p>The focus was on the things that would help the business survive.</p> <h2 id="its-okay-to-stay-self-funded">It’s okay to stay self-funded</h2> <p>It’s okay to self-fund if you can, and if the nature of your business allows it. We’re 100% user-supported to this day and a good breakdown of <a href="https://plausible.io/blog/customers-not-investors">how we did that is here</a>.</p> <p>We have deliberately turned down hundreds of investing offers. Staying self-supported forced us to not postpone figuring out how the business works. There was no runway to fall back on, no buffer to absorb bad decisions.</p> <p>If something didn’t work, we felt it immediately.</p> <p>That forces a certain kind of clarity. You don’t build features “just in case.” You don’t chase ideas that might pay off later. You focus on what works now and improve from there. That makes you keep things simple, even if you don’t realize it while it’s happening.</p> <p>It also removes a layer of pressure.</p> <p>We didn’t have to grow at a specific pace or work toward a predefined outcome. We just had to make something people would pay for and keep using.</p> <p>That decision simplifies a lot of things. If customers are the ones funding the business, the product has to be useful. There’s no fallback.</p> <p>That kind of independence is hard to give up.</p> <p>Being <a href="https://plausible.io/open-source-website-analytics">open source</a> is part of what makes it credible. The code is public. People can see exactly what the product does with their data. You don’t have to take our word for it.</p> <h2 id="its-okay-to-keep-things-small">It’s okay to keep things small</h2> <p>We’re still a core team of 10 folks. We didn’t hire fast. We didn’t build a big team to feel like we’re growing while the real metrics (like profit, number of users, goodwill, etc.) would reflect otherwise. </p> <p>We didn’t take on costs assuming future growth would cover them. Partly because we couldn’t. Partly because we didn’t want to. </p> <p>That constraint ended up being useful.</p> <p>When you don’t have much room, you focus on what actually matters. You cut scope more aggressively. You don’t add complexity unless you really need it. You ship smaller improvements instead of big, risky changes.</p> <p>It also changes how you think about risk.</p> <p>When it’s your own business, not a runway from investors, big bets feel different. You start avoiding the kind of decisions that could wipe you out.</p> <p>So instead of trying to jump ahead, we just kept things manageable and kept going.</p> <h2 id="charging-from-day-one-simplified-things">Charging from day one simplified things</h2> <p>We chose a subscription model from the start.</p> <p>In a market where most people default to Google Analytics 4, that’s not the obvious move, scary even. But it simplified things for us.</p> <p>We’re not trying to match every feature or collect as much data as possible. We’re not trying to lock people in.</p> <p>If someone is paying, the product has to make sense quickly. There’s no room for confusion or unnecessary complexity.</p> <p>So we kept it simple. Focused on the core use case. Avoided building features we didn’t really believe in.</p> <p>We just built <a href="https://plausible.io/simple-web-analytics">something simpler</a>. Something you can understand quickly. And something that respects user privacy by default.</p> <p>Over time, it became clear <a href="https://plausible.io/paid-analytics-vs-free-ga">why someone would pay for a simpler, privacy-friendly alternative</a> instead of sticking with free.</p> <p>We also didn’t need a second business model. No ads, no selling data, no trade-offs hidden behind “free.”</p> <p>Just a product people pay for because it’s useful.</p> <h2 id="organic-growth-beats-manufactured-growth">Organic growth beats manufactured growth</h2> <p>We didn’t run ads. We didn’t build aggressive funnels. We didn’t define a narrow Ideal Customer Profile and optimize everything around it.</p> <p>We also avoided a lot of the usual tactics that come with that approach.</p> <p>No retargeting. No tracking people across the web. No popups or intrusive calls to action. No email sequences trying to “nurture” people into paying. No sales calls.</p> <p>That wasn’t some grand strategy. It just didn’t feel like how we wanted to build. <a href="https://plausible.io/blog/startup-marketing">Most of our growth came despite not doing these things</a>.</p> <p>Instead, people found us through content, trying the product, and telling others.</p> <p>That’s it.</p> <p>It’s slower. There’s no obvious spike you can point to.</p> <p>It took us 324 days to reach the first $400 MRR. Took us 3 years to make $1M ARR. And another 3 to multiply it several times over. And we were profitable within the first few years.</p> <p>But it’s simpler, it sticks, and the compounding tends to outlast anything you could manufacture.</p> <h2 id="its-slower-and-thats-the-trade-off">It’s slower, and that’s the trade-off</h2> <p>This approach isn’t faster.</p> <p>You grow more slowly. You get less attention. There are long stretches where it feels like not much is happening, especially when other companies are moving quicker.</p> <p>We felt that too.</p> <p>But the upside is you don’t have to make decisions just to keep up. You don’t have to take risks that don’t make sense for your situation.</p> <p>You just keep going.</p> <p>Tortoise does beat the hare.</p> <h2 id="most-of-it-is-just-the-boring-work">Most of it is just the “boring” work</h2> <p>There’s this idea that building a startup is a series of intense, high-stakes moments. In our case, it might not be as true. Most weeks look the same:</p> <p>Work on the product. Work on the communication. Fix something that’s broken or confusing. Talk to users. Ship an improvement.</p> <p>Do that again next week.</p> <p>It’s not exciting. It doesn’t give you that “we’re onto something big” feeling all the time. But it keeps things moving and sometimes gives <a href="https://plausible.io/blog/homepage-edits-conversion-lift">great results</a> too.</p> <h2 id="seven-years-later-it-adds-up">Seven years later, it adds up</h2> <p>Seven years is a long time to keep doing something. That’s probably the real outlier.</p> <p>Not a big pivot or a lucky break. Just continuing long enough for the small things to compound.</p> <p>We’re still here. We’re profitable. We’re independent.</p> <p>No big moment got us here. It was just consistency and not making decisions we’d regret later.</p> <p>And we still enjoy working on it.</p> <h2 id="you-dont-need-to-chase-the-dramatic-story">You don’t need to chase the dramatic story</h2> <p>This isn’t the only way to do things.</p> <p>Some companies raise money, move fast, take big risks, and build something huge. That works for some. This is what worked for us.</p> <p>Build something useful. Charge for it. Keep your costs under control. Improve it steadily.</p> <p>Give it time.</p> <p>It won’t make for the most glamorous story. But you might still be here in seven years.</p> <p>Survival matters more than it gets credit for. Profitability gives you options. Independence keeps things simpler. And if you still enjoy the work after a few years, that’s a very underrated win.</p>]]></content><author><name>Hricha Shandily</name></author><summary type="html"><![CDATA[Seven years in, Plausible is profitable, independent, and still here. How we built it by staying self-funded, keeping things small, and ignoring most of the standard startup playbook.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://plausible.io/uploads/plausible-analytics-signups-organic-growth.webp"/><media:content medium="image" url="https://plausible.io/uploads/plausible-analytics-signups-organic-growth.webp" xmlns:media="http://search.yahoo.com/mrss/"/></entry><entry><title type="html">How to manage Plausible Analytics across multiple client sites with Google Tag Manager</title><link href="https://plausible.io/blog/gtm-multi-site-analytics-management" rel="alternate" type="text/html" title="How to manage Plausible Analytics across multiple client sites with Google Tag Manager"/><published>2026-04-27T09:00:00+00:00</published><updated>2026-04-27T09:00:00+00:00</updated><id>https://plausible.io/blog/gtm-multi-site-analytics-management</id><content type="html" xml:base="https://plausible.io/blog/gtm-multi-site-analytics-management"><![CDATA[<p>If you manage analytics for more than one site, you already know the frustration. Every time a client switches themes or their developer updates the codebase, the analytics snippet breaks. Every new tracking requirement means a code change, a developer ticket, a waiting period, and another round of testing.</p> <p>Google Tag Manager was designed to solve exactly that. You deploy one GTM container snippet and manage everything else from a dashboard, without touching source code. For agencies and freelancers who manage several client sites, it changes the entire workflow.</p> <p>Plausible has an official template in the GTM gallery. Here’s how to use it to manage privacy-friendly analytics across multiple sites without depending on clients’ developers.</p> <ol id="markdown-toc"> <li><a href="#why-gtm-makes-sense-for-multi-site-management" id="markdown-toc-why-gtm-makes-sense-for-multi-site-management">Why GTM makes sense for multi-site management</a></li> <li><a href="#the-official-plausible-gtm-template" id="markdown-toc-the-official-plausible-gtm-template">The official Plausible GTM template</a></li> <li><a href="#setting-up-the-template-for-a-client-site" id="markdown-toc-setting-up-the-template-for-a-client-site">Setting up the template for a client site</a> <ol> <li><a href="#step-1-create-a-gtm-container-for-the-client" id="markdown-toc-step-1-create-a-gtm-container-for-the-client">Step 1: Create a GTM container for the client</a></li> <li><a href="#step-2-add-the-plausible-template-to-the-container" id="markdown-toc-step-2-add-the-plausible-template-to-the-container">Step 2: Add the Plausible template to the container</a></li> <li><a href="#step-3-create-the-initialization-tag" id="markdown-toc-step-3-create-the-initialization-tag">Step 3: Create the Initialization tag</a></li> <li><a href="#step-4-enable-enhanced-measurements" id="markdown-toc-step-4-enable-enhanced-measurements">Step 4: Enable enhanced measurements</a></li> <li><a href="#step-5-add-custom-event-tracking-for-anything-else" id="markdown-toc-step-5-add-custom-event-tracking-for-anything-else">Step 5: Add custom event tracking for anything else</a></li> </ol> </li> <li><a href="#managing-multiple-containers-efficiently" id="markdown-toc-managing-multiple-containers-efficiently">Managing multiple containers efficiently</a></li> <li><a href="#keeping-analytics-off-when-you-need-to" id="markdown-toc-keeping-analytics-off-when-you-need-to">Keeping analytics off when you need to</a></li> <li><a href="#what-gtm-cant-do" id="markdown-toc-what-gtm-cant-do">What GTM can’t do</a></li> <li><a href="#taking-it-further-with-data-studio" id="markdown-toc-taking-it-further-with-data-studio">Taking it further with Data Studio</a></li> <li><a href="#get-started" id="markdown-toc-get-started">Get started</a></li> </ol> <h2 id="why-gtm-makes-sense-for-multi-site-management">Why GTM makes sense for multi-site management</h2> <p>The direct Plausible script is the simplest setup for a single site you control. But when you’re managing analytics for five or ten client sites, “simplest setup” means something different. It means:</p> <ul> <li>No deployment dependency. You can update tracking without a code change.</li> <li>Consistent configuration. Every site gets the same event tracking structure.</li> <li>Faster onboarding. A new client gets analytics live in minutes once GTM is on their site.</li> <li>One place to audit. You can check what’s firing on any site from your GTM account.</li> </ul> <p>The tradeoff is that GTM has to be on the site in the first place. For most clients, that’s already true. If it isn’t, getting a single GTM snippet added is a one-time request that unlocks everything else forever.</p> <h2 id="the-official-plausible-gtm-template">The official Plausible GTM template</h2> <p>Plausible has a template in the Google Tag Manager community gallery. It’s built and maintained by the Plausible team, which means it tracks what’s in the product, works with current script configurations, and won’t silently break when the Plausible API changes.</p> <p>You can find it in the <a href="https://tagmanager.google.com/gallery/#/owners/plausible/templates/plausible-gtm-template">GTM template gallery</a> or search for “Plausible Analytics” directly from the Templates section of your GTM account.</p> <p>Unlike GA4’s approach, Plausible’s GTM template involves zero configuration for privacy compliance. No consent mode settings, no cookie configuration, no data retention toggles. Plausible doesn’t collect personal data or use cookies, so there’s nothing to configure. You add it, it works, and your clients don’t need a cookie banner for it.</p> <h2 id="setting-up-the-template-for-a-client-site">Setting up the template for a client site</h2> <p>The setup is the same for every site. Once you’ve done it once, it takes about five minutes per new client.</p> <h3 id="step-1-create-a-gtm-container-for-the-client">Step 1: Create a GTM container for the client</h3> <p>Give each client their own GTM container. This keeps configurations separate, makes auditing clean, and means a change for one client can’t affect another.</p> <h3 id="step-2-add-the-plausible-template-to-the-container">Step 2: Add the Plausible template to the container</h3> <p>In the client’s GTM container, go to Templates, click Search Gallery, and search for “Plausible Analytics.” Add it to the workspace.</p> <h3 id="step-3-create-the-initialization-tag">Step 3: Create the Initialization tag</h3> <p>Create a new tag using the Plausible Analytics template. Select Initialization as the type.</p> <p>You’ll need the Plausible Script ID for the client’s site. You can find this in Plausible under Site Settings &gt; General &gt; Site Installation &gt; Tag Manager. Paste it in, then scroll down to the Triggering section and select “All Pages” with “Page View” as the trigger type.</p> <p>Before publishing, use GTM’s Preview mode to confirm the Plausible tag fires correctly. Once verified, publish the container. That’s everything required for basic pageview tracking. The client’s site now sends data to their Plausible dashboard.</p> <h3 id="step-4-enable-enhanced-measurements">Step 4: Enable enhanced measurements</h3> <p>The Initialization tag has built-in checkboxes for the most common tracking needs. No triggers, no custom configuration required. Just check the boxes for what you want to track:</p> <ul> <li><strong>Outbound link clicks</strong>: track clicks leaving the client’s site</li> <li><strong>File downloads</strong>: track PDF, image and other file downloads automatically</li> <li><strong>Form submissions</strong>: track form completions across the site</li> <li><strong>404 error pages</strong>: catch broken links and missing pages</li> </ul> <p>Check what applies, save, and those measurements are live.</p> <h3 id="step-5-add-custom-event-tracking-for-anything-else">Step 5: Add custom event tracking for anything else</h3> <p>For interactions specific to a client’s site (a particular button, a pricing page CTA, a video player), you can use the Custom Event tag type without touching any code.</p> <ol> <li>Create a trigger in GTM that fires on the interaction (a click matching a CSS selector, URL, or element text)</li> <li>Create a Plausible Custom Event tag attached to that trigger</li> <li>Name the event, verify in Preview mode, and publish</li> </ol> <p>The event shows up in the client’s Plausible dashboard under Goals once you’ve set up the matching goal in Plausible settings.</p> <h2 id="managing-multiple-containers-efficiently">Managing multiple containers efficiently</h2> <p>Once you have the pattern established, a few GTM practices keep multi-site management clean.</p> <p><strong>Use consistent naming for custom events.</strong> Outbound links, form submissions and file downloads are named automatically by the template. For any custom events you create yourself, use the same naming pattern across all clients: <code class="language-plaintext highlighter-rouge">Signup Click</code>, <code class="language-plaintext highlighter-rouge">Demo Request</code>, <code class="language-plaintext highlighter-rouge">Video Play</code>. This makes it easy to recognise configurations when you switch between containers.</p> <p><strong>Use GTM variables for site-specific values.</strong> If you have event names or properties that vary per site, store them as GTM variables rather than hardcoding them in each tag. Easier to update, less room for error.</p> <p><strong>Use workspaces for changes.</strong> GTM workspaces let you draft changes separately from the live container. Test in preview mode before publishing to make sure events fire correctly.</p> <p><strong>Document the trigger logic.</strong> Add notes to GTM tags explaining what they’re tracking and why. The GTM dashboard is a shared space, and client developers sometimes have access.</p> <h2 id="keeping-analytics-off-when-you-need-to">Keeping analytics off when you need to</h2> <p>The Initialization tag has two options that are useful during development and testing:</p> <ul> <li><strong>Capture on Localhost</strong>: unchecked by default. Leave it off during local development so test traffic never reaches the client’s Plausible dashboard.</li> <li><strong>Auto Capture Pageviews</strong>: if unchecked, the Plausible script loads but sends no pageviews automatically. Useful for staging environments where you want the script present but not actively tracking.</li> </ul> <p>For your own traffic, Plausible ignores it automatically once you <a href="https://plausible.io/docs/excluding">add the exclusion setting</a> to your browser. You can also pause or unpublish tags in GTM entirely without removing them, which is useful when auditing a staging environment.</p> <h2 id="what-gtm-cant-do">What GTM can’t do</h2> <p>GTM is powerful but it’s not universal. Some tracking requires server-side instrumentation: revenue data from payment processors, backend conversion events, authenticated user actions. For those, you’d use Plausible’s <a href="https://plausible.io/docs/events-api">server-side events API</a> rather than the GTM template.</p> <p>For everything that happens in the browser, including most of what agencies track for clients, GTM handles it cleanly.</p> <h2 id="taking-it-further-with-data-studio">Taking it further with Data Studio</h2> <p>Once your client sites are tracking reliably through GTM, the next question is often reporting. Plausible’s own dashboard is clean and easy to share, but some clients want custom layouts, branded reports or views that combine analytics with their ad spend.</p> <p>The official <a href="https://plausible.io/looker-studio-connector">Plausible Data Studio connector</a> connects directly to your Plausible data. Build once, share a live link with the client, and it updates automatically. It’s available on the Business plan and works with any Plausible site, regardless of how it was installed.</p> <h2 id="get-started">Get started</h2> <p>The Plausible GTM template is in the <a href="https://tagmanager.google.com/gallery/#/owners/plausible/templates/plausible-gtm-template">Google Tag Manager gallery</a>. The <a href="https://plausible.io/gtm-template">full setup guide</a> covers initialization, custom events, and advanced configuration options.</p> <p>If your clients are on WordPress, the <a href="https://plausible.io/wordpress-analytics-plugin">official WordPress plugin</a> is an alternative to GTM that handles everything natively within WordPress, including WooCommerce revenue tracking, author and category stats and automatic form tracking.</p>]]></content><author><name>Marko Saric</name></author><summary type="html"><![CDATA[One GTM account, many client sites, no code deployments. Here's how agencies and freelancers use the official Plausible GTM template to deploy and manage analytics at scale.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://plausible.io/uploads/plausible-gtm-setup.png"/><media:content medium="image" url="https://plausible.io/uploads/plausible-gtm-setup.png" xmlns:media="http://search.yahoo.com/mrss/"/></entry><entry><title type="html">Attribution Modeling: What it is and How to do it with Plausible Analytics</title><link href="https://plausible.io/blog/attribution-modeling" rel="alternate" type="text/html" title="Attribution Modeling: What it is and How to do it with Plausible Analytics"/><published>2026-03-05T11:38:13+00:00</published><updated>2026-03-05T11:38:13+00:00</updated><id>https://plausible.io/blog/attribution-modeling</id><content type="html" xml:base="https://plausible.io/blog/attribution-modeling"><![CDATA[<p>Attribution modeling is how marketing teams decide where growth really comes from. In other words, it’s about attributing the touchpoints (specific channels, campaigns, ads, etc.) that led someone to take a desired action (like purchase, sign up, etc.) in your business.</p> <p>There are multiple ways of doing this, i.e., various models for assigning weightage to different touchpoints and it depends on how deep you want to go into this analysis and what suits your business.</p> <p>But eventually, it’s about key business questions and informing marketing, sales, product, finance teams, etc., about budget decisions, campaign strategy, and even product direction.</p> <ol id="markdown-toc"> <li><a href="#what-is-attribution-modeling-in-marketing" id="markdown-toc-what-is-attribution-modeling-in-marketing">What is attribution modeling in marketing?</a> <ol> <li><a href="#different-attribution-models" id="markdown-toc-different-attribution-models">Different Attribution models</a> <ol> <li><a href="#single-touch" id="markdown-toc-single-touch">Single-touch</a></li> <li><a href="#multi-touch" id="markdown-toc-multi-touch">Multi-touch</a></li> </ol> </li> </ol> </li> <li><a href="#why-is-traditional-attribution-becoming-less-reliable" id="markdown-toc-why-is-traditional-attribution-becoming-less-reliable">Why is traditional attribution becoming less reliable?</a> <ol> <li><a href="#clarity-about-what-you-can-and-cannot-measure" id="markdown-toc-clarity-about-what-you-can-and-cannot-measure">Clarity about what you can and cannot measure</a></li> <li><a href="#choosing-an-attribution-model-based-on-business-size-and-complexity" id="markdown-toc-choosing-an-attribution-model-based-on-business-size-and-complexity">Choosing an attribution model based on business size and complexity</a></li> </ol> </li> <li><a href="#what-is-plausible-analytics-and-how-to-use-it-for-marketing-attribution" id="markdown-toc-what-is-plausible-analytics-and-how-to-use-it-for-marketing-attribution">What is Plausible Analytics and how to use it for marketing attribution?</a> <ol> <li><a href="#how-plausible-collects-and-presents-data" id="markdown-toc-how-plausible-collects-and-presents-data">How Plausible collects and presents data</a></li> </ol> </li> <li><a href="#how-to-do-attribution-modeling-in-plausible" id="markdown-toc-how-to-do-attribution-modeling-in-plausible">How to do attribution modeling in Plausible?</a> <ol> <li><a href="#1-start-with-clear-conversion-goals" id="markdown-toc-1-start-with-clear-conversion-goals">1. Start with clear conversion goals</a></li> <li><a href="#2-use-the-sources-tab-for-last-touch-attribution" id="markdown-toc-2-use-the-sources-tab-for-last-touch-attribution">2. Use the Sources tab for last-touch attribution</a></li> <li><a href="#3-use-entry-pages-to-approximate-first-touch-attribution" id="markdown-toc-3-use-entry-pages-to-approximate-first-touch-attribution">3. Use Entry pages to approximate first-touch attribution</a></li> <li><a href="#4-utm-parameters-for-campaign-level-attribution" id="markdown-toc-4-utm-parameters-for-campaign-level-attribution">4. UTM parameters for campaign-level attribution</a></li> <li><a href="#5-use-funnels-to-understand-progression" id="markdown-toc-5-use-funnels-to-understand-progression">5. Use funnels to understand progression</a></li> </ol> </li> <li><a href="#bringing-it-all-together" id="markdown-toc-bringing-it-all-together">Bringing it all together</a></li> </ol> <h2 id="what-is-attribution-modeling-in-marketing">What is attribution modeling in marketing?</h2> <p>Attribution modeling is simply assigning credit to different interactions (touchpoints) in a buyer’s journey that lead to a desired outcome, like a signup, demo request, or purchase. For eg., did a blog post lead to awareness? Did an ad campaign nudge more people to convert? Or was it a good old email newsletter that sealed the deal?</p> <h3 id="different-attribution-models">Different Attribution models</h3> <p>There are largely two models:</p> <h4 id="single-touch">Single-touch</h4> <ul> <li><strong>First-touch:</strong> All credit goes to the first interaction in the buyer’s journey that introduced someone to your offering/brand. It is usually useful for understanding high-level awareness drivers. Like, ads or social media content that get people to discover you).</li> <li><strong>Last-touch (last-click):</strong> All credit goes to the interaction right before conversion. Useful for understanding what closed the deal. Like, somebody visiting the product page on your ecommerce store directly for purchasing.</li> </ul> <h4 id="multi-touch">Multi-touch</h4> <p>Credit is shared across multiple interactions. This can be evenly shared, weighted by position, or determined by a more data-driven algorithm. There are several sub-models in this type.</p> <p>Each model has a purpose and a context where it’s most relevant. Which one a business uses depends on what questions they want answered.</p> <p>But eventually, the goal is to answer relevant business questions like where to allocate budget, which campaign to stop, which to keep running, etc.</p> <h2 id="why-is-traditional-attribution-becoming-less-reliable">Why is traditional attribution becoming less reliable?</h2> <p>For years, attribution models relied heavily on tracking individual users across websites, sessions, and devices. The model has been that if you could follow a person’s path closely enough, you could assign credit with precision.</p> <p>But <a href="https://plausible.io/blog/chrome-third-party-cookies">third-party cookies have been restricted</a> or eliminated by most browsers. Even user-level tracking breaks at many points due to reasons like rejected consent banners, ad blockers blocking non-privacy-respecting scripts like GA’s. As a result:</p> <ul> <li>Not every visit can be stitched to previous sessions</li> <li>Returning users may appear as new</li> <li>Cross-site journeys break</li> <li>Data gaps increase</li> </ul> <p>Many attribution systems now rely on modeled estimates to fill those gaps rather than direct observation. The numbers might look precise, but they are partially reconstructed almost always.</p> <h3 id="clarity-about-what-you-can-and-cannot-measure">Clarity about what you can and cannot measure</h3> <p>No tool can fully reconstruct every touchpoint in a modern buyer journey.</p> <p>Cross-device behavior, private browsing, internal link sharing, offline conversations, and dark social, all do create blind spots.</p> <p>For many teams, especially smaller B2B or SaaS companies, the question is not “Can we track everything?” but:</p> <p>“Can we understand which channels and campaigns are influencing results at a reliable level?”</p> <h3 id="choosing-an-attribution-model-based-on-business-size-and-complexity">Choosing an attribution model based on business size and complexity</h3> <p>More advanced attribution systems make sense when:</p> <ul> <li>You have large paid media budgets</li> <li>You operate across too many channels</li> <li>You need account-level or multi-touch revenue modeling</li> <li>You have the data infrastructure to support it</li> </ul> <p>For other teams who do not operate at that scale, a simpler attribution framework that focuses on:</p> <ul> <li>First-touch signals</li> <li>Last-touch performance</li> <li>Campaign-level analysis</li> <li>Funnel progression</li> </ul> <p>…is more than often enough to guide strategy and overall direction.</p> <h2 id="what-is-plausible-analytics-and-how-to-use-it-for-marketing-attribution">What is Plausible Analytics and how to use it for marketing attribution?</h2> <p>Plausible Analytics (we) is a <a href="https://plausible.io/lightweight-web-analytics">lightweight</a>, <a href="https://plausible.io/privacy-focused-web-analytics">privacy-friendly</a> web analytics tool designed to show how people find and interact with your website. It’s also a much <a href="https://plausible.io/simple-web-analytics">simpler alternative</a> to Google Analytics.</p> <p>Since we’re privacy-first, most privacy-friendly browsers and adblockers don’t block our script, which is why our stats are much more <a href="https://plausible.io/most-accurate-web-analytics">accurate</a> than other tracking tools.</p> <p>This also means <strong>we</strong> <strong>don’t need to rely on modeled data</strong>, nor try to reconstruct complex user journeys. Everything you see on the dashboard is 100% real data. </p> <h3 id="how-plausible-collects-and-presents-data">How Plausible collects and presents data</h3> <p>Plausible <a href="https://plausible.io/data-policy">does not use cookies</a> or persistent identifiers. It does not track users across devices or build behavioral profiles. We track website level data and aggregated analytics only. </p> <p>Take a look at our <strong><a href="https://plausible.io/plausible.io">live demo</a></strong> but here’s an overview of the main data you can see in the dashboard:</p> <ul> <li>Unique visits, bounce rate, scroll depth, and other engagement signals</li> <li>Traffic sources and referrers</li> <li>UTM campaign parameters</li> <li>Top, Entry and Exit pages</li> <li>Goal conversions</li> <li>Location and device information</li> <li>Custom properties (aka custom dimensions)</li> </ul> <p>All of this is presented in a clean dashboard without heavy modeling.</p> <h2 id="how-to-do-attribution-modeling-in-plausible">How to do attribution modeling in Plausible?</h2> <p>Even without user-level tracking, you can apply several practical attribution models using Plausible’s existing reports. The key is understanding how to interpret the data provided.</p> <p>Below is a simple framework you can apply right away.</p> <h3 id="1-start-with-clear-conversion-goals">1. Start with clear conversion goals</h3> <p>Attribution only works if you define <em>what</em> you’re attributing. In Plausible, set up <a href="https://plausible.io/docs/goal-conversions">goals</a> for meaningful actions such as:</p> <ul> <li>Demo requests</li> <li>Contact form submissions</li> <li>Signups</li> <li>Purchases</li> <li>Trial activationsetc.</li> </ul> <p>Once goals are defined, every report can be filtered by conversions. This turns traffic data into attribution data.</p> <h3 id="2-use-the-sources-tab-for-last-touch-attribution">2. Use the Sources tab for last-touch attribution</h3> <p>Effectively, Plausible gives you a last-touch view by default since the analytics are sessions based.</p> <p>You can <a href="https://plausible.io/docs/filters-segments">filter by any goal</a> in the dashboard for any time period. </p> <p>Tip: You can also filter your dashboard by specific regions or devices/browsers to add context to your analysis.</p> <p>The Sources section is your most essential area for attribution.</p> <p><img src="/uploads/channels.png" alt="last-touch-attribution-in-plausible-analytics" title="last-touch-attribution-in-plausible-analytics"/></p> <p>Here you can analyze:</p> <ul> <li>Which <a href="https://plausible.io/docs/top-referrers#channels">channels</a> drive the most conversions</li> <li>Conversion rate by <a href="https://plausible.io/docs/top-referrers#sources">source</a></li> <li>Campaign performance</li> <li>Referral contributions</li> </ul> <p>This tells you which channels are capturing new interest and driving immediate action. Use this to answer:</p> <ul> <li>Which acquisition channels deserve more budget?</li> <li>Which campaigns are converting efficiently?</li> <li>Where are we seeing high-intent traffic?</li> </ul> <p>How to use this info:</p> <ul> <li>Increase budget where conversion rates are strong</li> <li>Optimize or pause campaigns with traffic but no outcomes</li> <li>Identify high-intent channels that deserve more focus</li> </ul> <p>This is especially useful for paid campaigns, email, and bottom-of-funnel activity.</p> <h3 id="3-use-entry-pages-to-approximate-first-touch-attribution">3. Use Entry pages to approximate first-touch attribution</h3> <p>To understand what creates demand, look at your Entry pages report, while still having the dashboard filtered by the goal in question. </p> <p>Entry pages show where sessions begin. When you filter by conversions, you can see which landing pages tend to start journeys that result in goal completions.</p> <p><img src="/uploads/first-touch-attribution-in-plausible-analytics.png" alt="first-touch-attribution-in-plausible-analytics" title="first-touch-attribution-in-plausible-analytics"/></p> <p>This is your practical first-touch view as you’ll discover:</p> <ul> <li>Which blog posts introduce converting users</li> <li>Which feature pages attract high-intent visitors</li> <li>Which content pieces generate qualified traffic</li> <li>Which landing pages (esp. if they’re from an ad/marketing campaign) converted</li> </ul> <p>How this informs decisions:</p> <ul> <li>Double down on high-performing content topics</li> <li>Improve internal linking from strong entry pages</li> <li>Refine messaging on pages that attract traffic but don’t lead to action</li> </ul> <p>This is particularly valuable for SEO, content marketing, and awareness campaigns.</p> <p>P.S. <a href="https://plausible.io/blog/analyzing-landing-pages">Bonus read</a>: How to analyze top landing pages and exit pages on your website?</p> <h3 id="4-utm-parameters-for-campaign-level-attribution">4. UTM parameters for campaign-level attribution</h3> <p><a href="https://plausible.io/blog/utm-tracking-tags">UTM tagging</a> is critical for clean campaign attribution. You can standardize parameters such as <em>utm_source, utm_medium, utm_campaign</em>. Use the <a href="https://plausible.io/utm-builder">UTM builder</a> to generate correctly formatted links, or the <a href="https://plausible.io/utm-checker">UTM checker</a> to validate and clean existing ones.</p> <p>When links are consistently tagged, Plausible lets you break down conversions by campaign.</p> <p>For this, keep your dashboard filtered by the goal in question, go to: <a href="https://plausible.io/docs/top-referrers#campaigns">Campaigns tab</a> dropdown → Select from UTM mediums, sources, campaigns, contents, or terms, depending upon the depth/purpose of your analysis.</p> <p>Now you can compare:</p> <ul> <li>Paid ad variations</li> <li>Email sequences</li> <li>Partnership traffic</li> <li>Influencer campaigns</li> </ul> <p>…among absolutely anything you want to track using UTMs.</p> <p>How this informs decisions:</p> <ul> <li>Scale winning campaigns</li> <li>Reallocate budget from underperformers</li> <li>Test variations with clearer performance benchmarks</li> </ul> <p>This layer is often the most actionable because it directly informs where marketing spend should increase or decrease.</p> <h3 id="5-use-funnels-to-understand-progression">5. Use funnels to understand progression</h3> <p>Plausible does not reconstruct multi-session journeys, but you can build <a href="https://plausible.io/blog/funnels-conversion-optimization">funnels</a> by stitching together goals to understand if and how many visitors are moving between key steps, what and where the dropoffs are, etc. </p> <p>For open-ended path analysis, you can also use <a href="https://plausible.io/docs/user-journeys">User Journeys</a> to see what visitors did before or after a conversion. We explain the strategy and examples in our guide to <a href="https://plausible.io/blog/website-journey-analytics">website journey analytics</a>.</p> <p>Here are some funnel examples:</p> <ul> <li>Blog post → Pricing page → Signup</li> <li>Landing page → Demo request</li> <li>Feature page → Contact form</li> </ul> <p>Then segment funnels by source or campaign.</p> <p>This helps you identify:</p> <ul> <li>Which channels drive deeper engagement</li> <li>Where drop-offs happen</li> <li>Which paths convert at higher rates</li> </ul> <p>What to do with this info?</p> <ul> <li>Improve underperforming steps in the funnel</li> <li>Adjust landing page messaging</li> <li>Focus acquisition on sources that drive deeper progression</li> </ul> <p>This also adds behavioral context to your source-level attribution.</p> <p>Taken together, this gives you:</p> <ul> <li>A demand capture view through sources</li> <li>A demand creation view through entry pages</li> <li>A campaign optimization layer through UTMs</li> <li>A behavioral layer through funnels</li> </ul> <p>Without needing user-level tracking or complex multi-touch modeling.</p> <p>For teams that require deeper modeling, Plausible data can be exported and layered into broader analytics systems, making it a clean acquisition-level input rather than a closed environment. Check out our <a href="https://plausible.io/docs/stats-api">APIs</a>, <a href="https://plausible.io/docs/export-stats">export options</a>, and <a href="https://plausible.io/docs/looker-studio">Data Studio Connector</a> for this purpose.</p> <h2 id="bringing-it-all-together">Bringing it all together</h2> <p>Attribution modeling does not have to be complicated to be useful. Many teams make meaningful decisions about budget allocation, content strategy, paid campaigns, and website optimization using the framework given above.</p> <p>New here? Learn more <a href="https://plausible.io/">about us</a>. And <strong><a href="https://plausible.io/register">start your free trial here</a></strong> (no CC needed).</p>]]></content><author><name>Hricha Shandily</name></author><summary type="html"><![CDATA[Learn what attribution modeling is and how to apply it using Plausible Analytics. A practical guide to first-touch, last-touch, campaign and funnel attribution.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://plausible.io/uploads/attribution-modeling.png"/><media:content medium="image" url="https://plausible.io/uploads/attribution-modeling.png" xmlns:media="http://search.yahoo.com/mrss/"/></entry></feed>