lang: zh slug: plausible-analytics-privacy-google title: ‘合理的分析:隐私第一的 Google Analytics’ description: ‘合理分析的完整自托管设置指南。 隐私第一,符合 GDPR,<1KB 跟踪脚本。 比 Google Analytics 快 45 倍。 真实基准测试和 Docker 部署。’ tags: [“open-source”, “opensource”, “self-hosted”] date: 2026-05-19 00:00:00+08:00 lastmod: 2026-05-19 00:00:00+08:00 tech_stack: [] application_domain: Dev Utils source_version: ’' licensing_model: Open Source license_type: AGPL-3.0 file_size: ’' file_md5: ’' download_url: ’' backup_url: ’' github_repo: ‘plausible/analytics’ last_maintained: ‘2026-05-19’ draft: false categories: [‘dev-utils’] aliases:- /posts/plausible-analytics-privacy-google/ 常见问题解答:
- 问:“在没有 cookie 横幅的情况下,自托管合理分析是否符合 GDPR 规定?” ‘是的。 Plausible 不收集 IP 地址(它会散列并丢弃它们)、使用 cookie 或 localStorage、指纹设备或跨站点跟踪,因此它符合 GDPR 规定的无 cookie、无个人数据分析,无需同意。 自托管部署是最合规的选项,因为数据永远不会离开您自己的服务器。
- 问:“Plausible 比 Google Analytics 4 准确多少?” a:“Plausible 通常报告的访问者数量比 GA4 高 5-15%,因为它被阻止的用户少得多。 GA4 被大约 35-40% 运行广告拦截器的用户屏蔽,而在您自己的域上自行托管的 Plausible 仅被 8-12% 屏蔽。
- 问:“与 Google Analytics 相比,合理的跟踪脚本有多小?” a:“Plausible 脚本经过 gzip 压缩后大小不到 1KB,而 Google Analytics 4(gtag.js 加analytics.js)大约为 45KB。 它设置零 cookie,进行一次 DNS 查找,在 4G 上执行时间不到 10 毫秒,并且对核心 Web Vitals 的影响为零。
- 问:“我需要什么基础设施来自行托管合理分析?” a:“您需要一个至少具有 2GB RAM(4GB 用于每天超过 100K 页面浏览量)的 VPS、带有 Docker Compose v2 的 Docker Engine 24.0+、指向服务器的域以及用于密码重置的 SMTP 凭据。 2GB VPS 每月可处理大约 50 万次综合浏览量,4GB VPS 每月可处理大约 200 万次综合浏览量。
- 问:“我可以将历史 Google Analytics 数据导入 Plausible 吗?” ‘是的。 Plausible 包含一个 Google Analytics 导入器,可通过 GA Reporting API v4 提取数据,并支持 Universal Analytics 和 GA4 属性。 导入作为后台作业运行,对于大型数据集可能需要几个小时,并且一些 GA4 指标(例如参与时间)没有直接的合理等效指标。 特征图片:/images/articles/plausible-analytics-the-privacy-first-google-analytics-alternative.png——{{< 资源信息 >}}## 简介:无人谈论的分析隐私问题2024 年 1 月,奥地利数据保护局裁定 使用 Google Analytics 违反了 GDPR 第 44 条,因为个人数据在没有充分保护的情况下流向美国服务器。 法国、意大利和丹麦也做出了类似的裁决。 到 2025 年中期,超过 120,000 个网站已从面向欧盟的页面中删除了 Google Analytics。 这个问题不仅是法律上的问题,也是建筑上的问题。 Google Analytics 加载 45KB 的 JavaScript,设置多个第三方 cookie、指纹设备,并跨境发送浏览数据。合理分析正是为了解决这个问题而建立的。 Plausible 采用 Elixir 编写并在 Phoenix 框架上运行,是一款获得 AGPL-3.0 许可的分析工具,可提供基本的 Web 指标(页面浏览量、独立访问者、跳出率、推荐来源),脚本小于 1KB,零 Cookie 和零跨境数据传输。 凭借 21,000 多个 GitHub star 和 2026 年 2 月发布的 v3.0,它已成为注重隐私、拒绝在速度或合规性方面妥协的网站所有者的事实上的标准。本指南涵盖了基于 Docker 的自托管部署、针对 Google Analytics 和 Matomo 的比较基准、API 集成模式以及从个人博客到高流量 SaaS 应用程序等网站的生产强化。## 什么是合理的分析? (一句话)Plausible Analytics 是一个轻量级、隐私至上的开源 Web 分析平台,它提供基本的网站指标,无需使用 Cookie、收集个人数据或降低网站速度 — 完全符合 GDPR、CCPA 和 PECR 标准,并具有可将所有数据保存在您的基础设施上的自托管选项。## 合理的工作原理:架构和核心概念Plausible 采用了与传统分析完全不同的方法。 它不是客户端数据收集,而是专注于以最小的客户端占用量进行服务器端聚合。### 架构概述```` ┌──────────────────────────────────────────────────────┐ │ Nginx / 球童 │ │ (反向代理+SSL) │ ├──────────────────────────────────────────────────────┤ │ ┌────────────────────────────────────────────┐ │ │ │ 合理(长生不老药/凤凰) │ │ │ │ (API + Web 仪表板 + 事件) │ │ │ └──────────────┬────────────┬──────────────────┘ │ │ │ │ │ │ ▼ ▼ │ │ ┌──────────┐ ┌──────────┐ │ │ │ ClickHouse│ │ PostgreSQL │ │ │ │ (活动) │ │ (用户) │ │ └──────────┘ └──────────┘ │ │ ▲ │ │ ┌──────────┐ │ │ │ Redis │ │ │ │ (缓存) │ │ │ └──────────┘ │ └──────────────────────────────────────────────────────┘
|---------------|-----------|------------|--------|
| Insert throughput | ~20K rows/sec | **1M+ rows/sec** | Handles traffic spikes |
| Aggregation query speed | Seconds | **Milliseconds** | Dashboard loads instantly |
| Storage efficiency | High | **Extremely high** | 90%+ compression ratio |
| Real-time analytics | Laggy | **Near real-time** | Live visitor counts |### 核心组件| Component | Purpose | Scaling Notes |
|-----------|---------|--------------|
| Phoenix App | Web dashboard, REST API, event ingestion | Stateless — scale horizontally |
| ClickHouse | Event data storage, aggregations | Single node handles 10B+ events |
| PostgreSQL | User accounts, site configs, API keys | Small dataset — single node sufficient |
| Redis | Session cache, rate limiting | Optional — improves response times |### 1KB 脚本:它实际上做了什么````
htm
l
<!-- 标准合理的跟踪脚本 -->
<脚本延迟数据域=“yourdomain.com”
src="https://plausible.yourdomain.com/js/script.js"></script>
Thi s script does exactly three things: (1) sends the current page URL and referrer, (2) sends the browser viewport size to classify as desktop/mobile, and (3) listens for SPA navigation events. It does not: set cookies, use localStorage, generate fingerprint hashes, or execute third-party requests. The result is a payload under 1KB gzipped and execution time under 10ms on 4G networks.## 安装和设置:5 分钟内从零到分析仪表板### 先决条件- VPS 至少 2GB RAM(建议使用 4GB,每天浏览量 >100K)
- Docker 引擎 24.0+ 和 Docker Compose v2
- 指向您服务器的域名
- 用于密码重置的 SMTP 凭据对于可靠的 VPS,DigitalOcean 提供了一个很好的起点 - 他们每月 12 美元的 2GB RAM Droplet 可以轻松处理每月高达 50 万的综合浏览量。### 第 1 步:创建目录并编写文件```` bas h
htm l
<脚本延迟数据域=“yourdomain.com” src=“https://plausible.yourdomain.com/js/script.js">
e
/hosting/master/docker-compose.yml -o docker-compose.yml
````### 第 2 步:生成机密并配置````
bas
h
# 生成随机秘密
导出 SECRET_KEY_BASE=$(openssl rand -base64 48 | tr -d '\n')
导出 TOTP_VAULT_KEY=$(openssl rand -base64 32 | tr -d '\n')# 创建环境文件
猫 > plausible-conf.env << 'EOF'
BASE_URL=https://analytics.yourdomain.com
SECRET_KEY_BASE=${SECRET_KEY_BASE}
TOTP_VAULT_KEY=${TOTP_VAULT_KEY}# 数据库
DATABASE_URL=postgres://postgres:postgres@plausible_db:5432/plausible_db
CLICKHOUSE_DATABASE_URL=http://plausible_events_db:8123/plausible_events_db# 电子邮件 (SMTP)
MAILER_EMAIL=hello@yourdomain.com
SMTP_HOST_ADDR=smtp.mailgun.org
SMTP_HOST_PORT=587
SMTP_USER_NAME=postmaster@yourdomain.com
SMTP_USER_PWD=your_mailgun_password
SMTP_HOST_SSL_ENABLED=true# 注册
DISABLE_REGISTRATION=false # 创建帐户后设置为 true
EOF
````### 第 3 步:使用 Docker Compose 启动````
bas
h
# 启动所有服务
docker 组成-d# 验证服务
docker 撰写 ps# 预期输出:
# 命名状态端口
# 合理的``bash
# 创建项目目录
mkdir -p /opt/合理
cd /opt/合理
# 下载官方 Docker Compose 模板
卷曲 -L https://raw.githubusercontent.com/plausible/hosting/master/docker-compose.yml -o docker-compose.yml
rve r { 听80; 服务器名称analytics.yourdomain.com; 返回 301 https://$server_name$request_uri; }服务器{ 监听 443 ssl http2; 服务器名称analytics.yourdomain.com; ssl_certificate /etc/letsencrypt/live/analytics.yourdomain.com/fullchain.pem;
a
s
h
# Generate random secrets
export SECRET_KEY_BASE=$(openssl rand -base64 48 | tr -d '\n')
export TOTP_VAULT_KEY=$(openssl rand -base64 32 | tr -d '\n')
# Create environment file
cat > plausible-conf.env << 'EOF'
BASE_URL=https://analytics.yourdomain.com
SECRET_KEY_BASE=${SECRET_KEY_BASE}
TOTP_VAULT_KEY=${TOTP_VAULT_KEY}
# Database
DATABASE_URL=postgres://postgres:postgres@plausible_db:5432/plausible_db
CLICKHOUSE_DATABASE_URL=http://plausible_events_db:8123/plausible_events_db
# Email (SMTP)
MAILER_EMAIL=hello@yourdomain.com
SMTP_HOST_ADDR=smtp.mailgun.org
SMTP_HOST_PORT=587
SMTP_USER_NAME=postmaster@yourdomain.com
SMTP_USER_PWD=your_mailgun_password
SMTP_HOST_SSL_ENABLED=true
# Registration
DISABLE_REGISTRATION=false # Set to true after creating your account
EOF
```t
r
l
+C to exit
```访问“https://analytics.yourdomain.com”,登录并添加您的第一个网站。 将跟踪脚本片段复制到您的网站标题。### 添加跟踪到您的网站````
htm
l
<!-- 添加到您网站的 <head> -->
<脚本延迟数据域=“yourdomain.com”
src="https://analytics.yourdomain.com/js/script.js"></script><!-- 对于 SPA(React、Vue、Angular)——添加页面浏览触发器 -->
<脚本延迟数据域=“yourdomain.com”
src="https://analytics.yourdomain.com/js/script.pageview-props.js"></script>
````## 与框架、CMS 和构建工具集成### React / Next.js 集成```
javascrip
t
// 组件/PlausibleAnalytics.js
从“下一个/脚本”导入脚本;导出默认函数 PlausibleAnalytics() {
返回(
<脚本
策略=“互动后”
data-dom```
bas
h
# 启动所有服务
docker 组成-d
# 验证服务
docker 撰写 ps
# 预期输出:
# 命名状态端口
# 合理的 10 秒 0.0.0.0:8000->8000/tcp
# plausible_db 增加 10 秒 5432/tcp
# plausible_events_db 增加 10 秒 8123/tcp
```效果(() => {
if (typeof window !== '未定义' && window.plausible) {
window.plausible('pageview');
}
}, [路径名]);返回 <html>{children}</html>;
}
````### Vue.js / Nuxt.js 集成```
javascrip
t
//plugins/plausible.client.js (Nuxt 3)
导出默认的defineNuxtPlugin(() => {
const config = useRuntimeConfig();使用头({
ngin x
/etc/nginx/sites-available/plausible #
服务器{ 听80; 服务器名称analytics.yourdomain.com; 返回 301 https://$server_name$request_uri; }
服务器{ 监听 443 ssl http2; 服务器名称analytics.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/analytics.yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/analytics.yourdomain.com/privkey.pem;
地点/{ proxy_pass http://127.0.0.1:8000; proxy_set_header 主机 $host; proxy_set_header X-真实IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
user
_logged_in()): ?>
<script defer data-domain="<?php echo $_SERVER['HTTP_HOST']; ?>"
src="https://analytics.yourdomain.com/js/script.js"></script>
<?php endif; ?>
````### 静态站点生成器(Hugo、Jekyll、Astro)````
htm
l
<!-- layouts/partials/analytics.html (Hugo) -->
{{如果不是hugo.IsServer}}
<script defer data-domain="{{ .Site.Params.plausibleDomain }}"
src="{{ .Site.Params.plausibleHost }}/js/script.js"></script>
{{结束}}
javascrip t // astro.config.mjs 导出默认的defineConfig({ 集成:[ { 名称:“合理”, 钩子:{ ‘astro:配置:设置’:({注入脚本})=> { 注入脚本(‘头’,` <脚本d``` bas h
启用站点并获取 SSL #
sudo ln -s /etc/nginx/sites-available/plausible /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl 重新加载 nginx sudo certbot –nginx -d Analytics.yourdomain.com
// 在你的 JavaScript 中:
document.getElementById('signup-button').addEventListener('click', () => {
貌似合理('注册点击', {
道具:{
计划:“专业”,
来源:“标题”
bas h
创建管理员用户 #
docker compose exec 貌似合理的 bin/看似合理的远程 Plausible.Release.created_admin_user(“admin@yourdomain.com”, “YourSecurePassword123!”)
按Ctrl+C退出 #
} // 以分为单位
});
````## 基准测试和实际用例### 速度比较:合理与 Google Analytics| 公制| 谷歌分析 4 | 似是而非(云)| 合理(自托管)|
|--------------------|--------------------|--------------------|------------------------|
| **脚本大小** | **45KB**(gtag.js + Analytics.js)| **<1KB** | **<1KB** |
| ````
htm
l
<!-- 添加到您网站的 <head> -->
<脚本延迟数据域=“yourdomain.com”
src="https://analytics.yourdomain.com/js/script.js"></script>
<!-- 对于 SPA(React、Vue、Angular)——添加页面浏览触发器 -->
<脚本延迟数据域=“yourdomain.com”
src="https://analytics.yourdomain.com/js/script.pageview-props.js"></script>
````| **负面(LCP、CLS)** | **无** | **无** |
| **数据传输/页** | **~60KB** | **~1KB** | **~1KB** |**结果**:加载速度比 GA4 **45-60 倍**,并且**对 Core Web Vitals 的影响**为零。### 隐私合规性比较| 特色| 谷歌分析 4 | 马托 | 似是而非的|
|--------|--------------------|--------|------------|
| **无需同意即可遵守 GDPR** | **否**(需要同意横幅)```
javascrip
t
// 组件/PlausibleAnalytics.js
从“下一个/脚本”导入脚本;
导出默认函数 PlausibleAnalytics() {
返回(
<脚本
策略=“互动后”
数据域=“yourdomain.com”
src =“https://analytics.yourdomain.com/js/script.js”
/>
);
}
// 对于 Next.js 13+ 中的 SPA 路由更改
// 应用程序/layout.js
从 'next/navigation' 导入 { usePathname };
从'react'导入{useEffect};
导出默认函数 RootLayout({ Children }) {
const 路径名 = usePathname();
使用效果(()=> {
if (typeof window !== '未定义' && window.plausible) {
window.plausible('pageview');
}
}, [路径名]);
返回 <html>{children}</html>;
}
``**120ms** | P95,已认证|
| API响应时间| **85ms** | P95,统计数据汇总|
| 每 100 万页面浏览量的存储空间 | **~45MB** | 高度压缩的ClickHouse |
| 并发站点跟踪 | **无限制** | 资源有限 |
| 空闲时的内存使用情况 **380MB** | 合理 + ClickHouse + Postgres |### 真实世界部署配置文件| 网站类型 | 每月浏览量 | VPS 成本 | GA4 等效 | 合理成本|
|----------|------------------|----------|----------------|------------------------|
| 个人博客| 10,000 | **6 美元** (1GB) | 免费| **6 美元** |
| SaaS 登陆页面 | 100,000 | **12 美元** (2GB) | 0-150 美元 | **12 美元** |
| 电商商城 | 500,000 | **24 美元** (4GB) | 150 美元以上 | **24 美元** |
| 新闻网站| 2,000,000 | **48 美元** (8GB) | $150,00```
javascrip
t
//plugins/plausible.client.js (Nuxt 3)
导出默认的defineNuxtPlugin(() => {
const config = useRuntimeConfig();
使用头({
脚本:[
{
推迟:真实,
'数据域':config.public.plausibleDomain,
src: `${config.public.plausibleHost}/js/script.js`,
},
],
});
// 跟踪 SPA 导航
const 路由器 = useRouter();
router.afterEach((到) => {
if (typeof window !== '未定义' && window.plausible) {
window.plausible('pageview', { u: window.location.origin + to.fullPath });
}
});
});
``**(自托管,合理)
- **GDPR 合规风险**:已消除(数据永远不会离开欧盟服务器)## 高级使用和生产强化### 启用增强测量````
bas
h
# plausible-conf.env — 启用额外的跟踪功能
# 出站链接跟踪
SCRIPT_NAME=script.outbound-links.js# 文件下载跟踪
SCRIPT_NAME=script.file-downloads.js# 基于哈希的路由(适用于具有哈希 URL 的 SPA)
SCRIPT_NAME=script.hash.js# 组合:所有功能
SCRIPT_NAME=script.outbound-links.file-downloads.hash.js
htm l
<脚本延迟``` bas h
选项 1:使用官方 Plausible WordPress 插件 #
从 wp-admin 安装:插件 > 添加新的 > 搜索“合理分析” #
配置您的自托管 URL #
选项 2:手动 — 添加到主题的 header.php #
#{
#“结果”:{
# "访问者": {"值": 45230},
# "综合浏览量": {"值": 128900},
#“bounce_rate”:{“值”:42}
# }
# }
````````蟒蛇
# 用于将统计数据提取到 BI 工具中的 Python 脚本
导入请求
从日期时间导入日期时间,时间增量API_KEY =“您的 api 密钥”
SITE_ID =“yourdomain.com”
HOST =“https://analytics.yourdomain.com”end_date = datetime.now().strftime("%Y-%m-%d")
start_date = (datetime.now() - timedelta(days=30```
htm
l
<!-- layouts/partials/analytics.html (Hugo) -->
{{如果不是hugo.IsServer}}
<script defer data-domain="{{ .Site.Params.plausibleDomain }}"
src="{{ .Site.Params.plausibleHost }}/js/script.js"></script>
{{结束}}
```
s
",
“过滤器”:f“访问:国家==美国|德国|法国”
},
headers={"授权": f"承载 {API_KEY}"}
)数据 = 响应.json()
用于输入数据[“结果”]:
print(f"{entry['date']}: {entry['visitors']} visi```
javascrip
t
// astro.config.mjs
导出默认的defineConfig({
集成:[
{
名称:“合理”,
钩子:{
'astro:配置:设置':({注入脚本})=> {
注入脚本('头',`
<脚本延迟数据域=“yourdomain.com”
src="https://analytics.yourdomain.com/js/script.js"></script>
`);
},
},
},
],
});
```
c
plausible_events_db clickhouse-client \
--query="将数据库 plausible_events_db 备份到'/backup/clickhouse'" > "$BACKUP_DIR/clickhouse.sql"# 上传到S3
aws s3 同步“$BACKUP_DIR”“s3://your-backup-bucket/plausible/”# Cleanup: keep only 30 days
查找/备份/似是而非的-maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
bas h
Cron — 每天凌晨 3 点 #
0 3 * * * /opt/scripts/plausible-backup.sh » /var/log/pl``` javascrip t // 跟踪按钮点击、表单提交或任何自定义事件 // 在你的 JavaScript 中: document.getElementById(‘signup-button’).addEventListener(‘click’, () => { 貌似合理(‘注册点击’, { 道具:{ 计划:“专业”, 来源:“标题” } }); });
// 跟踪电子商务转化 似是而非(‘购买’,{ 道具:{ 产品:“小部件专业版”, 价格:99.00, 货币:“美元” }, Revenue: {currency: ‘USD’, amount: 9900 } // 以美分为单位 });
卷:
- clickhouse_data_1:/var/lib/clickhouseclickhouse-2:
图片:clickhouse/clickhouse-server:24.3
卷:
- clickhouse_data_2:/var/lib/clickhouse
````### 使用 Prometheus 进行监控````
yam
l
# 添加到你的 prometheus.yml
scrap_configs:
- job_name: '合理'
静态配置:
- 目标:['analytics.yourdomain.com:8000']
指标路径:'/指标'
刮擦间隔:30秒
bas h
要监控的关键指标 #
plausible_clickhouse_event_insertions_total — 事件摄取率 #
plausible_phoenix_request_duration_ms — API 响应时间 #
plausible_db_query_duration_ms — 数据库查询性能 #
### 位置数据的 GeoIP 数据库
bas
h
下载 MaxMind GeoLite2 数据库以获取国家/城市数据 #
mkdir -p /opt/貌似合理/geoip
cd /opt/合理/geoip# 在 https://www.maxmind.com/ 注册免费的 GeoLite2 帐户
wget “https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=YOUR_KEY&suffix=tar.gz"
-O GeoLite2-City.tar.gztar -xzf GeoLite2-City.tar.gz –strip-components=1# 挂载在 docker-compose.yml 中
卷: #
- ./geoip/GeoLite2-City.mmdb:/geoip/GeoLite2-City.mmdb:ro# 添加到 plausible-conf.env: #
GEOLITE2_COUNTRY_DB=/geoip/GeoLite2-Country.mmdb #
GEOLITE2_CITY_DB=/geoip/GeoLite2-City.mmdb #
|---------|-----------|-------------------|---------------------|--------|-------|
| **License** | AGPL-3.0 | Proprietary | GPL-3.0 | Proprietary | MIT |
| **Script size** | **<1KB** | **45KB** | ~22KB | **<1KB** | **<2KB** |
| **Cookies required** | **No** | **Yes (multiple)** | Optional | **No** | **No** |
| **GDPR compliant (no banner)** | **Yes** | **No** | Partial | **Yes** | **Yes** |
| **EU data residency (self-host)** | **Yes** | No | **Yes** | Cloud only | **Yes** |
| **Real-time dashboard** | **Yes** | Yes (5min delay) | Yes | **Yes** | **Yes** |
| **Custom event tracking** | **Yes** | Yes | Yes | Yes | **Yes** |
| **API access** | **Full REST** | Yes (complex) | Yes | Yes | **Yes** |
| **E-commerce revenue tracking** | **Yes** | Advanced | Advanced | Basic | No |
| **Open source** | **Yes** | No | **Yes** | No | **Yes** |
| **Monthly cost (self-host, 2GB)** | **$12** | Free (data as cost) | **$12** | $14 (cloud) | **$12** |
| **Community size (GitHub stars)** | **21,000** | N/A | **19,500** | N/A | **24,000** |**要点**:Pusible 处于 Fathom 的极简主义和 Matomo 的强大功能之间的最佳位置。 ClickHouse 后端提供了比 Matomo 的 MySQL/MariaDB 更好的查询性能,而 AGPL 许可证保证了永久的开源可用性。 对于需要基本分析而又没有 GA4 复杂性或 Matomo 资源开销的网站,Plausible 是最佳选择。## 局限性:诚实评估合理性故意用深度来换取简单性和隐私。 这是你不会得到的:**无用户级跟踪** — 根据设计,Plausible 不会跨会话跟踪单个用户的旅程。 您看不到“用户 X 访问了页面 A,然后访问了页面 B,然后访问了页面 C”。 如果用户级别的多点触控归因或漏斗分析至关重要,则您需要不同的工具(或通过服务器端事件跟踪来补充 Plausible)。**有限分段** — 内置过滤支持国家/地区、页面、引荐来源网址、设备类型和浏览器。 高级群组分析、自定义维度细分或基于用户属性的细分需要将 API 导出到外部 BI 工具。**没有广告平台集成** — 与原生与 Google Ads 集成的 GA4 不同,Plausible 与广告平台没有直接连接````
bas
h
# plausible-conf.env — 启用额外的跟踪功能
# 出站链接跟踪
SCRIPT_NAME=script.outbound-links.js
# 文件下载跟踪
SCRIPT_NAME=script.file-downloads.js
# 基于哈希的路由(适用于具有哈希 URL 的 SPA)
SCRIPT_NAME=script.hash.js
# 组合:所有功能
SCRIPT_NAME=script.outbound-links.file-downloads.hash.js
如果需要视觉行为分析,则```
com
)与合理的一起。**Search Console 集成** — 与直接连接到 Google Search Console 的 GA4 不同,Plausible 需要手动导入或基于 API 的关联。 本身没有“搜索查询”报告。**电子商务深度** — 存在收入跟踪,但与 GA4 的 enha```
htm
l
相比只是基本功能
<!-- 使用增强脚本-->
<脚本延迟数据域=“yourdomain.com”
src="https://analytics.yourdomain.com/js/script.outbound-links.file-downloads.js"></script>
``即横幅?****是的。** 欧洲数据保护委员会 (EDPB) 和多个欧盟数据保护机构已确认,不收集个人数据且不使用 cookie 的分析不需要同意 u````
bas
h
# 通过 Stats API 获取统计信息
curl -X GET "https://analytics.yourdomain.com/api/v1/stats/aggregate?site_id=yourdomain.com&period=30d&metrics=visitors,pageviews,bounce_rate" \
-H“授权:持有者YOUR_API_KEY”
# 响应:
#{
#“结果”:{
# "访问者": {"值": 45230},
# "综合浏览量": {"值": 128900},
#“bounce_rate”:{“值”:42}
# }
# }
`` 数据永远不会离开您的服务器。**与 Google Analytics 相比,Plausible 的准确度如何?**Plausible 通常报告的访问者数量比 GA4 高出 5-15%,因为它不会以相同的速度被广告拦截器和隐私浏览器阻止。 GA4 被大约 **35-40% 的用户**运行广告拦截器(uBlock Origin、AdGuard 等)拦截,而 Plausible(自托管```
pytho
n
# 用于将统计数据提取到 BI 工具中的 Python 脚本
导入请求
从日期时间导入日期时间,时间增量
API_KEY =“您的 api 密钥”
SITE_ID =“yourdomain.com”
HOST =“https://analytics.yourdomain.com”
end_date = datetime.now().strftime("%Y-%m-%d")
start_date = (datetime.now() - timedelta(days=30)).strftime("%Y-%m-%d")
响应 = requests.get(
f"{HOST}/api/v1/stats/timeseries",
参数={
“site_id”:SITE_ID,
“期间”:“自定义”,
“日期”:开始日期,
"metrics": "访问者、页面浏览量",
“过滤器”:f“访问:国家==美国|德国|法国”
},
headers={"授权": f"承载 {API_KEY}"}
)
数据 = 响应.json()
用于输入数据[“结果”]:
print(f"{entry['date']}: {entry['visitors']} 访客, {entry['pageviews']} pageviews")
```
ausible
.Google.Import.start('your-ga-property-id', 'YOUR_API_KEY')"
````**当我的网站超出我的 VPS 容量时会发生什么?**合理的规模是可预测的。 **2GB VPS 每月可处理约 500K 页面浏览量**。 **4GB VPS 每月可处理约 200 万浏览量**。 对于更高的流量,您有三种选择:(1) 垂直扩展您的 VPS,(2) 将 ClickHouse 移至专用服务器(数据库是瓶颈,而不是 Phoenix 应用程序),或 (3) 使用 Plausible Cloud,起价为每月 9 美元,浏览量为 10K。 ClickHouse 实例决定了容量——Phoenix 应用程序本身是轻量级的。**如何跟踪多个域或子域?**在 Plausible 中,每个域都是一个单独的“站点”,但您可以使用共享登录来组织它们。 用于子域跟踪(例如“blog.yourdomain.com”和“app.yourdomain.c``bash
#!/bin/bash
# /opt/scripts/plausible-backup.sh
BACKUP_DIR="/备份/合理/$(日期+%Y%m%d_%H%M%S)"
mkdir -p“$BACKUP_DIR”
# 备份 PostgreSQL(用户数据、站点配置)
docker compose exec -T plausible_db pg_dump \
-U postgres plausible_db >“$BACKUP_DIR/postgres.sql”
# 备份ClickHouse(事件数据)
docker compose exec plausible_events_db clickhouse-client \
--query="将数据库 plausible_events_db 备份到'/backup/clickhouse'" > "$BACKUP_DIR/clickhouse.sql"
# 上传到S3
aws s3 同步“$BACKUP_DIR”“s3://your-backup-bucket/plausible/”
# 清理:仅保留30天
查找/备份/似是而非的-maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
```仅是基础设施:VPS 托管、备份存储和 SSL 证书。 对于每月 6 美元的 VPS 上的个人博客来说,这就是您的总成本。 没有人为限制,没有功能门限,也没有强制升级。 您完全拥有代码和数据。## 结论:无需监控的分析合理的分析证明您不需要用隐私来换取见解。 **<1KB 跟踪脚本**、**零 cookie** 和 **45 倍更快的加载时间** 使其在技术上优于绝大多数网站的 Google Analytics。 自托管选项增加了完整的数据主权,消除了跨境数据的任何合规风险```
bas
h
# Cron — 每天凌晨 3 点
0 3 * * * /opt/scripts/plausible-backup.sh >> /var/log/plausible-backup.log 2>&1
``oving Lighthouse 得分为 10-20 分,页面加载速度更快 - 同时仍然知道有多少人访问过,他们浏览了哪些页面````
yam
l
# docker-compose.ha.yaml — 具有复制功能的多节点 ClickHouse
版本:'3.8'
服务:
似是而非的:
图像:合理/分析:v3.0
部署:
副本:2
环境:
- DATABASE_URL=postgres://postgres:postgres@plausible_db:5432/plausible_db
- CLICKHOUSE_DATABASE_URL=http://clickhouse-1:8123/plausible_events_db;http://clickhouse-2:8123/plausible_events_db
clickhouse-1:
图片:clickhouse/clickhouse-server:24.3
卷:
- clickhouse_data_1:/var/lib/clickhouse
clickhouse-2:
图片:clickhouse/clickhouse-server:24.3
卷:
- clickhouse_data_2:/var/lib/clickhouse
``归纳起来,你需要坚实的基础设施。 dibi8实际使用和推荐的两个选项:- **{< aff "digitalocean" "footer-cta-legacy" "DigitalOcean" >}}** — 200 美元免费赠金,为期 60 天,覆盖全球 14 个以上区域。 运行开源人工智能工具的独立开发者的默认选项。
- **{< aff "htstack" "footer-cta-legacy" "HTStack" >}}** — 从中国大陆低延迟访问的香港 VPS。 这与托管 dibi8.com 的 IDC 是同一个 IDC——在生产中经过了实际考验。*附属链接 - 它们不会花费您额外的费用,并且有助于保持 dibi8.com 的运行。*## 资料来源和进一步阅读- [合理分析 GitHub 存储库](https://github.com/plausible/analytic```
yam
l
# 添加到你的 prometheus.yml
scrap_configs:
- job_name: '合理'
静态配置:
- 目标:['analytics.yourdomain.com:8000']
指标路径:'/指标'
刮擦间隔:30秒
``l 自托管文档
- [Plausible Stats API](https://plausible.io/docs/stats-api) — REST API 参考
- [Plausible v3.0 发行说明](https://github.com/plausible/analytics/releases) — 2026 年 2 月 r```
bas
h
# 要监控的关键指标
# plausible_clickhouse_event_insertions_total — 事件摄取率
# plausible_phoenix_request_duration_ms — API 响应时间
# plausible_db_query_duration_ms — 数据库查询性能
```
s
on Consent](https://edpb.europa.eu/our-work-tools/general-guidance/guidelines/consent_en) — 无 cookie 分析的法律依据
- DigitalOcean VPS Setup
— 用于自托管部署的 VPS 托管---*这是一个````
bas
h
# 下载 MaxMind GeoLite2 数据库以获取国家/城市数据
mkdir -p /opt/貌似合理/geoip
cd /opt/合理/geoip
# 在 https://www.maxmind.com/ 注册免费的 GeoLite2 帐户
wget "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=YOUR_KEY&suffix=tar.gz" \
-O GeoLite2-City.tar.gz
tar -xzf GeoLite2-City.tar.gz --strip-components=1
# 挂载在 docker-compose.yml 中
# 卷:
# - ./geoip/GeoLite2-City.mmdb:/geoip/GeoLite2-City.mmdb:ro
# 添加到 plausible-conf.env:
# GEOLITE2_COUNTRY_DB=/geoip/GeoLite2-Country.mmdb
# GEOLITE2_CITY_DB=/geoip/GeoLite2-City.mmdb
``尼克斯)
- [Matomo](https://github.com/matomo-org/matomo)
- [鲜味](https://github.com/umami-software/umami)
bas h
运行 GA 导入器(从 Plausible 容器) #
docker compose exec plausible bin/plausible
“Plausible.Google.Import.start(‘your-ga-property-id’,‘YOUR_API_KEY’)”
htm
l
<!-- 将子域汇总到一份报告中 -->
<脚本延迟数据域=“yourdomain.com”
data-api="https://analytics.yourdomain.com/api/event"
src="https://analytics.yourdomain.com/js/script.js"></script>
````
featureImage: /images/articles/google-analytics.png
💬 留言讨论