Matomo Tracker
A wrapper for the Matomo Tracking HTTP API
Usage
First, install matomo-tracker
as a dependency:
npm install --save matomo-tracker
Then, use it in your project:
var MatomoTracker = require('matomo-tracker');
var matomo = new MatomoTracker(1, 'http://mywebsite.com/matomo.php');
matomo.on('error', function(err) {
console.log('error tracking request: ', err);
});
matomo.track('http://example.com/track/this/url');
matomo.track({
url: 'http://example.com/track/this/url',
action_name: 'This will be shown in your dashboard',
ua: 'Node.js v0.10.24',
cvar: JSON.stringify({
'1': ['custom variable name', 'custom variable value']
})
});
var events = [{
'_id': 'AA814767-7B1F-5C81-8F1D-8E47AD7D2982',
'cdt': '2018-03-22T02:32:22.867Z',
'e_c': 'Buy',
'e_a': 'rightButton',
'e_v': '2'
},{
'_id': 'AA814767-7B1F-5C81-8F1D-8E47AD7D2982',
'cdt': '2018-03-22T02:33:52.962Z',
'e_c': 'Buy',
'e_a': 'leftButton',
'e_v': '4'
}];
matomo.trackBulk(events, (resData) => {
})
That's it. For a complete list of options, see Matomo's Tracking HTTP API Reference.
Advanced usage
If you renamed the tracking file piwik.php
or matomo.php
of your matomo instance, the following error will be thrown:
new MatomoTracker(1, 'http://matomo.my-site.com/my-file.php'))
To skip this check, simply pass true
as third argument to the constructor:
new MatomoTracker(1, 'http://matomo.my-site.com/my-file.php', true))
License
MIT License