Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Matomo Bundle

Matomo Bundle Laravel Package

aldaflux/matomo-bundle

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Matomo Bundle
Can I use AldafluxMatomoBundle directly in Laravel since it’s a Symfony package?
No, this bundle is designed for Symfony 7.1+ and won’t work natively in Laravel. Laravel lacks Symfony’s core dependencies (e.g., Doctrine Collections) and uses different service containers. You’d need to rewrite or bridge it, which introduces compatibility risks and maintenance overhead.
What’s the simplest way to track Matomo events in Laravel without this bundle?
Use Laravel’s built-in HTTP client to send events directly to Matomo’s API. Example: `Http::post('matomo-url', ['idsite' => 1, 'token_auth' => env('MATOMO_TOKEN'), 'action_name' => 'Event'])`—no dependencies required. Libraries like `matomo-php-tracker` also offer Laravel-friendly wrappers.
Does this bundle support real-time dashboards or custom reporting in Laravel?
The bundle includes Symfony UX Chart.js for dashboards, but integrating it into Laravel would require complex setup (e.g., Laravel Mix/Vite). For Laravel, consider using Alpine.js + Chart.js or third-party packages like `spatie/laravel-analytics` for simpler, native solutions.
How do I secure the Matomo token in Laravel if I avoid this bundle?
Store the token in Laravel’s `.env` file (e.g., `MATOMO_TOKEN=your_token`) and access it via `env('MATOMO_TOKEN')`. Never hardcode tokens in config files. Use Laravel’s `config/services.php` to centralize credentials and restrict API access via middleware if needed.
Will using this bundle in Laravel cause dependency conflicts?
Yes, high risk. The bundle requires Symfony 7.1+ components (e.g., `doctrine/collections`), which conflict with Laravel’s older Symfony versions. Replacing them with Laravel’s native `collect()` or `Http` client would break functionality. Test thoroughly in a staging environment before migration.
Are there Laravel-native alternatives to Matomo for analytics?
Yes. For Google Analytics, use `spatie/laravel-analytics`. For custom tracking, leverage Laravel’s `Log::channel()` or Scout (for event-based analytics). For Matomo specifically, the `matomo-php-tracker` package is a lightweight, Laravel-compatible option with no Symfony dependencies.
How do I configure Matomo tracking per-environment (dev/staging/prod) in Laravel?
Use Laravel’s `.env` files to define environment-specific settings (e.g., `MATOMO_SITE=https://prod.matomo.com` in `.env.production`). Load these in `config/services.php` and inject the config into your tracker service. Avoid hardcoding URLs/tokens in blade templates or controllers.
Does this bundle support caching Matomo API responses in Laravel?
No, the bundle doesn’t include caching logic. In Laravel, cache responses using `Cache::remember()` or `Cache::put()` with a TTL (e.g., 5 minutes) to reduce API calls. Example: `Cache::remember('matomo_events', 300, fn() => Http::get('matomo-api-endpoint'))`.
What Laravel versions are compatible with this bundle’s rewritten version?
If you fork and adapt this bundle for Laravel, target Laravel 9+ (which uses Symfony 6.2+ components). Older Laravel versions (e.g., 8.x) may lack compatibility with Symfony 7.1+ dependencies. Always check the `composer.json` constraints of your Laravel project.
How do I test Matomo tracking in Laravel before going to production?
Mock the HTTP client in PHPUnit using `Http::fake()` to simulate API responses. Verify tokens, payloads, and error handling. Test edge cases like network failures or invalid tokens. For end-to-end testing, use Laravel Dusk or Pest to validate event tracking on real pages.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor