Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0][MIG] website_analytics_matomo #991

Merged
merged 11 commits into from
Dec 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions setup/website_analytics_matomo/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
132 changes: 132 additions & 0 deletions website_analytics_matomo/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
================
Matomo analytics
================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fwebsite-lightgray.png?logo=github
:target: https://github.com/OCA/website/tree/15.0/website_analytics_matomo
:alt: OCA/website
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/website-15-0/website-15-0-website_analytics_matomo
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/186/15.0
:alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows to simply configure your odoo website for using Matomo_.

.. _Matomo: http://matomo.org

**Table of contents**

.. contents::
:local:

Configuration
=============

To configure this module, you need to:

* go to Settings/General Settings/Website
* enable `Matomo Analytics`
* fill in `Matomo website ID` and `Matomo host`

At this point your website is already setup for being tracked in Matomo.

Some more advanced features offered by Matomo can be configured as follows:

User ID feature
~~~~~~~~~~~~~~~

Matomo includes a User ID feature for enhanced tracking on those websites that offer the ability for visitors to log in.
By tracking the User ID (unique identifier), it is possible to connect visitors between visits across multiple dates
and devices.

To enable this feature, set `Enable User ID`: Matomo will track the user's `ID` (model `res.users`).
If you want to use a different field, eg: user's `name` or `login`, you need to override method `compute_matomo_userid()`.

Enable a Heartbeat timer
~~~~~~~~~~~~~~~~~~~~~~~~

In order to better measure the time spent in the visit, the active page can send additional
ping requests to Matomo. These requests will not track additional actions or page views.
They just allow Matomo to know whether the user is actively viewing the page (the tab
should be active and in focus).

To enable this feature, set `Enable heartbeat` and define the Active Time.

By default, the Active Time is set to 15 seconds, meaning only if the page was viewed
for at least 15 seconds (and the user leaves the page or focuses away from the tab)
then a ping request will be sent.

Matomo Event Tracking
~~~~~~~~~~~~~~~~~~~~~

As explained in this page https://matomo.org/faq/reports/implement-event-tracking-with-matomo/
on the official documentation of Matomo, there are two main ways to set up event tracking within Matomo:

1. with the "Matomo Tag Manager" feature: this is the easiest and recommended way;
2. by adding snippets of JavaScript code to your website itself.

The first method is not supported by this module, however in OCA there's
a dedicated module for that purpose: `website_matomo_tag_manager`.

The second method can be used along with this module and requires a little more technical confidence.
You will need to integrate a JavaScript snippet directly into your website’s code.

Technical documentation can be found in:
https://developer.matomo.org/guides/tracking-javascript-guide#manually-trigger-events

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/website/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/website/issues/new?body=module:%20website_analytics_matomo%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Onestein
* Therp BV

Contributors
~~~~~~~~~~~~

* Holger Brunn <[email protected]>
* Andrea Stirpe <[email protected]>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/website <https://github.com/OCA/website/tree/15.0/website_analytics_matomo>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions website_analytics_matomo/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2015 Therp BV <http://therp.nl>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import models
20 changes: 20 additions & 0 deletions website_analytics_matomo/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2015 Therp BV <http://therp.nl>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Matomo analytics",
"version": "16.0.1.0.0",
"author": "Onestein,Therp BV,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Website",
"summary": "Track website users using matomo",
"website": "https://github.com/OCA/website",
"depends": [
"website",
],
"data": [
"views/res_config_settings.xml",
"views/templates.xml",
],
"installable": True,
}
129 changes: 129 additions & 0 deletions website_analytics_matomo/i18n/af.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * website_analytics_matomo
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: website (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-25 01:52+0000\n"
"PO-Revision-Date: 2015-09-25 08:26+0000\n"
"Last-Translator: <>\n"
"Language-Team: Afrikaans (http://www.transifex.com/oca/OCA-website-8-0/"
"language/af/)\n"
"Language: af\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. module: website_analytics_matomo
#: model_terms:ir.ui.view,arch_db:website_analytics_matomo.res_config_settings_view_form
msgid "Active Time (seconds)"
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model,name:website_analytics_matomo.model_res_config_settings
msgid "Config Settings"
msgstr ""

#. module: website_analytics_matomo
#: model_terms:ir.ui.view,arch_db:website_analytics_matomo.res_config_settings_view_form
msgid "Enable User ID"
msgstr ""

#. module: website_analytics_matomo
#: model_terms:ir.ui.view,arch_db:website_analytics_matomo.res_config_settings_view_form
msgid "Enable heartbeat"
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model.fields,help:website_analytics_matomo.field_res_config_settings__matomo_heartbeat_timer
#: model:ir.model.fields,help:website_analytics_matomo.field_website__matomo_heartbeat_timer
msgid "How many seconds a tab needs to be active to be counted as viewed."
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model.fields,field_description:website_analytics_matomo.field_res_config_settings__has_matomo_analytics
#: model:ir.model.fields,field_description:website_analytics_matomo.field_website__has_matomo_analytics
msgid "Matomo Analytics"
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model.fields,field_description:website_analytics_matomo.field_res_config_settings__matomo_enable_heartbeat
#: model:ir.model.fields,field_description:website_analytics_matomo.field_website__matomo_enable_heartbeat
msgid "Matomo Enable Heartbeat"
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model.fields,field_description:website_analytics_matomo.field_res_config_settings__matomo_enable_userid
#: model:ir.model.fields,field_description:website_analytics_matomo.field_website__matomo_enable_userid
msgid "Matomo Enable Userid"
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model.fields,field_description:website_analytics_matomo.field_website__matomo_get_userid
msgid "Matomo Get Userid"
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model.fields,field_description:website_analytics_matomo.field_res_config_settings__matomo_heartbeat_timer
#: model:ir.model.fields,field_description:website_analytics_matomo.field_website__matomo_heartbeat_timer
msgid "Matomo Heartbeat Timer"
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model.fields,field_description:website_analytics_matomo.field_res_config_settings__matomo_analytics_host
#: model:ir.model.fields,field_description:website_analytics_matomo.field_website__matomo_analytics_host
msgid "Matomo host"
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model.fields,field_description:website_analytics_matomo.field_website__matomo_analytics_host_url
msgid "Matomo host URL"
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model.fields,field_description:website_analytics_matomo.field_res_config_settings__matomo_analytics_id
#: model:ir.model.fields,field_description:website_analytics_matomo.field_website__matomo_analytics_id
msgid "Matomo website ID"
msgstr ""

#. module: website_analytics_matomo
#: model_terms:ir.ui.view,arch_db:website_analytics_matomo.res_config_settings_view_form
msgid ""
"Set the Active Time in seconds. Only if the page was viewed for at least "
"this\n"
" amount of time (and the user leaves the "
"page or focuses away from the tab)\n"
" then a ping request will be sent."
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model.fields,help:website_analytics_matomo.field_res_config_settings__matomo_analytics_id
#: model:ir.model.fields,help:website_analytics_matomo.field_website__matomo_analytics_id
msgid "The ID Matomo uses to identify the website"
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model.fields,help:website_analytics_matomo.field_res_config_settings__matomo_analytics_host
#: model:ir.model.fields,help:website_analytics_matomo.field_website__matomo_analytics_host
msgid ""
"The host/path your Matomo installation is accessible by on the internet."
msgstr ""

#. module: website_analytics_matomo
#: model_terms:ir.ui.view,arch_db:website_analytics_matomo.res_config_settings_view_form
msgid "Track visits in Matomo Analytics"
msgstr ""

#. module: website_analytics_matomo
#: model:ir.model,name:website_analytics_matomo.model_website
msgid "Website"
msgstr "Webtuiste"

#. module: website_analytics_matomo
#: model_terms:ir.ui.view,arch_db:website_analytics_matomo.res_config_settings_view_form
msgid "https://matomo.host.name/"
msgstr ""
Loading
Loading