Aller au contenu
Se connecterEssai gratuit

Suivi du commerce

MetriXs suit le commerce de la même manière pour chaque site, que vous utilisiez Shopify, une boutique sur mesure ou un checkout côté serveur. Il n’y a pas de colonnes spécifiques au commerce : le commerce est juste un ensemble d’événements personnalisés avec quelques noms de propriétés convenus. Quand vous activez le commerce sur un site, le tableau de bord montre le chiffre d’affaires, la valeur moyenne des commandes (AOV), le taux de conversion, un entonnoir de checkout et une répartition des top produits, tous alimentés par ces événements.

  1. Allez dans Paramètres → Sites dans le tableau de bord.
  2. Trouvez votre site et basculez Commerce sur On.
  3. Choisissez optionnellement une devise d’affichage (EUR par défaut, voir ci-dessous).

Les sites Shopify ont le commerce activé par défaut (le pixel web MetriXs déclenche les événements pour vous) ; le bouton et la devise sont toujours là si vous souhaitez désactiver le commerce ou changer la devise d’affichage. Les autres sites l’activent ici et déclenchent les événements eux-mêmes. Un extrait d’événement à copier-coller apparaît sur la page Installer & vérifier du site une fois le commerce activé.

Trois événements personnalisés composent l’entonnoir de commerce. Envoyez-les depuis votre checkout dans cet ordre :

Nom d’événement Quand déclencher Props requises
checkout_started Le visiteur entre dans le checkout total, currency
payment_submitted Détails de paiement soumis (aucune)
order_completed La commande est passée (remerciement / confirmation) total, currency

Pour order_completed, vous pouvez aussi envoyer une propriété items avec la répartition par produit pour que le panneau Top produits puisse décomposer le chiffre d’affaires par produit.

  • total (number), le total de la commande/panier.
  • currency (string, ISO 4217, par exemple EUR, USD, GBP), la devise dans laquelle total est. MetriXs la convertit en EUR (voir ci-dessous).
  • items (string), un tableau encodé en JSON de { title, quantity, price } (un objet par article).
  • order_id (string, optionnel), votre ID de commande interne, pour référence.

MetriXs stocke tout le chiffre d’affaires en EUR. Quand un événement de commerce arrive avec une currency non-EUR, le pipeline d’ingestion convertit total (et chaque price d’article) en EUR en utilisant les taux de référence quotidiens de la BCE avant de le stocker, et enregistre la devise originale comme currency_original. Le total stocké est donc toujours en EUR, de sorte que le chiffre d’affaires et l’AOV sont cohérents même pour les boutiques multi-devises.

  • Si vous omettez currency, MetriXs suppose que le montant est déjà en EUR (pas de conversion).
  • Les devises inconnues sont laissées telles quelles (traitées comme EUR) pour qu’une faute de frappe ne mette jamais silencieusement votre chiffre d’affaires à zéro.
  • Les taux sont les taux de référence quotidiens de la BCE, rafraîchis automatiquement chaque jour (un cron récupère le flux officiel de la BCE et met en cache les taux dans Redis). Si la récupération échoue ou que le cache est froid, MetriXs se replie sur une table de référence statique intégrée à l’image, pour que la normalisation EUR ne casse jamais lors d’une indisponibilité en amont. Les taux de référence ne sont pas des taux de change en direct.

Alors que le chiffre d’affaires est stocké en EUR, vous pouvez choisir une devise d’affichage différente par site. MetriXs convertit les montants stockés en EUR vers votre devise d’affichage dans le tableau de bord en utilisant les mêmes taux quotidiens de la BCE, de sorte que le chiffre d’affaires, l’AOV, le graphique de chiffre d’affaires, l’entonnoir, les Top produits et la colonne de chiffre d’affaires dans les panneaux Sources/Emplacements/Appareils s’affichent tous dans la devise choisie.

  • Défaut : EUR (pas de conversion).
  • Réglez-le par site dans Paramètres → Sites à côté du bouton commerce. La liste couvre les devises courantes (USD, GBP, CHF, SEK, NOK, DKK, PLN, CZK, CAD, AUD, JPY, INR, CNY, BRL et plus).
  • C’est un paramètre d’affichage ; cela ne change pas ce qui est stocké ni comment vous envoyez les événements. Envoyez toujours currency sur l’événement pour une conversion EUR précise.

Déclencher les événements depuis un checkout navigateur

Section intitulée « Déclencher les événements depuis un checkout navigateur »

Après l’installation du script du tracker, la fonction globale window.metrixs(name, { props }) est disponible. Déclenchez les événements depuis votre flux de checkout :

// le visiteur entre dans le checkout
window.metrixs('checkout_started', { props: { total: 49.99, currency: 'EUR' } })
// détails de paiement soumis
window.metrixs('payment_submitted', { props: {} })
// commande passée
window.metrixs('order_completed', {
props: {
total: 49.99,
currency: 'EUR',
items: JSON.stringify([
{ title: 'T-shirt', quantity: 2, price: 24.99 },
]),
},
})

Utilisez keepalive: true (ou un fallback navigator.sendBeacon) sur l’appel order_completed si votre page de remerciement se décharge rapidement.

Déclencher les événements côté serveur (après un webhook de paiement)

Section intitulée « Déclencher les événements côté serveur (après un webhook de paiement) »

Les checkouts basés sur redirection (Stripe, Mollie, iDEAL, etc.) n’atteignent souvent jamais de manière fiable un état de “merci” dans le navigateur. Dans ce cas, envoyez order_completed depuis votre backend après que le webhook du fournisseur de paiement confirme la commande.

  1. Dans le tableau de bord, allez dans Paramètres → Sites, déployez Clés API sous le site, et créez une clé limitée au site. Copiez-la immédiatement (elle n’est affichée qu’une fois).
  2. POST vers /api/event avec la clé comme jeton Bearer. Le corps est en JSON. Notez que items est une chaîne encodée en JSON (un tableau sérialisé en chaîne), car MetriXs stocke toutes les propriétés d’événement comme des chaînes :
{
"n": "order_completed",
"u": "https://yourdomain.com/thanks",
"d": "yourdomain.com",
"p": {
"total": 49.99,
"currency": "EUR",
"items": "[{\"title\":\"T-shirt\",\"quantity\":2,\"price\":24.99}]"
}
}

Équivalent curl :

Terminal window
curl -X POST https://app.metrixs.eu/api/event \
-H "Authorization: Bearer mtx_live_yourapikey" \
-H "Content-Type: text/plain" \
-d '{"n":"order_completed","u":"https://yourdomain.com/thanks","d":"yourdomain.com","p":{"total":49.99,"currency":"EUR","items":"[{\"title\":\"T-shirt\",\"quantity\":2,\"price\":24.99}]"}}'

Exigences pour le chemin côté serveur :

  • La clé API doit être limitée au site qui envoie l’événement (le domaine d). L’API rejette la requête si le site de la clé ne correspond pas à d.
  • u (URL de page) et d (domaine) sont requis et doivent correspondre à un site vérifié sur votre compte.
  • Content-Type est text/plain (évite un preflight CORS sur le chemin navigateur ; l’API analyse le corps en JSON de toute façon).
  • Le jeton de détection de bots du navigateur est ignoré pour les requêtes authentifiées par clé API, car un serveur ne peut pas produire d’empreinte de navigateur et la clé prouve déjà que l’appelant est le backend du propriétaire du site.
  • La même limite de débit par IP que le chemin navigateur s’applique toujours.

Une fois le commerce activé et les événements qui affluent, le tableau de bord du site montre :

  • Chiffre d’affaires, somme de total sur les événements order_completed (affiché dans votre devise d’affichage ; stocké en EUR).
  • AOV, chiffre d’affaires / nombre d’événements order_completed.
  • Taux conv., comptage order_completed / visiteurs uniques × 100.
  • Entonnoir de conversion, visiteurs → checkout_startedpayment_submittedorder_completed.
  • Top produits, chiffre d’affaires et quantité par titre de produit (depuis items).
  • Chiffre d’affaires par source / emplacement / appareil, la colonne Chiffre d’affaires apparaît aussi dans ces panneaux, pour que vous puissiez attribuer le chiffre d’affaires à une campagne ou un canal.

Si vous déclenchez déjà des événements e-commerce GA4 via le dataLayer, les formes de propriétés sont similaires mais les noms d’événements diffèrent. Le mapping minimum :

Événement GA4 Événement MetriXs
begin_checkout checkout_started
add_payment_info payment_submitted
purchase order_completed

Le tableau items utilise { title, quantity, price } au lieu de { item_name, quantity, price } de GA4, donc renommez item_name en title quand vous adaptez votre push dataLayer existant.