Skip to content

Add Matomo (formerly Piwik) tracking server-side code to all requests in Roundcube

License

Notifications You must be signed in to change notification settings

tetsuo13/Roundcube-Matomo-Tracking-Api-Plugin

Repository files navigation

Matomo Tracking Plugin for Roundcube

Continuous integration Stable Version

This plugin integrates Matomo analytics using the Matomo Tracking API into Roundcube. This plugin is very different from the Roundcube Webmail piwik analytics plugin which adds the client-side JavaScript Tracking Tag. The aim of this plugin is to add Matomo integration on the server-side in order to get around same-origin policy.

If your Matomo installation is on the same domain as your Roundcube installation and both are using the same protocol, then this plugin is probably not what you need as it will not add any significant value over the JavaScript Tracking Tag. Some example cases where this plugin shines:

  • Matomo at http://analytics.company.com, Roundcube at https://webmail.company.com
  • Matomo at http://analytics.company.com, Roundcube at http://webmail.othercompany.com

Install

Install using Composer or manually download and install into plugins/matomo_tracking_api. Copy config.inc.php.dist to config.inc.php in the same directory and edit the file using the options shown below.

Add matomo_tracking_api to $config['plugins'] in your Roundcube config to enable the plugin.

Configuration

Copy config.inc.php.dist to config.inc.php and edit the configuration variables. Set optional variables to null when unused.

matomo_tracking_api_url [string]

Set this to the URL of the Matomo installation. This URL must be accessible from the Roundcube installation.

matomo_tracking_api_site_id [int|array(string => int)]

Configures the Matomo site ID. The value of this variable can either be a single integer or an array containing multiple server names and IDs in cases where a single Roundcube installation serves multiple hosts.

To set multiple hosts, use the key/value pair of server name and Matomo website ID. For example:

$rcmail_config['matomo_tracking_api_site_id'] = array(
    'webmail.foo.com' => 42,
    'webmail.bar.com' => 13
);

matomo_tracking_api_track_user_id [boolean]

When enabled, the user's email address will be used to connect multiple devices and browsers. See Benefits of User ID at Matomo's User Guide for more information.

matomo_tracking_api_token_auth [string] (Optional)

Set to the token auth key of a Matomo user in order to take advantage of advanced tracking. Currently utilizes the following if provided:

  • Sets remote IP to that of the user instead of defaulting to the IP of the Roundcube installation.

About

Add Matomo (formerly Piwik) tracking server-side code to all requests in Roundcube

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages