# Matomo

[Matomo](https://matomo.org/), anciennement Piwik, est une application d'analyse web open source permettant de suivre les visites en ligne sur un ou plusieurs sites web et d'afficher des rapports sur ces visites pour analyse.\
En utilisant cette destination, vous pouvez implémenter un tracking server-side en utilisant Matomo [Tracking HTTP API](https://developer.matomo.org/api-reference/tracking-api).

## Principales fonctionnalités

La destination Matomo fournit les fonctionnalités clés suivantes :

* **Structure des events**: notre [Events reference](https://community.commandersact.com/platform-x/developers/tracking/events-reference) couvre [Structure des requêtes Matomo](https://developer.matomo.org/api-reference/tracking-api), ce qui signifie que vos données sont correctement mappées vers les champs attendus de manière optimisée.
* **Mappings préconçus**: le mapping des données pour les destinations basées sur des événements se fait automatiquement, ce qui simplifie les entrées utilisateur.
* **Hachage automatique** : les informations sont automatiquement hachées conformément aux spécifications du partenaire.
* **Événements et propriétés personnalisés** : vous pouvez librement envoyer des événements et des propriétés personnalisés selon vos besoins spécifiques.
* **Support des données multi-item**: les informations incluses dans le [item ](https://community.commandersact.com/platform-x/developers/tracking/events-reference#item)array est transmis à Matomo.

## Configuration de la destination

{% hint style="info" %}
Matomo recommande d'utiliser des paramètres personnalisés plutôt que des variables personnalisées car ces dernières sont dépréciées. Les données pour certains champs optionnels Matomo ne seront pas disponibles dans votre application / couche technique, ce qui est attendu, mais vous devez fournir autant d'informations que possible.
{% endhint %}

### Configuration

<table><thead><tr><th width="315">Settings</th><th>Description</th></tr></thead><tbody><tr><td><code>Domaine du serveur</code></td><td><p><em><strong><code>Requis</code></strong></em></p><p>Le domaine de votre serveur tel que fourni par Matomo. (Par exemple pour https://<mark style="color:blue;"><code>votre-domaine-matomo.example</code></mark>/matomo.php, incluez uniquement la chaîne bleue).</p></td></tr><tr><td><code>Site Id</code></td><td><p><em><strong><code>Requis</code></strong></em></p><p>L'identifiant de votre site tel que fourni par Matomo. Plus de détails sont disponibles en suivant ceci <a href="https://matomo.org/faq/general/faq_19212/">LINK</a>.</p></td></tr><tr><td><code>Nom du cookie Visitor Id</code></td><td>Nom du cookie contenant quelques informations sur l'utilisateur telles que l'identifiant unique du visiteur. Il commence normalement par la chaîne <code>_pk_id</code>. Cela a la priorité sur le champ suivant <code>Valeur Visitor Id</code> . Plus de détails sont disponibles en suivant ceci <a href="https://matomo.org/faq/general/faq_146/">LINK</a>. (Par exemple valeur "4e4eb04b31f37eac.1653656637.")</td></tr><tr><td><code>Valeur Visitor Id</code></td><td>La valeur de l'identifiant unique du visiteur si vous devez la transmettre sans cookie.</td></tr><tr><td><code>Identifiant utilisateur</code></td><td>Vous pouvez transmettre l'identifiant utilisateur de votre choix pour les utilisateurs connectés. Plus de détails sont disponibles en suivant ceci <a href="https://matomo.org/guide/reports/user-ids/">LINK</a>.</td></tr><tr><td><code>Variables personnalisées Matomo</code></td><td>Mappez vos variables personnalisées Matomo en définissant leurs noms de champ dans <code>Nom de la variable personnalisée</code> et en ajoutant le nom du champ contenant la valeur dans <code>Propriété d'événement Commanders Act ou valeur statique</code>. Par ex. si vous saisissez<code>size</code>dans <code>Nom de la variable personnalisée</code> et <code>items.0.product.size</code> dans <code>Propriété d'événement Commanders Act ou valeur statique</code> , vous aurez une variable personnalisée dans Matomo appelée<code>size</code>avec une valeur basée sur le contenu du champ <code>items.0.product.size</code> <strong>[1]</strong>. Vous avez également la possibilité de définir une valeur statique chaîne/numérique dans <code>Propriété d'événement Commanders Act ou valeur statique</code>.<br><br>Plus de détails sur les variables personnalisées sont disponibles en suivant ceci <a href="https://matomo.org/faq/how-to/guide-to-using-custom-variables-deprecated/">LINK</a>.</td></tr><tr><td><code>Paramètres personnalisés Matomo</code></td><td>Mappez vos paramètres personnalisés Matomo en définissant leurs noms de champ dans <code>Nom du paramètre personnalisé</code> et en ajoutant le nom du champ contenant la valeur dans <code>Propriété d'événement Commanders Act ou valeur statique</code>. Par ex. si vous saisissez<code>size</code>dans <code>Nom du paramètre personnalisé</code> et <code>items.0.product.size</code> dans <code>Propriété d'événement Commanders Act ou valeur statique</code> , vous aurez un paramètre personnalisé dans Matomo appelé<code>size</code>avec une valeur basée sur le contenu du champ <code>items.0.product.size</code> <strong>[1]</strong>. Vous avez également la possibilité de définir une valeur statique chaîne/numérique dans <code>Propriété d'événement Commanders Act ou valeur statique</code>.<br><br>Plus de détails sur les paramètres/dimensions personnalisés sont disponibles en suivant ceci <a href="https://matomo.org/guide/reporting-tools/custom-dimensions/">LINK</a>.</td></tr><tr><td><code>Objectifs Matomo</code></td><td>Mappez vos objectifs Matomo en définissant le <code>Commanders Act Event Name</code> dans le champ correspondant et le <code>Matomo Goal Id</code> associé.<br><br>Plus de détails sur les objectifs sont disponibles en suivant ceci <a href="https://matomo.org/guide/reports/goals-and-conversions/">LINK</a>.</td></tr><tr><td><code>Token d'autorisation</code></td><td>Un <a href="https://matomo.org/faq/general/faq_114/">token d'autorisation</a> est requis pour envoyer des paramètres supplémentaires. En allant dans l'interface de Matomo, il est recommandé de créer un utilisateur spécifiquement pour accéder au "Tracking API", et de donner à cet utilisateur <strong>seulement </strong><em><strong>écriture</strong></em><strong> permission</strong> sur le(s) site(s). Plus de détails sur les paramètres supplémentaires sont disponibles en suivant ceci <a href="https://developer.matomo.org/api-reference/tracking-api#other-parameters-require-authentication-via-token_auth">LINK</a>.</td></tr></tbody></table>

{% hint style="info" %}
**\[1]** En utilisant des "dots" (".") vous pouvez naviguer plus profondément jusqu'au champ spécifique dont vous souhaitez obtenir la valeur. Voir [Events reference](https://community.commandersact.com/platform-x/developers/tracking/events-reference) pour plus de détails sur les noms de champs standard par événement. Vous pouvez également définir librement des champs personnalisés : il n'y a pas de limites.
{% endhint %}

## Mappages de champs

{% hint style="info" %}
Propriété Matomo<mark style="color:blue;">`e_c`</mark>est défini statiquement avec<mark style="color:blue;">`ca_event`</mark>.\
Les paramètres e-commerce sont transmis pour les [purchase](https://community.commandersact.com/platform-x/developers/tracking/events-reference#purchase) events.
{% endhint %}

| Propriétés Commanders Act                                                                                                                                                                                                              | Propriétés Matomo                                                                |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `Site Id`                                                                                                                                                                                                                              | `idsite`                                                                         |
| `event_name`                                                                                                                                                                                                                           | <p><code>action\_name</code></p><p><code>e\_a</code></p><p><code>e\_n</code></p> |
| `valeurs`                                                                                                                                                                                                                              | <p><code>e\_v</code></p><p><code>revenue</code></p>                              |
| `page.location`                                                                                                                                                                                                                        | `url`                                                                            |
| `device.user_agent`                                                                                                                                                                                                                    | `ua`                                                                             |
| <p><code>Nom du cookie Visitor Id</code></p><p><code>Valeur Visitor Id</code></p>                                                                                                                                                      | `_id` **\[1]**                                                                   |
| `page.referrer`                                                                                                                                                                                                                        | `urlref`                                                                         |
| `Variables personnalisées Matomo`                                                                                                                                                                                                      | `_cvars`                                                                         |
| <p><code>user.id</code></p><p><code>user.email</code></p><p><code>user.email\_md5</code></p><p><code>user.email\_sha256</code></p><p><code>\[custom\_property]</code></p>                                                              | `uid` **\[2]**                                                                   |
| `search_term`                                                                                                                                                                                                                          | `search`                                                                         |
| `Objectifs Matomo`                                                                                                                                                                                                                     | `idgoal` **\[3]**                                                                |
| `id`                                                                                                                                                                                                                                   | `ec_id`                                                                          |
| \[\[`items.0.id`,`items.0.product.name`,`items.0.product.category_1`,`items.0.product.price`,`items.0.quantity`],`...`,\[`items.N.id`,`items.N.product.name`,`items.N.product.category_1`,`items.N.product.price`,`items.N.quantity`]] | `ec_items` **\[4]**                                                              |
| `revenue`                                                                                                                                                                                                                              | `ec_st`                                                                          |
| `tax_amount`                                                                                                                                                                                                                           | `ec_tx`                                                                          |
| `shipping_amount`                                                                                                                                                                                                                      | `ec_sh`                                                                          |
| `Token d'autorisation`                                                                                                                                                                                                                 | `token_auth`                                                                     |
| `device.ip`                                                                                                                                                                                                                            | `cip`                                                                            |
| `event_timestamp`                                                                                                                                                                                                                      | `cdt`                                                                            |

{% hint style="info" %}

> **\[1]** Si un cookie n'est pas fourni, cette destination recherche un nom de cookie contenant la chaîne<mark style="color:blue;">`_pk_id`</mark>pour récupérer l'identifiant du visiteur à partir de celui-ci. Alternativement, vous pouvez passer la valeur en utilisant une propriété datalayer. Voir [Configuration ](#configuration)pour plus de détails.  \
> \&#xNAN;**\[2]** Selon la sélection dans le menu déroulant (Voir<mark style="color:blue;">`Identifiant utilisateur`</mark>dans[`Configuration`](#configuration)), une propriété Commanders Act spécifique est utilisée.  \
> \&#xNAN;**\[3]** En fonction de votre configuration (Voir<mark style="color:blue;">`Objectifs Matomo`</mark>dans le[`Configuration`](#configuration)), un identifiant spécifique est défini dans ce champ. Avec[`purchase`](https://community.commandersact.com/platform-x/developers/tracking/events-reference#purchase)events,<mark style="color:blue;">`0`</mark>est transmis comme identifiant.  \
> \&#xNAN;**\[4]** Le tableau résultant est encodé.
> {% endhint %}
