fyrndly/laravel-matomo-tracker

A seamless Matomo Analytics integration for Laravel app tracking.

Maintainers

Package info

github.com/FyrnDly/laravel-matomo-tracker

pkg:composer/fyrndly/laravel-matomo-tracker

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-04-30 05:08 UTC

This package is auto-updated.

Last update: 2026-04-30 05:56:55 UTC


README

A seamless and lightweight Matomo Analytics integration for Laravel application tracking. This package wraps the official Matomo PHP Tracker to provide a Laravel-friendly syntax, including Facades and auto-configuration.

Features

  • Auto-configuration: Automatically detects Client IP, User-Agent, and Browser Language.
  • User Tracking: Automatically links Matomo User ID with Laravel Auth (configurable attribute).
  • Flexible Tracking: Supports Page Views, Custom Events, Site Search, and Goals.
  • Custom Dimensions: Easily set custom dimensions for your tracking data.
  • Laravel Integration: Includes a Facade and Service Provider with auto-discovery.

Installation

You can install the package via composer:

composer require fyrndly/laravel-matomo-tracker

The package will automatically register its service provider and facade.

Configuration

First, publish the configuration file:

php artisan vendor:publish --tag="matomo-config"

Then, add your Matomo details to your .env file:

MATOMO_URL=https://your-matomo-domain.com
MATOMO_SITE_ID=1
MATOMO_TOKEN=your_auth_token_here
MATOMO_USER_ID_ATTRIBUTE=email

Configuration Options

  • url: Your Matomo server URL.
  • site_id: Your Matomo site ID.
  • token: Required for some features like setting the user's IP address manually.
  • user_id_attribute: The attribute from the authenticated user model to use as the Matomo User ID (e.g., email, id, or username).

Usage

Using the Facade

use FyrnDly\\Matomo\\Facades\\Matomo;

// Track a Page View
Matomo::pageView('Home Page');

// Track an Event
Matomo::event('Category', 'Action', 'Name', 1.0);

// Track a Goal
Matomo::goal(1, 50.0);

// Track Site Search
Matomo::search('search keyword', 'category', 10);

Custom Dimensions

You can set custom dimensions before tracking a page view or event:

Matomo::setCustomDimension(1, 'Premium User')
    ->pageView('Dashboard');

Manual User ID

If you need to manually set or override the User ID for a specific request:

Matomo::setUserId('custom-user-id')->pageView('Profile Page');

Accessing the Raw Tracker

If you need to access methods directly from the underlying MatomoTracker instance:

$rawTracker = Matomo::getRawTracker();

Credits

License

The MIT License (MIT). Please see License File for more information.