cv-chameleon / laravel-matomo-tracker
A Laravel facade/wrapper for the matomo/matomo-php-tracker for server side Matomo tracking.
Installs: 3 500
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 2
Open Issues: 1
Requires
- matomo/matomo-php-tracker: ^3.0.0
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~7.0
- sempro/phpunit-pretty-print: ^1.0
README
About
The cv-chameleon\laravel-matomo-tracker
Laravel package is a wrapper for the piwik\piwik-php-tracker
. The Piwik php tracker allows serverside tracking.
Features
- LaravelMatomoTracker Facade
- Queued tracking requests in Laravel queue
Feel free to suggest new features.
Installation
Via Composer
Require the cv-chameleon\laravel-matomo-tracker
package in your composer.json
and update your dependencies:
$ composer require cv-chameleon/laravel-matomo-tracker
Publish the config file (optional)
Run php artisan vendor:publish
to publish the config file if needed.
$ php artisan vendor:publish
Update your .env
Add these variables to your .env
file and configure it to fit your environment.
[...] MATOMO_URL="https://your.matomo-install.com" MATOMO_SITE_ID=1 MATOMO_AUTH_TOKEN="00112233445566778899aabbccddeeff" MATOMO_QUEUE="matomotracker" MATOMO_QUEUE_CONNECTION="default" [...]
That's it!
Usage
You can use the facade to track.
LaravelMatomoTracker::doTrackPageView('Page Title')
Tracking
Basic functionality
Please see the https://developer.matomo.org/api-reference/PHP-Piwik-Tracker page for basic method documentation.
Additionally there are some Methods to simplyfy the usage:
// instead of using LaravelMatomoTracker::doTrackAction($actionUrl, 'download') // or LaravelMatomoTracker::doTrackAction($actionUrl, 'link') // you can use this LaravelMatomoTracker::doTrackDownload($actionUrl); LaravelMatomoTracker::doTrackOutlink($actionUrl);
Queues
For queuing you can use these functions.
LaravelMatomoTracker::queuePageView(string $documentTitle) LaravelMatomoTracker::queueEvent(string $category, string $action, $name = false, $value = false) LaravelMatomoTracker::queueContentImpression(string $contentName, string $contentPiece = 'Unknown', $contentTarget = false) LaravelMatomoTracker::queueContentInteraction(string $interaction, string $contentName, string $contentPiece = 'Unknown', $contentTarget = false) LaravelMatomoTracker::queueSiteSearch(string $keyword, string $category = '', $countResults = false) LaravelMatomoTracker::queueGoal($idGoal, $revencue = 0.0) LaravelMatomoTracker::queueDownload(string $actionUrl) LaravelMatomoTracker::queueOutlink(string $actionUrl) LaravelMatomoTracker::queueEcommerceCartUpdate(float $grandTotal) LaravelMatomoTracker::queueEcommerceOrder(float $orderId, float $grandTotal, float $subTotal = 0.0, float $tax = 0.0, float $shipping = 0.0, float $discount = 0.0) LaravelMatomoTracker::queueBulkTrack()
For setting up queues, find the documentation on https://laravel.com/docs/6.x/queues.
Settings
Have a look in the https://developer.matomo.org/api-reference/PHP-Piwik-Tracker page for basic settings documentation.
Additionaly these settings are available:
LaravelMatomoTracker::setCustomDimension(int $id, string $value) // only applicable if the custom dimensions plugin is installed on the Matomo installation LaravelMatomoTracker::setCustomDimensions([]) // array of custom dimension objects {id: <int>, value: <string>} // bulk insert of custom dimensions and basic type checking LaravelMatomoTracker::setCustomVariables([]) // array of custom variable objects {id: <int>, name: <string>, value: <string>, scope: <string>} // bulk insert of custom variables and basic type checking
Change log
Please see the changelog for more information on what has changed recently.
Security
If you discover any security related issues, please report in the issue tracker.
License
BSD-3-Clause. Please see the license file for more information.