Skip to content

Latest commit

 

History

History
86 lines (66 loc) · 2.42 KB

File metadata and controls

86 lines (66 loc) · 2.42 KB

AnalyticsBundle

Privacy-focused analytics for Symfony applications. Track pageviews, visitors, traffic sources, and user behavior without third-party services.

Features

  • Privacy-first - No cookies, anonymized IPs, GDPR-friendly
  • Self-hosted - All data stays on your server
  • Real-time capable - Configurable aggregation frequency
  • Lightweight - Minimal JavaScript tracker (~2KB)
  • Extensible - Custom entities and metrics

Quick Start

1. Install

composer require xutim/analytics-bundle

2. Register bundle (if not using Symfony Flex)

// config/bundles.php
return [
    // ...
    Xutim\AnalyticsBundle\XutimAnalyticsBundle::class => ['all' => true],
];

3. Create entity classes

The bundle requires you to create concrete entity classes. See Installation for entity setup.

4. Configure

# config/packages/xutim_analytics.yaml
xutim_analytics:
    site_host: 'example.com'
    models:
        analytics_event:
            class: App\Entity\AnalyticsEvent
        analytics_event_archive:
            class: App\Entity\AnalyticsEventArchive
        analytics_daily_summary:
            class: App\Entity\AnalyticsDailySummary
        analytics_daily_traffic_source:
            class: App\Entity\AnalyticsDailyTrafficSource
        analytics_daily_country:
            class: App\Entity\AnalyticsDailyCountry
        analytics_daily_device:
            class: App\Entity\AnalyticsDailyDevice
        analytics_daily_utm:
            class: App\Entity\AnalyticsDailyUtm
        analytics_daily_page_referrer:
            class: App\Entity\AnalyticsDailyPageReferrer
        analytics_daily_session:
            class: App\Entity\AnalyticsDailySession

5. Run migrations

bin/console doctrine:migrations:migrate

6. Add tracking

See Installation for Stimulus controller setup.

7. Aggregate data

bin/console xutim:analytics:aggregate

Documentation