Skip to main content

Analytics de monitoring

Monitoring Analytics

Vue d'ensemble

Les endpoints d'analytics de monitoring fournissent des insights detailles sur les donnees collectees par le tag GTM Listener de Probr. Ils agregent les volumes d'evenements, les metriques de sante des tags et les scores de qualite des donnees utilisateur sur des fenetres de temps configurables.

Endpoints

GET /api/monitoring/sites/{site_id}/overview

Retourne un aperçu agrege de toutes les donnees de monitoring pour un site sur les N dernieres heures.

Parametres :

Parametre Type Defaut Description
site_id UUID requis Le site a interroger
hours int 24 Fenetre de temps en heures

Reponse :

{
  "site_id": "uuid",
  "site_name": "acme.com - Production",
  "container_id": "GTM-XXXXX",
  "period_hours": 24,
  "total_events": 47832,
  "events": [
    { "event_name": "page_view", "total_count": 38210 },
    { "event_name": "purchase", "total_count": 412 },
    { "event_name": "add_to_cart", "total_count": 1893 }
  ],
  "tags": [
    {
      "tag_name": "GA4",
      "total_executions": 47832,
      "success_count": 47810,
      "failure_count": 22,
      "success_rate": 99.95,
      "avg_execution_time_ms": 45.2
    },
    {
      "tag_name": "Facebook CAPI",
      "total_executions": 47832,
      "success_count": 47100,
      "failure_count": 732,
      "success_rate": 98.47,
      "avg_execution_time_ms": 120.8
    }
  ],
  "user_data": {
    "email_rate": 34.5,
    "phone_rate": 12.1,
    "address_rate": 8.3,
    "total_events": 47832
  },
  "last_seen": "2025-02-24T10:29:00Z"
}

GET /api/monitoring/sites/{site_id}/batches

Retourne les batches de monitoring bruts pour construire des graphiques en series temporelles. Chaque batch represente une fenetre d'agregation d'1 minute.

Parametres :

Parametre Type Defaut Description
site_id UUID requis Le site a interroger
hours int 24 Fenetre de temps en heures
limit int 1440 Nombre maximum de batches a retourner

Reponse : Un tableau d'objets MonitoringBatch, chacun contenant :

Champ Type Description
window_start datetime Debut de la fenetre d'1 minute
window_seconds int Duree de la fenetre (toujours 60)
total_events int Nombre d'evenements dans cette fenetre
event_counts object {"page_view": 847, "purchase": 12, ...}
tag_metrics object Compteurs succes/echec/timeout/exception par tag
user_data_quality object {"email": 340, "phone": 120, "address": 80, "total": 1000}
ecommerce_quality object {"value": 12, "currency": 12, "transaction_id": 12, "items": 12, "total": 12}

GET /api/monitoring/sites/{site_id}/tags/{tag_name}

Retourne les metriques de sante detaillees pour un tag specifique.

Parametres :

Parametre Type Defaut Description
site_id UUID requis Le site a interroger
tag_name string requis Nom du tag (encode URL si necessaire)
hours int 24 Fenetre de temps en heures

Reponse :

{
  "tag_name": "GA4",
  "total_executions": 47832,
  "success_count": 47810,
  "failure_count": 22,
  "success_rate": 99.95,
  "avg_execution_time_ms": 45.2
}

Retourne 404 si aucune donnee n'est trouvee pour le tag donne.

Metriques cles

Volume d'evenements

Nombre total d'evenements reçus du tag GTM Listener, ventile par nom d'evenement (page_view, purchase, add_to_cart, etc.).

Sante des tags

Pour chaque tag de votre conteneur sGTM, Probr suit :

  • Nombre de succes : tags executes sans erreur
  • Nombre d'echecs : inclut les echecs, timeouts et exceptions
  • Taux de succes : pourcentage d'executions reussies
  • Temps d'execution moyen : temps d'execution moyen sur toutes les executions

Qualite des donnees utilisateur

Mesure le taux de presence des champs de donnees utilisateur cles dans tous les evenements :

  • Taux email : % d'evenements avec un email hashe present
  • Taux telephone : % d'evenements avec un numero de telephone present
  • Taux adresse : % d'evenements avec des donnees nom/adresse presentes

Qualite e-commerce

Pour les evenements e-commerce, suit la completude de :

  • value, currency, transaction_id, items

Flux de donnees

Tag GTM Listener → POST /api/ingest → Agregation en memoire (fenetres d'1 min)
                                            ↓ (flush toutes les 30s)
                                       PostgreSQL (table monitoring_batches)
                                            ↓
                                   Endpoints /api/monitoring/*

Les donnees passent par une couche d'agregation en memoire avant d'etre ecrites en base de donnees, ce qui minimise la charge d'ecriture tout en maintenant une visibilite quasi temps reel.