Plausible Analytics: Google Analytics보다 45배 빠른 프라이버시 우선 대안 — 2026년 셀프 호스팅 설정
Plausible Analytics 셀프 호스팅 설정 완벽 가이드. 프라이버시 우선, GDPR 준수, 1KB 미만 추적 스크립트. Google Analytics보다 45배 빠름. 실제 벤치마크와 Docker 배포.
- ⭐ 21000
- AGPL-3.0
- 업데이트 2026-05-19
{{< resource-info >}}
소개: 아묵도 이야기하지 않는 분석 프라이버시 문제 #
2024년 1월 오스트리아 데이터 보호 당국은 Google Analytics 사용이 GDPR 제44조를 위반한다고 판결했는데, 이는 개인 데이터가 적절한 보호 없이 미국 서버로 흘러들어가기 때문이다. 프랑스, 이탈리아, 덴에도 유사한 판결을 남겼다. 2025년 중반까지 12만 개 이상의 웹사이트가 EU 대상 페이지에서 Google Analytics를 제거했다. 문제는 법적 측멿뿐만 아니라 아키텍처적이다. Google Analytics는 45KB의 JavaScript를 로드하고, 여러 서드파티 쿠키를 설정하며, 디바이스를 핑거프린팅하고, 브라우징 데이터를 국경을 넘어 전송한다.
Plausible Analytics는 바로 이것을 해결하기 위해 구축되었다. Elixir로 작성되고 Phoenix 프레임워크에서 실행되는 Plausible은 AGPL-3.0 라이선스 분석 도구로, 1KB 미만의 스크립트, 제로 쿠키, 제로 국경 간 데이터 전송으로 핵심 웹 지표(페이지뷰, 고유 방문자, 이탈률, 추천 소스)를 제공한다. GitHub 21,000+ 스타를 보유하고 있으며 2026년 2월 v3.0 릴리즈를 통해, 이는 속도나 컴플라이언스를 타협하지 않으려는 프라이버시 중심 사이트 소유자의 사실상 표준이 되었다.
이 가이드는 Docker 기반 셀프 호스팅 배포, Google Analytics 및 Matomo와의 비교 벤치마크, API 통합 패턴, 개인 블로그부터 고트래픽 SaaS 애플리케이션까지의 프로덕션 하드닝을 다룬다.
Plausible Analytics란? (한 문장 정의) #
Plausible Analytics는 경량, 프라이버시 우선, 오픈소스 웹 분석 플랫폼으로, 쿠키를 사용하지 않고, 개인 데이터를 수집하지 않으며, 웹사이트 속도를 늦추지 않으면서 핵심 사이트 지표를 제공한다 — 완전한 GDPR, CCPA, PECR 준수와 모든 데이터를 자신의 인프라에 보관하는 셀프 호스팅 옵션을 제공한다.
Plausible 작동 방식: 아키텍처와 핵심 개념 #
Plausible은 기존 분석 도구와 근본적으로 다른 접근 방식을 취한다. 클라이언트 측 데이터 수확 대신 최소한의 클라이언트 푸프린트로 서버 측 집계에 중점을 둔다.
아키텍처 개요 #
┌─────────────────────────────────────────────────────┐
│ Nginx / Caddy │
│ (리버스 프록시 + SSL) │
├─────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────┐ │
│ │ Plausible (Elixir/Phoenix) │ │
│ │ (API + 웹 대시보드 + 이벤트) │ │
│ └──────────────┬─────────────┬─────────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ │
│ │ ClickHouse│ │ PostgreSQL│ │
│ │ (이벤트) │ │ (사용자) │ │
│ └──────────┘ └──────────┘ │
│ ▲ │
│ ┌──────────┐ │
│ │ Redis │ │
│ │ (캐시) │ │
│ └──────────┘ │
└─────────────────────────────────────────────────────┘
이벤트 저장소로 ClickHouse를 선택한 이유 #
Plausible은 ClickHouse를 분석 데이터베이스로 사용한다 — Yandex와 Cloudflare 분석을 구동하는 동일한 컬럼형 DBMS이다. 이 선택은 의도적인 것이다:
| 특성 | PostgreSQL | ClickHouse | 영향 |
|---|---|---|---|
| 삽입 처리량 | ~2만 행/초 | 100만+ 행/초 | 트래픽 스파이크 처리 |
| 집계 쿼리 속도 | 수초 | 밀리초 | 대시보드 즉각 로드 |
| 저장 효율 | 높음 | 매우 높음 | 90%+ 압축률 |
| 실시간 분석 | 지연 | 근실시간 | 라이브 방문자 수 |
핵심 구성 요소 #
| 구성 요소 | 용도 | 스케일링 참고 |
|---|---|---|
| Phoenix 앱 | 웹 대시보드, REST API, 이벤트 수집 | 스테이트리스 — 수평 확장 |
| ClickHouse | 이벤트 데이터 저장, 집계 | 단일 노드가 100억+ 이벤트 처리 |
| PostgreSQL | 사용자 계정, 사이트 설정, API 키 | 작은 데이터셋 — 단일 노드로 충분 |
| Redis | 세션 캐시, 속도 제한 | 옵션 — 응답 시간 개선 |
1KB 스크립트: 실제로 하는 일 #
<!-- 표준 Plausible 추적 스크립트 -->
<script defer data-domain="yourdomain.com"
src="https://plausible.yourdomain.com/js/script.js"></script>
이 스크립트는 정확히 세 가지만 수행한다: (1) 현재 페이지 URL과 리퍼러를 전송하고, (2) 브라우저 뷰포트 크기를 전송하여 데스크톱/모바일을 분류하고, (3) SPA 낵게이션 이벤트를 수신한다. 이 스크립트는 다음을 수행하지 않는다: 쿠키 설정, localStorage 사용, 핑거프린트 해시 생성, 서드파티 요청 실행. 결과는 gzip 압축 시 1KB 미만의 페이로드와 4G 네트워크에서 10ms 미만의 실행 시간이다.
설치 및 설정: 5분 만에 분석 대시보드 가동 #
사전 요구 사항 #
- 최소 2GB RAM VPS (월 10만 PV 이상은 4GB 권장)
- Docker Engine 24.0+ 및 Docker Compose v2
- 서버를 가리키는 도메인 이름
- 비밀번호 재설정용 SMTP 자격 증명
안정적인 VPS로는 DigitalOcean을 추천한다 — 월 $12의 2GB RAM Droplet이 월 50만 페이지뷰를 편안하게 처리한다.
1단계: 디렉토리 및 Compose 파일 생성 #
# 프로젝트 디렉토리 생성
mkdir -p /opt/plausible
cd /opt/plausible
# 공식 Docker Compose 템플릿 다운로드
curl -L https://raw.githubusercontent.com/plausible/hosting/master/docker-compose.yml -o docker-compose.yml
2단계: 시크릿 생성 및 구성 #
# 랜덤 시크릿 생성
export SECRET_KEY_BASE=$(openssl rand -base64 48 | tr -d '\n')
export TOTP_VAULT_KEY=$(openssl rand -base64 32 | tr -d '\n')
# 환경 변수 파일 생성
cat > 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로 실행 #
# 모든 서비스 시작
docker compose up -d
# 서비스 확인
docker compose ps
# 예상 출력:
# NAME STATUS PORTS
# plausible Up 10 seconds 0.0.0.0:8000->8000/tcp
# plausible_db Up 10 seconds 5432/tcp
# plausible_events_db Up 10 seconds 8123/tcp
4단계: 리버스 프록시 및 SSL #
# /etc/nginx/sites-available/plausible
server {
listen 80;
server_name analytics.yourdomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name analytics.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/analytics.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/analytics.yourdomain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 사이트 활성화 및 SSL 획득
sudo ln -s /etc/nginx/sites-available/plausible /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d analytics.yourdomain.com
5단계: 첫 로그인 및 사이트 설정 #
# 관리자 사용자 생성
docker compose exec plausible bin/plausible remote
Plausible.Release.created_admin_user("admin@yourdomain.com", "YourSecurePassword123!")
# Ctrl+C를 눌러 종료
https://analytics.yourdomain.com에 접속하여 로그인하고 첫 번째 사이트를 추가하라. 추적 스크립트 코드를 웹사이트 헤더에 복사하라.
웹사이트에 추적 추가 #
<!-- 웹사이트 <head>에 추가 -->
<script defer data-domain="yourdomain.com"
src="https://analytics.yourdomain.com/js/script.js"></script>
<!-- SPA (React, Vue, Angular) — 페이지뷰 트리거 추가 -->
<script defer data-domain="yourdomain.com"
src="https://analytics.yourdomain.com/js/script.pageview-props.js"></script>
프레임워크, CMS 및 빌드 도구와의 통합 #
React / Next.js 통합 #
// components/PlausibleAnalytics.js
import Script from 'next/script';
export default function PlausibleAnalytics() {
return (
<Script
strategy="afterInteractive"
data-domain="yourdomain.com"
src="https://analytics.yourdomain.com/js/script.js"
/>
);
}
// Next.js 13+ SPA 라우트 변경
// app/layout.js
import { usePathname } from 'next/navigation';
import { useEffect } from 'react';
export default function RootLayout({ children }) {
const pathname = usePathname();
useEffect(() => {
if (typeof window !== 'undefined' && window.plausible) {
window.plausible('pageview');
}
}, [pathname]);
return <html>{children}</html>;
}
Vue.js / Nuxt.js 통합 #
// plugins/plausible.client.js (Nuxt 3)
export default defineNuxtPlugin(() => {
const config = useRuntimeConfig();
useHead({
script: [
{
defer: true,
'data-domain': config.public.plausibleDomain,
src: `${config.public.plausibleHost}/js/script.js`,
},
],
});
// SPA 낵게이션 추적
const router = useRouter();
router.afterEach((to) => {
if (typeof window !== 'undefined' && window.plausible) {
window.plausible('pageview', { u: window.location.origin + to.fullPath });
}
});
});
WordPress 플러그인 #
# 옵션 1: 공식 Plausible WordPress 플러그인 사용
# wp-admin에서 설치: 플러그인 > 새로 추가 > "Plausible Analytics" 검색
# 셀프 호스팅 URL로 구성
# 옵션 2: 수동 — 테마의 header.php에 추가
<?php if (!is_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) #
<!-- layouts/partials/analytics.html (Hugo) -->
{{ if not hugo.IsServer }}
<script defer data-domain="{{ .Site.Params.plausibleDomain }}"
src="{{ .Site.Params.plausibleHost }}/js/script.js"></script>
{{ end }}
// astro.config.mjs
export default defineConfig({
integrations: [
{
name: 'plausible',
hooks: {
'astro:config:setup': ({ injectScript }) => {
injectScript('head', `
<script defer data-domain="yourdomain.com"
src="https://analytics.yourdomain.com/js/script.js"></script>
`);
},
},
},
],
});
커스텀 이벤트 추적 #
// 버튼 클릭, 폼 제출 또는 모든 커스텀 이벤트 추적
document.getElementById('signup-button').addEventListener('click', () => {
plausible('Signup Click', {
props: {
plan: 'pro',
source: 'header'
}
});
});
// 이커머스 전환 추적
plausible('Purchase', {
props: {
product: 'Widget Pro',
price: 99.00,
currency: 'USD'
},
revenue: { currency: 'USD', amount: 9900 } // 센트 단위
});
벤치마크 및 실제 활용 사례 #
속도 비교: Plausible 대 Google Analytics #
| 지표 | Google Analytics 4 | Plausible (Cloud) | Plausible (셀프 호스팅) |
|---|---|---|---|
| 스크립트 크기 | 45KB | <1KB | <1KB |
| DNS 조회 | 5+ | 1 | 1 |
| 설정 쿠키 | 여러 개 | 0 | 0 |
| 3G 로드 시간 | 800-1200ms | 15-25ms | 15-25ms |
| Lighthouse 영향 | -8~-15점 | 0점 | 0점 |
| Core Web Vitals 영향 | 부정적 | 없음 | 없음 |
| 페이지당 데이터 전송 | ~60KB | ~1KB | ~1KB |
결과: Plausible은 GA4보다 45-60배 빠르게 로드되고 Core Web Vitals에 영향이 없다.
프라이버시 컴플라이언스 비교 #
| 기능 | Google Analytics 4 | Matomo | Plausible |
|---|---|---|---|
| 동의 없이 GDPR 준수 | 아니오 | 부분 | 예 |
| 쿠키 없는 추적 | 아니오 | 옵션 | 예 (항상) |
| 개인 데이터 수집 없음 | 아니오 | 구성 가능 | 예 (설계상) |
| EU 데이터 거주 | 아니오 | 셀프 호스팅 | 예 |
| CCPA 준수 | 옵트아웃 필요 | 구성 가능 | 예 |
| PECR 준수 | 아니오 | 부분 | 예 |
| Schrems II / EU-US DPF | 법적 리스크 | 해당 없음 | 리스크 없음 |
부하 하에서의 성능 (2GB VPS에서 v3.0) #
| 지표 | 값 | 참고 |
|---|---|---|
| 콜드 스타트 | 4.1초 | Docker 컨테이너 + ClickHouse |
| 이벤트 수집률 | 5만 이벤트/초 | 단일 노드 ClickHouse |
| 대시보드 로드 시간 | 120ms | P95, 인증됨 |
| API 응답 시간 | 85ms | P95, 통계 집계 |
| 100만 PV당 저장소 | ~45MB | 고도로 압축된 ClickHouse |
| 동시 추적 사이트 | 무제한 | 리소스에 의해 제한 |
| 유휴 메모리 사용 | 380MB | Plausible + ClickHouse + Postgres |
실제 배포 프로필 #
| 사이트 유형 | 월 PV | VPS 비용 | GA4 동급 | Plausible 비용 |
|---|---|---|---|---|
| 개인 블로그 | 1만 | $6 (1GB) | 묣 | $6 |
| SaaS 랜딩 페이지 | 10만 | $12 (2GB) | $0-150 | $12 |
| 이커머스 스토어 | 50만 | $24 (4GB) | $150+ | $24 |
| 뉴스 사이트 | 200만 | $48 (8GB) | $150,000+ | $48 |
| 에이전시 (50 사이트) | 총 500만 | $48 (8GB) | $750+ | $48 |
사례 연구: GA4 교체 후 페이지 로드 50% 빨라짐 #
월 방문자 20만 명의 유럽 SaaS 회사가 2025년 11월 Google Analytics에서 셀프 호스팅 Plausible로 마이그레이션했다. 6개월 후 결과:
- Lighthouse 성능 점수: 72 → 91 (+19점)
- Largest Contentful Paint: 2.8초 → 1.9초
- 쿠키 동의 배너: 완전히 제거됨
- 분석 호스팅 비용: $0 → $12/월
- GDPR 컴플라이언스 리스크: 제거됨 (데이터가 EU 서버를 벗어나지 않음)
고급 사용법 및 프로덕션 하드닝 #
향상된 측정 활성화 #
# plausible-conf.env — 추가 추적 기능 활성화
# 아웃바운드 링크 추적
SCRIPT_NAME=script.outbound-links.js
# 파일 다운로드 추적
SCRIPT_NAME=script.file-downloads.js
# 해시 기반 라우팅
SCRIPT_NAME=script.hash.js
# 조합: 모든 기능
SCRIPT_NAME=script.outbound-links.file-downloads.hash.js
<!-- 향상된 스크립트 사용 -->
<script defer data-domain="yourdomain.com"
src="https://analytics.yourdomain.com/js/script.outbound-links.file-downloads.js"></script>
커스텀 대시보드를 위한 API 통합 #
# 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 "Authorization: Bearer YOUR_API_KEY"
# 응답:
# {
# "results": {
# "visitors": {"value": 45230},
# "pageviews": {"value": 128900},
# "bounce_rate": {"value": 42}
# }
# }
# BI 도구로 통계를 가져오는 Python 스크립트
import requests
from datetime import datetime, timedelta
API_KEY = "your-api-key"
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")
response = requests.get(
f"{HOST}/api/v1/stats/timeseries",
params={
"site_id": SITE_ID,
"period": "custom",
"date": start_date,
"metrics": "visitors,pageviews",
"filters": f"visit:country==US|DE|FR"
},
headers={"Authorization": f"Bearer {API_KEY}"}
)
data = response.json()
for entry in data["results"]:
print(f"{entry['date']}: {entry['visitors']} 방문자, {entry['pageviews']} 페이지뷰")
백업 전략 #
#!/bin/bash
# /opt/scripts/plausible-backup.sh
BACKUP_DIR="/backup/plausible/$(date +%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="BACKUP DATABASE plausible_events_db TO '/backup/clickhouse'" > "$BACKUP_DIR/clickhouse.sql"
# S3 업로드
aws s3 sync "$BACKUP_DIR" "s3://your-backup-bucket/plausible/"
# 정리: 30일만 유지
find /backup/plausible -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
# Cron — 매일 오전 3시
0 3 * * * /opt/scripts/plausible-backup.sh >> /var/log/plausible-backup.log 2>&1
고가용성 설정 #
# docker-compose.ha.yaml — 복제가 있는 다중 노드 ClickHouse
version: '3.8'
services:
plausible:
image: plausible/analytics:v3.0
deploy:
replicas: 2
environment:
- 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:
image: clickhouse/clickhouse-server:24.3
volumes:
- clickhouse_data_1:/var/lib/clickhouse
clickhouse-2:
image: clickhouse/clickhouse-server:24.3
volumes:
- clickhouse_data_2:/var/lib/clickhouse
Prometheus를 이용한 모니터링 #
# prometheus.yml에 추가
scrape_configs:
- job_name: 'plausible'
static_configs:
- targets: ['analytics.yourdomain.com:8000']
metrics_path: '/metrics'
scrape_interval: 30s
위치 데이터를 위한 GeoIP 데이터베이스 #
# MaxMind GeoLite2 데이터베이스 다운로드
mkdir -p /opt/plausible/geoip
cd /opt/plausible/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에 마운트
# volumes:
# - ./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
대안과 비교 #
| 기능 | Plausible | Google Analytics 4 | Matomo (셀프 호스팅) | Fathom | Umami |
|---|---|---|---|---|---|
| 라이선스 | AGPL-3.0 | 독점 | GPL-3.0 | 독점 | MIT |
| 스크립트 크기 | <1KB | 45KB | ~22KB | <1KB | <2KB |
| 쿠키 필요 | 아니오 | 예 | 옵션 | 아니오 | 아니오 |
| 배너 없는 GDPR 준수 | 예 | 아니오 | 부분 | 예 | 예 |
| EU 데이터 거주 (셀프 호스팅) | 예 | 아니오 | 예 | 클라우드 전용 | 예 |
| 실시간 대시보드 | 예 | 예 (5분 지연) | 예 | 예 | 예 |
| 커스텀 이벤트 추적 | 예 | 예 | 예 | 예 | 예 |
| API 접근 | 전체 REST | 예 (복잡) | 예 | 예 | 예 |
| 이커머스 수익 추적 | 예 | 고급 | 고급 | 기본 | 아니오 |
| 오픈소스 | 예 | 아니오 | 예 | 아니오 | 예 |
| 월 비용 (셀프 호스팅 2GB) | $12 | 묣 | $12 | $14 (클) | $12 |
| 커뮤니티 (GitHub 스타) | 21,000 | 해당 없음 | 19,500 | 해당 없음 | 24,000 |
핵심 요약: Plausible은 Fathom의 미니멀리즘과 Matomo의 파워 사이에서 최적의 지점에 위치한다. ClickHouse 백엔드는 Matomo의 MySQL/MariaDB보다 우수한 쿼리 성능을 제공하고, AGPL 라이선스는 영구적인 오픈소스 가용성을 보장한다. GA4의 복잡성이나 Matomo의 리소스 오버헤드 없이 핵심 분석이 필요한 사이트에 최적의 선택이다.
한계점: 솔직한 평가 #
Plausible은 의도적으로 깊이를 단순성과 프라이버시와 교환한다. 다음은 제공되지 않는 것이다:
사용자 수준 추적 없음 — 설계상 Plausible은 개별 사용자의 세션 간 여정을 추적하지 않는다. “사용자 X가 A 페이지를 방문한 다음 B, 그 다음 C"를 볼 수 없다. 멀티터치 어트리뷰션이나 사용자 수준 퍼널 분석이 중요하다면 다른 도구가 필요하다.
제한된 세그먼테이션 — 내장 필터링은 국가, 페이지, 리퍼러, 디바이스 유형, 브라우저를 지원한다. 고급 코호트 분석이나 커스텀 디멘전 분석은 API를 통한 외부 BI 도구 낼이 필요하다.
광고 플랫폼 통합 없음 — GA4가 Google Ads와 네이티브 통합되는 것과 달리, Plausible에는 광고 플랫폼과의 직접 연결이 없다. UTM 파라미터와 캠페인 이름은 추적할 수 있지만 ROAS 계산은 수동 상관관계가 필요하다.
히트맵 및 세션 녹화 — 이 기능은 Plausible에 존재하지 않는다(프라이버시 우선 철학과 충돌). 시각적 행동 분석이 필요하면 Hotjar이나 Microsoft Clarity와 함께 사용하라.
서치 콘솔 통합 — GA4가 Google Search Console에 직접 연결되는 것과 달리, Plausible은 수동 가져오기 또는 API 기반 상관관계가 필요하다. 네이티브 “검색 쿼리” 보고서가 없다.
이커머스 깊이 — 수익 추적은 존재하지만 GA4의 향상된 이커머스에 비하면 기본적이다.
자주 묻는 질문 #
Plausible은 정말 쿠키 배너 없이 GDPR을 준수하나요?
예. EDPB와 여러 EU 데이터 보호 당국은 쿠키나 개인 데이터 수집 없는 분석이 GDPR 제6(1)(f)의 동의를 필요로 하지 않는다고 확인했다. Plausible은 IP 주소를 수집하지 않고(해시 후 폐기), 쿠키나 localStorage를 사용하지 않고, 디바이스를 핑거프린팅하지 않으며, 사이트 간 추적을 하지 않는다. 그러나 구매 데이터를 처리하는 수익 추적 기능을 활성화하는 경우 DPO와 상담하라. 셀프 호스팅 배포가 가장 준수하는 옵션이다.
Google Analytics와 비교하여 Plausible의 정확도는 어떠한가요?
Plausible은 일반적으로 GA4보다 5-15% 높은 방문자 수를 보고하는데, 광고 차단기와 프라이버시 브라우저에 차단되는 비율이 더 낮기 때문이다. GA4는 약 **35-40%**의 광고 차단기 사용자에 의해 차단되는 반면, Plausible(자체 도메인에서 셀프 호스팅)은 **8-12%**만 차단된다. GA4의 “누락된” 데이터는 실제로 누락된 것이 아니라 스크립트 차단으로 수집되지 않은 것이다. Plausible은 실제 트래픽의 더 완전한 그림을 제공한다.
GA4의 역사적 데이터를 가져올 수 있나요?
예. Plausible은 GA Reporting API v4를 통해 데이터를 가져오는 Google Analytics 가져오기 도구를 제공한다. UA 속성과 GA4 속성을 처리하여 Plausible의 데이터 모델에 매핑한다. GA4의 데이터 모델 차이로 인해 일부 지표에는 직접적인 대등 항목이 없다. 가져오기는 백그라운드 작업으로 실행되며 대규모 데이터셋에는 수 시간이 소요될 수 있다.
# GA 가져오기 실행 (Plausible 컨테이너에서)
docker compose exec plausible bin/plausible \
"Plausible.Google.Import.start('your-ga-property-id', 'YOUR_API_KEY')"
사이트가 VPS 용량을 초과하면 어떻게 되나요?
Plausible은 예측 가능하게 확장된다. 2GB VPS는 월 약 50만 PV를 처리한다. 4GB VPS는 월 약 200만 PV를 처리한다. 더 높은 트래픽의 경우 세 가지 옵션이 있다: (1) VPS 수직 확장, (2) ClickHouse를 전용 서버로 이동(Phoenix 앱이 아닌 데이터베이스가 병목), (3) Plausible Cloud 사용(월 1만 PV부터 $9 시작). ClickHouse 인스턴스가 용량을 결정한다.
여러 도메인이나 서브도메인은 어떻게 추적하나요?
각 도메인은 Plausible에서 별도의 “사이트"이지만 공유 로그인으로 구성할 수 있다. 서브도메인 추적의 경우 두 가지 옵션이 있다: 세부 보고를 위해 별도로 추적하거나, data-api-host 속성을 사용하여 동일한 사이트 ID로 롤업한다. 서브도메인 간 추적은 Plausible이 쿠키나 세션 저장소를 사용하지 않으므로 특별한 구성 없이 작동한다.
<!-- 서브도메인을 하나의 보고서로 롤업 -->
<script defer data-domain="yourdomain.com"
data-api="https://analytics.yourdomain.com/api/event"
src="https://analytics.yourdomain.com/js/script.js"></script>
셀프 호스팅 Plausible은 정말 영구적으로 묣인가요?
소프트웨어는 AGPL-3.0 하에 묣 — 라이선스 비용 없이 사용, 수정, 재배포할 수 있다. 비용은 인프라뿐이다: VPS 호스팅, 백업 저장소, SSL 인증서. 월 $6 VPS의 개인 블로그의 경우 이것이 총 비용이다. 인위적인 제한, 기능 게이트, 강제 업그레이드가 없다. 코드와 데이터를 완전히 소유한다.
결론: 감시 없는 분석 #
Plausible Analytics는 인사이트를 위해 프라이버시를 거래할 필요가 없음을 증명한다. 1KB 미만의 추적 스크립트, 제로 쿠키, 45배 더 빠른 로드 시간은 대다수 웹사이트에 대해 기술적으로 Google Analytics보다 우수하다. 셀프 호스팅 옵션은 완전한 데이터 주권을 추가하여 국경 간 데이터 전송의 컴플라이언스 리스크를 제거한다.
일반적인 웹사이트의 경우 GA4에서 Plausible으로 전환하는 것은: 쿠키 동의 배너 제거, Lighthouse 점수 10-20점 향상, 더 빠른 페이지 로드 — 여전히 몇 명이 방문했는지, 어떤 페이지를 봤는지, 어디서 왔는지 알면서 말이다. 이것이 대부분의 결정에 중요한 지표이다.
이번 주에 인스턴스를 배포하라. Docker Compose 설정은 5분이 채 걸리지 않고, 추적 스크립트는 한 줄이며, 대시보드는 즉시 데이터를 표시한다. 더 빠른 페이지 로드에 대해 방문자가 감사할 것이다. 컴플라이언스에 대해 법무팀이 감사할 것이다. 제로 임팩트 스크립트에 대해 Core Web Vitals이 감사할 것이다.
오픈소스 도구 논의를 위한 Telegram 그룹: t.me/dibi8ko
추천 호스팅 및 인프라 #
위 도구들을 프로덕션에 배포하려면 안정적인 인프라가 필요합니다. dibi8가 직접 사용 중인 두 가지 옵션:
- DigitalOcean — 60일 $200 무료 크레딧, 14개 이상 글로벌 리전. 오픈소스 AI 도구의 기본 선택.
- HTStack — 홍콩 VPS, 중국 본토 저지연 접속. dibi8.com 호스팅 중인 검증된 IDC.
제휴 링크 — 추가 비용 없이 dibi8 운영을 지원합니다.
참고 자료 및 추가 읽기 #
- Plausible Analytics GitHub 저장소 — 공식 소스, 21,000+ 스타
- Plausible 문서 — 공식 제품 문서
- Plausible 셀프 호스팅 가이드 — 공식 셀프 호스팅 문서
- Plausible Stats API — REST API 참조
- Plausible v3.0 릴리스 노트 — 2026년 2월 릴리스
- ClickHouse 문서 — Plausible을 구동하는 분석 데이터베이스
- MaxMind GeoLite2 — 묣 GeoIP 데이터베이스
- EDPB 동의 가이드라인 — 쿠키 없는 분석의 법적 기초
- DigitalOcean VPS 설정 — 셀프 호스팅 배포용 VPS 호스팅
본 문서에는 DigitalOcean의 제휴 링크가 포함되어 있습니다. 이 링크를 통해 VPS 서비스를 구매할 경우 dibi8.com에 추가 비용 없이 커미션이 지급될 수 있습니다. 모든 추천은 실제 테스트와 실제 배포 경험에 기반합니다.
💬 댓글 토론