From 8c488348f5035b9c795f939c7c32543f4948d8cb Mon Sep 17 00:00:00 2001 From: Marko Saric Date: Mon, 18 May 2026 09:00:30 +0200 Subject: [PATCH] api improvements --- docs/bot-traffic-filtering.md | 14 +++----------- docs/custom-event-goals.md | 2 +- docs/data-access.md | 1 + docs/introduction.md | 4 +++- sidebars.js | 8 ++++---- 5 files changed, 12 insertions(+), 17 deletions(-) diff --git a/docs/bot-traffic-filtering.md b/docs/bot-traffic-filtering.md index bff3de5f..cf84597e 100644 --- a/docs/bot-traffic-filtering.md +++ b/docs/bot-traffic-filtering.md @@ -26,15 +26,15 @@ This is a tradeoff of aggressive bot filtering. It keeps automated traffic out o ## Why you might still see some bot traffic -No filter is perfect. Bots emerge constantly and there is always a gap between when a new bot appears and when we identify and block it. If you see a sudden spike from an unfamiliar source with a very high bounce rate and short session duration, it may be bot traffic we haven't classified yet. +No filter is perfect. Bots emerge constantly and there is always a gap between when a new bot appears and when we identify and block it. If you see a sudden spike from an unfamiliar source with a very high bounce rate and near-zero visit duration, it may be bot traffic we haven't classified yet. Check time on page, scroll depth and goal conversions for stronger signals. ## Investigating a suspicious traffic spike If you see an unexpected spike in your dashboard, run through these steps to confirm whether it is bot traffic and block it. -### 1. Check bounce rate and session duration +### 1. Check bounce rate and visit duration -Apply a [filter](filters-segments.md) to isolate the traffic source, country or page that spiked. Bot traffic almost always shows a near-100% bounce rate and zero or near-zero session duration. If the filtered view shows normal engagement metrics, the traffic is more likely real. +Apply a [filter](filters-segments.md) to isolate the traffic source, country or page that spiked. Bot traffic almost always shows a near-100% bounce rate. Visit duration will also read as zero since bounced visits count as 0 seconds in Plausible. If the filtered view shows meaningful time on page, scroll depth and goal conversions, the traffic is more likely real. Note that low-quality traffic is not the same as bot traffic: real visitors can arrive from the wrong source or with expectations the page does not meet, producing low engagement without being automated. Plausible's filters target non-human visits only. ### 2. Identify the source @@ -63,14 +63,6 @@ Shields rules take effect immediately and apply going forward. They do not remov If you have applied Shields rules and the traffic continues, or if the spike is large enough to affect your subscription tier, [contact us](https://plausible.io/contact) with the dates, source and any patterns you've noticed. We'll investigate and update our filters if needed. -## What you can do - -- **Block by IP, hostname or country.** Use [Shields](excluding.md) to block visits from specific IP addresses, hostnames or countries from being recorded. -- **Filter by page.** Use [page exclusions](excluding-pages.md) to exclude specific URLs from your stats. -- **Filter your dashboard view.** Use [filters and segments](filters-segments.md) to narrow down traffic when analyzing your data. - ## How Plausible improves bot filtering over time We continuously monitor incoming traffic patterns. When we identify new sources of non-human traffic or trends that look automated, we update our filtering rules. The filtering improves over time without any action needed on your end. - -If you notice something in your dashboard that looks like unfiltered bot traffic, [contact us](https://plausible.io/contact) with the dates, source and any patterns you've noticed. We'll investigate and update our filters if needed. diff --git a/docs/custom-event-goals.md b/docs/custom-event-goals.md index 7fae86ea..3e506b7b 100644 --- a/docs/custom-event-goals.md +++ b/docs/custom-event-goals.md @@ -272,7 +272,7 @@ If you set up custom events through [Google Tag Manager](https://plausible.io/gt ### Custom properties showing as (none) -If you see `(none)` for a custom property value, the property name in your code does not match what you entered in the goal settings, or the value is not being passed at the moment the event fires. Check that the property is defined before the `plausible()` call and that the name matches exactly. +`(none)` can appear for several reasons, including sending a `null` or `undefined` value, sending the property with some events but not all, or viewing the Properties tab without a custom event filter applied. See [Custom Properties: (none) values](/custom-props/introduction#none-values) for the full explanation. For troubleshooting: confirm the property value is not `null` or `undefined` at the moment the event fires, and that the property name is spelled exactly the same way in every event call. --- diff --git a/docs/data-access.md b/docs/data-access.md index ee32739a..c0853d8f 100644 --- a/docs/data-access.md +++ b/docs/data-access.md @@ -17,6 +17,7 @@ Plausible gives you several ways to access your stats outside the dashboard. The | Pipe data into a data warehouse or BI tool | [Warehouse connectors](#data-warehouse-connectors) | | Get event-level data for warehousing or compliance | [Scheduled raw exports](#scheduled-raw-event-exports) | | Query data in natural language through AI tools | [MCP server](#mcp-server) | +| View stats from a mobile or desktop app | [Mobile and desktop apps](data-pipelines.md) | --- diff --git a/docs/introduction.md b/docs/introduction.md index c1862e30..4ea3dc2d 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -110,10 +110,12 @@ description: "Plausible Analytics documentation. No cookies, no personal data, n

API

Query your data, send events and manage sites programmatically.

diff --git a/sidebars.js b/sidebars.js index 49f3bbd0..e2f6af50 100644 --- a/sidebars.js +++ b/sidebars.js @@ -40,16 +40,14 @@ module.exports = { 'subdomain-hostname-filter', 'metrics-definitions', 'keyboard-shortcuts', - 'looker-studio', 'bot-traffic-filtering', 'dashboard-faq', { type: 'category', - label: 'Import & Export', + label: 'Import', items: [ 'google-analytics-import', 'csv-import', - 'export-stats', ], }, ], @@ -91,12 +89,14 @@ module.exports = { ], }, ], - 'API': [ + 'Data access': [ 'data-access', 'stats-api', 'stats-api-playground', 'events-api', 'sites-api', + 'export-stats', + 'looker-studio', 'data-pipelines', ], 'Account Settings': [