Privacy-Focused Web Analytics for Europe
FastStats is a privacy-focused web analytics platform designed as a European alternative to Google Analytics. It provides comprehensive website analytics while ensuring full GDPR compliance and data sovereignty.
| Feature | FastStats | Google Analytics |
|---|---|---|
| Cookie consent required | No | Yes |
| GDPR compliant by default | Yes | Requires configuration |
| Data location | EU only | Global |
| Script size | <1KB | ~45KB |
| Real-time analytics | Yes | Limited |
| Open source | Yes | No |
example.com)<head> sectionAdd this script to your website's <head> section:
<script defer data-site="YOUR_SITE_ID" src="https://eu1.faststats.io/t.js"></script>
Parameters:
data-site: Your unique site IDdefer: Loads script asynchronously (recommended)The FastStats dashboard provides a comprehensive view of your website's analytics at a glance.
Quick filters:
Live visitor count shown in the top right corner. Click for detailed real-time view.
Each panel provides specific insights into your traffic.
Most visited pages on your website:
Traffic sources:
Geographic distribution of your visitors by country, region, and city.
Drill-down: Click a country to see regions, click a region to see cities.
Browser usage statistics:
Device type breakdown:
Track marketing campaigns using UTM parameters:
| Parameter | Purpose | Example |
|---|---|---|
| utm_source | Traffic source | google, facebook, newsletter |
| utm_medium | Marketing medium | cpc, email, social |
| utm_campaign | Campaign name | spring_sale, product_launch |
| utm_content | Ad variation | banner_a, text_link |
| utm_term | Paid keywords | running+shoes |
Example URL:
https://yoursite.com/?utm_source=facebook&utm_medium=social&utm_campaign=spring_sale
Click any item in the dashboard panels to filter all data by that dimension.
Filters are cumulative. For example:
Click the Clear Filters button or press Esc to remove all filters.
View your data across different time ranges.
Compare current period with previous period:
Monitor live visitor activity on your website.
Last 50 pageviews with timestamps.
Data is buffered for 5 minutes before being aggregated for performance.
Configure your site's analytics behavior.
Exclude by IP: Add IP addresses to exclude (e.g., your office)
Example: 192.168.1.1, 10.0.0.0/8
Exclude in code: Add data-exclude="true" to tracking script:
<script defer data-site="YOUR_SITE_ID" data-exclude="true" src="https://eu1.faststats.io/t.js"></script>
Add the tracking script to your site's <head> section:
<script defer data-site="YOUR_SITE_ID" src="https://eu1.faststats.io/t.js"></script>
</head>Add to pages/_document.js:
import { Html, Head, Main, NextScript } from 'next/document'
export default function Document() {
return (
<Html>
<Head>
<script defer data-site="YOUR_SITE_ID" src="https://eu1.faststats.io/t.js"></script>
</Head>
<body>
<Main />
<NextScript />
</body>
</Html>
)
}
Track custom events with JavaScript:
// Basic event
faststats('event', 'Signup')
// Event with custom data
faststats('event', 'Purchase', { value: 99.99 })
Triggered when visiting a specific page.
Example: Page path contains /thank-you
Triggered by custom events.
Example: Event name equals Purchase
Assign monetary value to goals for revenue tracking:
Track multi-step conversion paths:
API requires authentication via API key:
Authorization: Bearer YOUR_API_KEY
GET /api/v1/stats
Parameters:
- site_id: Your site ID
- period: today|7d|30d
- metrics: visitors,pageviews,bounce_rate
GET /api/v1/breakdown
Parameters:
- site_id: Your site ID
- property: page|country|referrer
- period: Date range
# Download latest release
wget https://faststats.io/releases/latest/faststats.tar.gz
# Extract
tar -xzf faststats.tar.gz
cd faststats
# Install dependencies
npm install
# Configure
cp config.example.yaml config.yaml
nano config.yaml
# Run migrations
npm run migrate
# Start server
npm run start
Edit config.yaml:
server:
port: 8000
host: 0.0.0.0
database:
host: localhost
port: 5432
database: faststats
user: faststats
password: YOUR_PASSWORD
redis:
host: localhost
port: 6379
VACUUM ANALYZE weekly<head>| Shortcut | Action |
|---|---|
T |
Toggle Today |
Y |
Toggle Yesterday |
W |
Toggle Last 7 Days |
M |
Toggle Last 30 Days |
L |
Toggle Live Mode |
Esc |
Clear filters |
| Term | Definition |
|---|---|
| Visitor | Unique person visiting your site (identified by fingerprint, not cookies) |
| Pageview | Single page load |
| Session | Series of pageviews with <30 min gaps |
| Bounce | Single-page visit with no further interaction |
| Referrer | Website that linked to your site |
| UTM | Urchin Tracking Module - URL parameters for campaign tracking |
FastStats is GDPR compliant by design:
Default retention periods:
| Data Type | Retention |
|---|---|
| Raw events | 2 years |
| Aggregated stats | Indefinite |
| Real-time buffer | 5 minutes |
Configure in config.yaml:
retention:
events_days: 730 # 2 years
FastStats - Privacy-focused analytics for the modern web.
© 2026 INUX Cloud s.r.o. | faststats.io