작성일 댓글 남기기

Umami 설치 가이드 – GA 없이 내 서버에서 방문자 분석하는 법

Umami 웹 분석 대시보드 일러스트

구글 애널리틱스, 정말 계속 써야 할까?

블로그나 개인 웹사이트를 운영하면서 방문자 통계를 확인하고 싶을 때, 대부분 가장 먼저 떠올리는 도구가 구글 애널리틱스(Google Analytics)입니다. 무료이고, 기능도 풍부하고, 워드프레스 플러그인 하나로 쉽게 연동할 수 있으니까요. 하지만 2026년 현재, 구글 애널리틱스를 둘러싼 고민이 점점 깊어지고 있습니다.

첫째, 개인정보 보호 규제가 전 세계적으로 강화되고 있습니다. EU의 GDPR은 물론이고, 한국에서도 개인정보보호법 개정으로 쿠키 동의 배너 없이 방문자 데이터를 수집하기가 점점 까다로워지고 있습니다. 구글 애널리틱스 4(GA4)는 방문자의 IP 주소, 브라우저 핑거프린트, 쿠키 등 상당한 양의 개인정보를 구글 서버로 전송합니다.

둘째, GA4로 넘어오면서 인터페이스가 지나치게 복잡해졌습니다. 단순히 “오늘 몇 명이 방문했는지”, “어떤 글이 인기 있는지” 확인하고 싶을 뿐인데, 이벤트 기반 데이터 모델과 탐색 보고서 사이에서 길을 잃기 십상입니다. 개인 블로그 운영자에게 GA4의 기능 대부분은 과잉 스펙입니다.

셋째, 광고 차단 확장 프로그램(애드블로커)이 구글 애널리틱스 스크립트를 차단하는 비율이 전체 방문자의 30~40%에 달한다는 조사 결과가 있습니다. 즉, GA로 보는 숫자 자체가 실제 방문자 수와 큰 차이가 날 수 있다는 뜻입니다.

이런 문제를 한 번에 해결해 주는 대안이 바로 Umami입니다. 오픈소스 웹 분석 도구로, 내 서버에 직접 설치해서 운영할 수 있고, 쿠키를 사용하지 않으며, 깔끔한 대시보드에서 필요한 정보만 한눈에 보여줍니다. 이 글에서는 Docker를 이용해 Umami를 설치하고, 실제 블로그에 연동하는 전 과정을 단계별로 안내하겠습니다.

GA vs Umami 데이터 흐름 비교 다이어그램

Umami가 뭔가요? – 핵심 특징 5가지

Umami는 2020년에 처음 공개된 오픈소스 웹 분석 플랫폼입니다. “Simple, fast, privacy-focused”를 표방하며, 구글 애널리틱스의 복잡함과 프라이버시 문제에 지친 개발자들 사이에서 빠르게 인기를 얻었습니다. GitHub 스타 수가 2만 5천 개를 넘었고, 2026년 현재도 활발하게 업데이트되고 있습니다.

1. 쿠키를 사용하지 않는 프라이버시 중심 설계

Umami는 방문자를 추적하기 위해 쿠키를 전혀 사용하지 않습니다. 대신 방문자의 IP 주소, User-Agent 등을 해시 처리하여 익명화된 방문자 식별값을 생성합니다. 이 해시값은 매일 자정에 초기화되므로 장기적인 개인 추적이 불가능합니다. 덕분에 GDPR 쿠키 동의 배너 없이도 합법적으로 방문자 분석을 할 수 있습니다.

2. 가볍고 빠른 추적 스크립트

Umami의 추적 스크립트 크기는 약 2KB에 불과합니다. 구글 애널리틱스의 추적 스크립트(gtag.js)가 약 80KB 이상인 것과 비교하면 40분의 1 수준입니다. 사이트 로딩 속도에 미치는 영향이 거의 없으므로, 코어 웹 바이탈(Core Web Vitals) 점수에도 유리합니다.

3. 직관적인 대시보드

GA4의 복잡한 보고서 구조와 달리, Umami는 로그인하자마자 한 화면에서 핵심 지표를 모두 확인할 수 있습니다. 페이지뷰, 방문자 수, 평균 체류 시간, 이탈률, 인기 페이지, 유입 경로, 브라우저/OS/기기 비율, 국가별 분포 등을 깔끔한 그래프와 표로 보여줍니다.

4. 완전한 데이터 소유권

Umami를 셀프호스팅하면 모든 분석 데이터가 내 서버의 데이터베이스에 저장됩니다. 구글이나 제3자에게 데이터가 전송되지 않으며, 데이터를 어떻게 보관하고 삭제할지도 내가 결정합니다. 블로그 방문자 데이터라는 민감할 수 있는 정보를 완전히 내 통제 하에 둘 수 있습니다.

5. 다국어 지원과 커스텀 이벤트

Umami는 한국어를 포함한 다양한 언어를 지원합니다. 또한 단순 페이지뷰 추적을 넘어서, JavaScript 한 줄로 커스텀 이벤트(버튼 클릭, 파일 다운로드, 폼 제출 등)도 추적할 수 있습니다. 개인 블로그 수준에서 필요한 분석 기능은 사실상 전부 갖추고 있는 셈입니다.

설치 전 준비물 확인

Umami를 Docker로 설치하기 위해 미리 준비해야 할 것들을 정리해 보겠습니다. 이미 Docker 환경이 갖춰진 분이라면 대부분 바로 시작할 수 있습니다.

필수 준비물

  • Docker와 Docker Compose가 설치된 서버 – 시놀로지 NAS, 라즈베리 파이, 클라우드 VPS, 또는 일반 PC 어디든 괜찮습니다. 메모리 512MB 이상이면 충분합니다.
  • 터미널 접속 환경 – SSH로 서버에 접속하거나, 로컬 PC라면 터미널(명령 프롬프트)을 사용합니다.
  • 기본적인 명령어 지식 – cd, mkdir, nano(또는 vi) 정도만 알면 됩니다.

선택 준비물 (권장)

  • 도메인 이름 – analytics.내도메인.com 같은 서브도메인이 있으면 HTTPS 적용과 접근이 편리합니다. 없어도 IP 주소로 접속 가능합니다.
  • 리버스 프록시 – Nginx Proxy Manager나 Caddy 같은 리버스 프록시가 이미 설정되어 있다면 HTTPS 적용이 쉽습니다.

시놀로지 NAS를 사용하시는 분이라면 Container Manager(구 Docker 패키지)에서 프로젝트 기능을 이용해 docker-compose.yml을 바로 불러올 수 있으므로 더 간편합니다.

Umami Docker 설치 구성도

Docker Compose로 Umami 설치하기

이제 본격적으로 설치를 시작하겠습니다. Umami 공식 저장소에서 제공하는 Docker Compose 파일을 기반으로, 실전에서 바로 쓸 수 있도록 설정을 조정해 보겠습니다.

1단계: 프로젝트 디렉토리 생성

먼저 Umami 관련 파일을 모아둘 디렉토리를 만듭니다.

mkdir -p ~/umami
cd ~/umami

2단계: docker-compose.yml 작성

아래 내용으로 docker-compose.yml 파일을 생성합니다. Umami는 데이터베이스로 PostgreSQL 또는 MySQL을 지원하는데, 공식 권장은 PostgreSQL이므로 이를 기준으로 작성합니다.

version: '3'
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:your_secure_password@db:5432/umami
      DATABASE_TYPE: postgresql
      APP_SECRET: 여기에_랜덤_문자열_32자_이상_입력
    depends_on:
      db:
        condition: service_healthy
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:3000/api/heartbeat || exit 1"]
      interval: 30s
      timeout: 5s
      retries: 3

  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: your_secure_password
    volumes:
      - umami-db-data:/var/lib/postgresql/data
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U umami"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  umami-db-data:

여기서 반드시 변경해야 할 두 가지가 있습니다.

  • your_secure_password – DATABASE_URL과 POSTGRES_PASSWORD에 동일한 강력한 비밀번호를 입력합니다. 예를 들어 openssl rand -base64 24 명령으로 랜덤 비밀번호를 생성할 수 있습니다.
  • APP_SECRET – 세션 암호화에 사용되는 비밀 키입니다. 역시 openssl rand -hex 32로 생성한 랜덤 문자열을 사용하세요.

3단계: 컨테이너 실행

설정이 완료되었다면 컨테이너를 실행합니다.

docker compose up -d

처음 실행 시 이미지 다운로드와 데이터베이스 초기화에 1~2분 정도 소요됩니다. 아래 명령어로 컨테이너 상태를 확인합니다.

docker compose ps

umami와 db 두 컨테이너가 모두 Up (healthy) 상태로 표시되면 성공입니다. 만약 문제가 있다면 로그를 확인합니다.

docker compose logs umami

4단계: 초기 로그인

웹 브라우저에서 http://서버IP:3000에 접속합니다. 로그인 화면이 나타나면 기본 계정으로 로그인합니다.

  • 아이디: admin
  • 비밀번호: umami

로그인 후 반드시 비밀번호를 변경하세요. 좌측 하단의 사용자 아이콘 → Profile → Change password에서 변경할 수 있습니다. 보안을 위해 이 단계를 절대 건너뛰지 마세요.

웹사이트 등록과 추적 코드 설치

Umami가 정상적으로 실행되었다면, 이제 분석할 웹사이트를 등록하고 추적 코드를 삽입해 보겠습니다.

Umami에 웹사이트 추가하기

Umami 대시보드에 로그인한 상태에서 다음 순서로 진행합니다.

  • 좌측 메뉴에서 Settings(설정)를 클릭합니다.
  • Websites(웹사이트) 탭을 선택합니다.
  • Add website(웹사이트 추가) 버튼을 클릭합니다.
  • Name에 식별하기 쉬운 이름(예: “내 블로그”)을 입력합니다.
  • Domain에 블로그 도메인(예: blog.example.com)을 입력합니다. http://나 https://는 제외하고 도메인만 입력합니다.
  • Save(저장)를 클릭합니다.

저장 후 해당 웹사이트의 Tracking code(추적 코드) 버튼을 클릭하면 아래와 같은 형태의 스크립트가 표시됩니다.

<script defer src="http://서버IP:3000/script.js" 
        data-website-id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx">
</script>

이 스크립트를 웹사이트의 <head> 태그 안에 삽입하면 됩니다.

워드프레스에 추적 코드 삽입하기

워드프레스 블로그에 Umami 추적 코드를 삽입하는 방법은 여러 가지가 있습니다. 가장 쉬운 세 가지 방법을 소개합니다.

방법 1: 전용 플러그인 사용 (가장 간편)

워드프레스 플러그인 검색에서 “Umami Analytics”를 검색하면 여러 플러그인이 나옵니다. 그중 평점이 높은 것을 설치한 뒤, 설정 페이지에서 Umami 서버 URL과 Website ID만 입력하면 자동으로 추적 코드가 삽입됩니다.

방법 2: 테마 functions.php에 직접 추가

플러그인을 추가하고 싶지 않다면, 사용 중인 테마(자식 테마 권장)의 functions.php 파일 맨 아래에 다음 코드를 추가합니다.

function add_umami_tracking() {
    echo '<script defer src="https://analytics.내도메인.com/script.js" 
            data-website-id="내-웹사이트-ID"></script>';
}
add_action('wp_head', 'add_umami_tracking');

방법 3: Insert Headers and Footers 플러그인 활용

이미 “WPCode” 같은 헤더/푸터 코드 삽입 플러그인을 사용 중이라면, 해당 플러그인의 Header 섹션에 Umami 추적 스크립트를 붙여넣기만 하면 됩니다.

어떤 방법이든 설치 후 블로그에 접속해 본 다음, Umami 대시보드에서 방문 기록이 표시되는지 확인합니다. 보통 수 초 이내에 실시간으로 반영됩니다.

Umami 대시보드 주요 지표 화면

Umami 대시보드 200% 활용하기

추적 코드 설치가 완료되면 데이터가 쌓이기 시작합니다. Umami 대시보드에서 확인할 수 있는 주요 지표와 활용법을 살펴보겠습니다.

핵심 지표 한눈에 보기

대시보드 상단에는 선택한 기간 동안의 핵심 지표가 카드 형태로 표시됩니다.

  • Pageviews(페이지뷰) – 전체 페이지 조회 수입니다. 한 사람이 10페이지를 보면 10으로 카운트됩니다.
  • Visitors(방문자) – 순 방문자 수입니다. 쿠키 대신 해시 기반으로 식별하므로 같은 사람이 하루에 여러 번 방문해도 1로 카운트됩니다.
  • Bounces(이탈) – 한 페이지만 보고 떠난 방문자 수입니다.
  • Views per visit(방문당 조회수) – 평균적으로 한 번 방문할 때 몇 페이지를 보는지 알려줍니다.
  • Visit duration(체류 시간) – 평균 방문 체류 시간입니다.

인기 페이지 분석

Pages 탭에서는 어떤 페이지가 가장 많이 조회되었는지 순위별로 확인할 수 있습니다. 블로그 운영에서 이 정보가 특히 중요한 이유는 어떤 주제의 글이 독자에게 인기 있는지 직접 파악할 수 있기 때문입니다. 인기 글의 공통점을 분석하면 향후 콘텐츠 방향을 잡는 데 큰 도움이 됩니다.

유입 경로 파악

Referrers 탭에서는 방문자가 어디를 통해 블로그에 왔는지 확인할 수 있습니다. 구글 검색, 네이버 검색, 소셜 미디어 공유 등 유입 채널별 비율을 보면 SEO 전략이 잘 먹히고 있는지, 소셜 미디어 홍보가 효과적인지 판단할 수 있습니다.

기기·브라우저·OS 통계

Devices 탭에서는 방문자의 기기 유형(데스크톱, 모바일, 태블릿), 브라우저 종류, 운영체제를 확인할 수 있습니다. 모바일 비율이 높다면 모바일 환경에서의 가독성과 페이지 속도에 더 신경 써야 한다는 의미입니다.

국가·도시별 분포

Locations 탭에서는 방문자의 국가별 분포를 세계 지도 위에 시각적으로 보여줍니다. 한국어 블로그라면 당연히 한국 비율이 가장 높겠지만, 해외에서의 유입이 의외로 많다면 영문 콘텐츠 확장을 고려해 볼 수도 있습니다.

커스텀 이벤트 추적

페이지뷰 외에 특정 행동을 추적하고 싶다면 커스텀 이벤트를 활용합니다. 예를 들어, 블로그 글 하단의 “도움이 되셨나요?” 버튼 클릭을 추적하려면 해당 버튼에 다음과 같은 속성을 추가합니다.

<button data-umami-event="helpful-click" 
        data-umami-event-post="포스트제목">
  도움이 되셨어요 👍
</button>

이렇게 설정하면 Events 탭에서 어떤 글에서 해당 버튼이 몇 번 클릭되었는지 확인할 수 있습니다. 독자 반응을 정량적으로 측정할 수 있는 간단하면서도 강력한 기능입니다.

실전 최적화 팁 – 더 안정적이고 정확하게 운영하기

기본 설치만으로도 충분히 사용할 수 있지만, 몇 가지 추가 설정으로 더 안정적이고 정확한 분석 환경을 만들 수 있습니다.

HTTPS 적용은 필수

추적 스크립트가 HTTP로 로드되면 HTTPS 사이트에서 Mixed Content 경고가 발생하면서 스크립트가 차단될 수 있습니다. 리버스 프록시(Nginx Proxy Manager, Caddy 등)를 통해 Umami에 HTTPS를 적용하는 것을 강력히 권장합니다. 이미 이 블로그의 다른 글에서 Nginx Proxy Manager 설치 방법을 다루었으니 참고하세요.

애드블로커 우회를 위한 프록시 설정

Umami는 구글 애널리틱스에 비해 애드블로커에 차단될 확률이 훨씬 낮지만, 일부 공격적인 차단 목록에는 Umami 도메인도 포함될 수 있습니다. 이를 방지하려면 추적 스크립트를 자신의 도메인을 통해 프록시하는 방법이 있습니다.

예를 들어, 워드프레스가 blog.example.com에서 운영되고 있다면, Nginx 설정에서 /stats/script.js 경로를 Umami 서버로 프록시하도록 설정합니다.

location /stats/ {
    proxy_pass http://umami-server:3000/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

그런 다음 추적 스크립트의 src를 https://blog.example.com/stats/script.js로 변경합니다. 이렇게 하면 추적 요청이 블로그와 같은 도메인에서 나가므로 애드블로커에 차단될 확률이 크게 줄어듭니다.

데이터베이스 백업 자동화

분석 데이터가 소중하다면 정기적인 백업은 필수입니다. cron 작업으로 매일 PostgreSQL 백업을 자동화할 수 있습니다.

# 매일 새벽 3시에 백업 실행
0 3 * * * docker exec umami-db-1 pg_dump -U umami umami | \
  gzip > /backup/umami/umami_$(date +\%Y\%m\%d).sql.gz

오래된 백업 파일은 find 명령으로 자동 삭제하도록 설정하면 디스크 공간도 절약할 수 있습니다.

성능 튜닝: 대규모 트래픽 대비

하루 방문자가 수천 명 이상인 사이트라면 다음 사항을 고려하세요.

  • PostgreSQL 메모리 설정 – docker-compose.yml의 db 서비스에 command: postgres -c shared_buffers=256MB -c effective_cache_size=512MB를 추가하여 캐시 크기를 늘립니다.
  • 데이터 보존 기간 설정 – Umami 환경 변수에 REMOVE_TRAILING_SLASH=1을 추가하면 URL 정규화가 되어 중복 페이지 데이터를 줄일 수 있습니다.
  • 컨테이너 리소스 제한 – docker-compose.yml에서 deploy.resources.limits로 CPU와 메모리 사용량을 제한하면 다른 서비스에 영향을 주지 않습니다.

자동 업데이트 관리

Umami는 꾸준히 새 버전이 릴리스됩니다. Docker 기반이므로 업데이트가 간단합니다.

cd ~/umami
docker compose pull
docker compose up -d

이 두 줄이면 최신 이미지를 다운로드하고 컨테이너를 재시작합니다. 데이터베이스 볼륨은 유지되므로 기존 데이터가 사라지지 않습니다. 다만 메이저 버전 업데이트 시에는 릴리스 노트를 확인하는 습관을 들이세요.

구글 애널리틱스 vs Umami 비교 정리

두 도구의 차이점을 한눈에 비교할 수 있도록 정리해 보겠습니다.

  • 비용 – GA: 무료(데이터는 구글에 제공) / Umami: 무료 오픈소스(셀프호스팅 서버 비용만 발생)
  • 쿠키 사용 – GA: 사용(동의 배너 필요) / Umami: 미사용(동의 배너 불필요)
  • 데이터 저장 위치 – GA: 구글 클라우드 / Umami: 내 서버
  • 추적 스크립트 크기 – GA: ~80KB / Umami: ~2KB
  • 인터페이스 복잡도 – GA: 높음(학습 곡선 가파름) / Umami: 낮음(직관적)
  • 실시간 분석 – GA: 지원 / Umami: 지원
  • 커스텀 이벤트 – GA: 지원(설정 복잡) / Umami: 지원(HTML 속성 하나로 가능)
  • 애드블로커 영향 – GA: 30~40% 차단 / Umami: 거의 차단 안 됨(프록시 설정 시)
  • GDPR 준수 – GA: 추가 설정 필요 / Umami: 기본 준수
  • API 제공 – GA: 지원 / Umami: 지원(REST API)

개인 블로그나 소규모 웹사이트 운영자에게는 Umami가 압도적으로 유리합니다. 반면 대규모 마케팅 캠페인의 전환 추적, 구글 광고 연동, 고급 세그먼트 분석이 필요한 비즈니스 환경에서는 GA가 여전히 강점을 가집니다. 두 도구를 동시에 운영하는 것도 가능하니, 상황에 맞게 선택하면 됩니다.

구글 애널리틱스와 Umami 기능 비교표

Umami API를 활용한 자동화 아이디어

Umami는 강력한 REST API를 제공합니다. 이 API를 활용하면 대시보드에 직접 접속하지 않아도 다양한 자동화를 구현할 수 있습니다.

텔레그램으로 일간 리포트 받기

매일 아침 전날의 방문자 통계를 텔레그램으로 받아볼 수 있습니다. Python 스크립트와 cron을 조합하면 간단히 구현 가능합니다.

import requests
from datetime import datetime, timedelta

# Umami API에서 통계 가져오기
UMAMI_URL = "https://analytics.내도메인.com"
API_TOKEN = "내_API_토큰"
WEBSITE_ID = "내_웹사이트_ID"

yesterday = datetime.now() - timedelta(days=1)
start = int(yesterday.replace(hour=0, minute=0, second=0).timestamp() * 1000)
end = int(yesterday.replace(hour=23, minute=59, second=59).timestamp() * 1000)

headers = {"Authorization": f"Bearer {API_TOKEN}"}
stats = requests.get(
    f"{UMAMI_URL}/api/websites/{WEBSITE_ID}/stats",
    params={"startAt": start, "endAt": end},
    headers=headers
).json()

# 텔레그램으로 발송
message = (
    f"📊 어제 블로그 통계\n"
    f"방문자: {stats['visitors']['value']}명\n"
    f"페이지뷰: {stats['pageviews']['value']}회\n"
    f"평균 체류시간: {stats['totaltime']['value'] // 60}분"
)

TELEGRAM_TOKEN = "텔레그램_봇_토큰"
CHAT_ID = "챗_ID"
requests.post(
    f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
    json={"chat_id": CHAT_ID, "text": message}
)

이 스크립트를 cron으로 매일 아침 8시에 실행하면, 출근길에 전날 블로그 성과를 간편하게 확인할 수 있습니다.

인기 글 자동 정리

Umami API의 /api/websites/{id}/metrics 엔드포인트를 호출하면 특정 기간 동안의 인기 페이지 목록을 가져올 수 있습니다. 이를 활용해서 매주 자동으로 “이번 주 인기 글 TOP 5” 목록을 생성하거나, 블로그 사이드바에 인기 글을 동적으로 표시하는 것도 가능합니다.

n8n과 연동한 워크플로우

이 블로그에서 이전에 소개한 n8n 자동화 플랫폼과 Umami API를 연동하면 더 다양한 시나리오를 구현할 수 있습니다. 예를 들어, 특정 글의 일일 조회수가 100을 넘으면 슬랙이나 텔레그램으로 알림을 보내는 워크플로우를 만들 수 있습니다.

자주 묻는 질문 (FAQ)

Q. 시놀로지 NAS에서도 Umami를 설치할 수 있나요?

네, 시놀로지 NAS의 Container Manager에서 프로젝트 기능을 이용하면 docker-compose.yml을 직접 불러와서 실행할 수 있습니다. DSM 7.2 이상이면 Docker Compose v2를 지원하므로 위의 설정 파일을 그대로 사용할 수 있습니다. NAS의 제한된 리소스에서도 Umami는 가볍게 동작합니다.

Q. 기존 구글 애널리틱스 데이터를 Umami로 가져올 수 있나요?

안타깝게도 GA 데이터를 Umami로 직접 마이그레이션하는 공식 도구는 없습니다. 하지만 GA와 Umami를 동시에 운영하면서 점진적으로 전환하는 것은 가능합니다. 두 추적 코드를 함께 삽입해 두고, Umami에 충분한 데이터가 쌓이면 GA 코드를 제거하는 방식을 추천합니다.

Q. Umami 클라우드 서비스도 있나요?

네, Umami는 Umami Cloud라는 호스팅 서비스도 제공합니다. 월 $9부터 시작하며, 서버 관리 없이 바로 사용할 수 있습니다. 셀프호스팅이 부담스럽다면 클라우드 서비스를 먼저 시도해 보는 것도 좋은 방법입니다. 무료 플랜(월 10만 이벤트 제한)도 있어서 소규모 블로그라면 무료로도 충분합니다.

Q. 하나의 Umami 인스턴스로 여러 사이트를 관리할 수 있나요?

네, Umami는 하나의 인스턴스에서 무제한 웹사이트를 등록할 수 있습니다. 각 웹사이트마다 별도의 추적 코드가 발급되며, 대시보드에서 사이트를 전환하면서 각각의 통계를 확인할 수 있습니다. 블로그 여러 개를 운영하거나, 지인의 사이트 분석도 함께 해줄 수 있습니다.

Q. Umami에 팀원을 초대할 수 있나요?

가능합니다. Settings → Users에서 새 사용자를 추가하고, 각 웹사이트에 대한 접근 권한을 설정할 수 있습니다. 공유 링크(Share URL) 기능을 사용하면 로그인 없이도 특정 사이트의 대시보드를 다른 사람에게 보여줄 수도 있습니다.

마무리 – 내 데이터는 내가 지킨다

Umami는 “웹 분석에 이렇게까지 많은 기능이 필요한가?”라는 질문에서 출발한 도구입니다. 구글 애널리틱스가 제공하는 수백 가지 보고서 중 개인 블로거가 실제로 사용하는 것은 극히 일부입니다. Umami는 그 핵심만 깔끔하게 제공하면서, 프라이버시와 데이터 소유권이라는 가치를 더했습니다.

Docker 몇 줄이면 설치가 끝나고, 2KB짜리 스크립트 하나면 추적이 시작됩니다. 복잡한 설정이나 구글 계정 연동 없이, 내 서버에서 내 데이터를 직접 관리할 수 있다는 것. 이것이 2026년에 개인 웹 분석 도구를 셀프호스팅해야 하는 가장 큰 이유입니다.

오늘 소개한 내용을 따라 Umami를 설치해 보시고, 구글 애널리틱스에 의존하지 않는 프라이버시 중심 블로그 운영을 시작해 보세요. 한번 써보면 GA4의 복잡한 인터페이스로 돌아가고 싶지 않으실 겁니다.

이미지는 Leonardo AI 로 생성되었습니다.

이미지는 Claude AI 로 생성되었습니다.