Premiers pas avec Track

Commencez à analyser votre site en 2 minutes. 100 % anonyme, 0 % cookies.

Installation rapide

Copiez ce code juste avant </head> :

<script src="https://votre-domaine.com/api/script/tk_VOTRE_ID"></script>

C'est tout ! Vos heatmaps et analytics commencent immédiatement.

Webhooks

Automatisez vos flux de travail avec des données 100 % agrégées (aucune donnée personnelle envoyée).

Configuration

  1. Allez dans Site → Webhooks
  2. Entrez votre URL webhook (Zapier, Make.com, ou custom)
  3. Choisissez vos événements : Anomalies, Rapports quotidiens, Insights
  4. Sélectionnez le mode de confidentialité (Agrégé recommandé)
  5. Testez avec le bouton "Tester"

Événements disponibles

1. Anomalies détectées

Recevez une notification lors de pics d'erreurs, chutes de trafic, etc.

{
  "event": "anomaly_detected",
  "timestamp": "2026-02-10T14:30:00Z",
  "anomaly": {
    "type": "js_error_spike",
    "severity": "critical",
    "deviation_percent": 598.4
  }
}

2. Rapport quotidien

Statistiques du jour précédent (sessions, clics, frustration).

3. Insights critiques

Alertes sur les pages problématiques détectées par l'IA.

Modes de confidentialité

Agrégé

Uniquement stats globales (recommandé)

Page-level

Stats par page (pas de session)

Full

Toutes données (à utiliser prudemment)

Validation signature HMAC

Tous les webhooks incluent un header X-Webhook-Signature. Validez-le pour garantir l'authenticité :

// PHP
$signature = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'];
$payload = file_get_contents('php://input');
$secret = 'votre_webhook_secret';

$expected = hash_hmac('sha256', $payload, $secret);
if (!hash_equals($expected, $signature)) {
    die('Invalid signature');
}
Intégrations populaires :

Zapier, Make.com, n8n, Slack, Discord, Microsoft Teams, custom endpoints.

Google Analytics 4

Importez vos sources de trafic GA4 pour les corréler avec Track (import seulement, jamais d'export).

Configuration en 3 étapes

1

Créer un service account Google

  1. Allez sur Google Cloud Console
  2. Créez un projet (ou utilisez un existant)
  3. Activez l'API Google Analytics Data API v1
  4. Créez un compte de service (IAM → Comptes de service)
  5. Téléchargez la clé JSON
2

Donner accès au service account dans GA4

  1. Ouvrez Google Analytics 4
  2. Admin → Accès à la propriété
  3. Ajoutez l'email du service account avec le rôle Lecteur
3

Configurer dans L'Analyste

  1. Allez dans Site → Google Analytics 4
  2. Entrez votre Measurement ID (format G-XXXXXXXXXX)
  3. Entrez votre Property ID (ID numérique)
  4. Collez le contenu JSON du service account
  5. Testez la connexion

Synchronisation automatique

L'Analyste synchronise automatiquement vos sources de trafic tous les jours à 7h.

Vous pouvez aussi déclencher une synchronisation manuelle :

  • Depuis l'interface : bouton "Synchroniser maintenant"
  • En ligne de commande : php artisan ga:sync-sources

Données importées

Dimensions

  • • Source (google, facebook, direct...)
  • • Medium (organic, cpc, referral...)
  • • Campaign (nom de campagne)

Métriques

  • • Sessions & Utilisateurs
  • • Pages vues
  • • Bounce rate & Durée
Privacy preserved :

Aucune donnée de L'Analyste n'est exportée vers GA. Import GA → L'Analyste uniquement (lecture seule).

Sources de trafic

Corrélez vos sources de trafic GA4 avec le comportement utilisateur capté par Track.

Vue d'ensemble

Le dashboard Traffic Sources combine le meilleur des deux mondes :

Données GA4

  • • Sources et medium
  • • Sessions, utilisateurs
  • • Bounce rate
  • • Pages vues

Métriques de L'Analyste

  • • Taux de rage clicks
  • • Taux de dead clicks
  • • Taux d'erreurs JS
  • • Score de frustration

Métriques disponibles

Google Analytics 4

  • • Sessions par source/medium
  • • Nombre d'utilisateurs
  • • Pages vues
  • • Bounce rate (%)
  • • Durée moyenne de session

L'Analyste (moyennes globales)

  • • Taux de rage clicks (%) - frustration élevée
  • • Taux de dead clicks (%) - UX problématique
  • • Taux d'erreurs JS (%) - bugs bloquants
Anonymisation préservée :

Les métriques de L'Analyste sont des moyennes globales, pas de corrélation session-à-session. Votre confidentialité reste intacte.

Utilisation

  1. Configurez d'abord GA4 (voir section précédente)
  2. Attendez la première synchronisation (ou lancez manuellement)
  3. Allez dans Site → Traffic Sources
  4. Analysez quelle source génère le plus de frustration

Cas d'usage

Optimiser les campagnes

Identifiez les sources avec fort bounce + frustration

Landing pages

Comparez l'expérience par source d'acquisition

Budget marketing

Priorisez les sources avec meilleure UX

Exemple concret :

Source "google/cpc" a 45% bounce mais seulement 2% rage clicks → Landing OK, contenu à revoir.
Source "facebook/cpc" a 25% bounce mais 18% rage clicks → Landing problématique à corriger en priorité.

Confidentialité et sécurité

Track est 100 % anonyme par conception. Aucun cookie, aucun consentement requis.

Anonymisation complète

Hachage des IP

SHA-256 + sel quotidien. Impossible de retrouver l'IP d'origine.

Rotation de session

Nouvelle session toutes les 30 min. Aucun pistage longue durée.

Réduction du User-Agent

User-Agent réduit à « OS Navigateur Version » (18 caractères au lieu de 785).

Validation des données personnelles

Bloque automatiquement courriels, téléphones et cartes bancaires.

Conformité RGPD & Loi 25

L'Analyste respecte les réglementations les plus strictes :

RGPD (Europe)

  • Aucune donnée personnelle collectée
  • Aucun cookie de tracking
  • Pas de consentement requis (Article 6.1.f)
  • Droit à l'oubli automatique (30 jours)
  • Stockage UE possible (self-hosted)

Loi 25 (Québec)

  • Conforme aux exigences septembre 2024
  • Minimisation des données
  • Transparence totale (code open source possible)
  • Pas de transfert hors Québec (self-hosted)

Sécurité technique

HTTPS obligatoire

Toutes les communications utilisent TLS 1.3+ avec certificats valides.

Authentication HMAC

Le script dynamique utilise des tokens HMAC SHA-256 avec TTL 1h :

Token = base64(siteId | timestamp | hmac_sha256(siteId|timestamp, secret))
TTL = 3600 secondes
Origin validation = Referer + Origin headers

Rate Limiting

Protection contre les abus :

  • API Tracking : 100 requêtes/min par site
  • API Behavior : 60 requêtes/min par site
  • Session Replay : 60 requêtes/min par session

Data Retention

Toutes les données sont automatiquement supprimées après 30 jours :

  • Heatmap events
  • Behavior events (rage/dead clicks, erreurs)
  • Form analytics
  • Session replays (fichiers + metadata)
  • Custom events

Commande : php artisan events:cleanup (schedulée daily 1h)

Self-Hosting

L'Analyste peut être hébergé sur vos propres serveurs pour contrôle total :

  • Laravel 11 (PHP 8.2+)
  • MySQL/PostgreSQL
  • Redis (optionnel pour cache)
  • Code source disponible

Audit de sécurité

Le code de L'Analyste est auditable. Contactez-nous pour un audit de sécurité complet ou une installation on-premise.

Cartes de chaleur

Visualisez où vos visiteurs cliquent, scrollent et passent leur temps.

Types de heatmaps

Carte des clics

Zones les plus cliquées en rouge/jaune/vert.

Carte de défilement

Profondeur de défilement par bandes de 10 %.

Carte de survol

Temps passé sur chaque zone.

Visualisation

Les heatmaps s'affichent par-dessus une capture d'écran de votre page. Les couleurs indiquent l'intensité :

  • Rouge : Zones très actives (80-100%)
  • Orange : Zones actives (60-80%)
  • Jaune : Zones moyennes (40-60%)
  • Vert : Zones peu actives (20-40%)
  • Bleu : Zones très peu actives (0-20%)

Utilisation

  1. Allez dans Sites et cliquez sur un site
  2. Cliquez sur Heatmaps dans la navigation
  3. Sélectionnez une page dans la liste
  4. Choisissez le type de heatmap (Click/Scroll/Hover)
  5. Ajustez la période (7/14/30 jours)

Cas d'usage

  • Optimiser les CTA : Vérifiez que vos boutons sont bien cliqués
  • Détecter les zones mortes : Éléments cliquables ignorés
  • Améliorer le layout : Placez le contenu important là où les gens regardent
  • Mobile vs Desktop : Comparez le comportement par device
Astuce :

Combinez les heatmaps avec les Insights pour identifier automatiquement les zones problématiques.

Rejeu de session

Rejouez les sessions de vos visiteurs comme une vidéo. 100 % anonyme.

Configuration

Pour activer Session Replay :

  1. Allez dans Sites → Éditer
  2. Onglet Replay
  3. Activez Session Replay
  4. Réglez le taux d'échantillonnage (1-100%)
  5. Durée max par session : 60-3600 secondes
  6. Rétention : 1-90 jours

Fonctionnalités

Lecteur intégré

Vitesse 1x/2x/4x, pause, avance rapide.

Marqueurs de frustration

Rage clics et erreurs affichés sur la chronologie.

Infos appareil

Système d'exploitation, navigateur, résolution.

Compression

Gzip automatique après finalisation.

Anonymisation

Les replays sont 100% anonymes :

  • Tous les inputs sont masqués (***)
  • Emails, téléphones automatiquement cachés
  • IP hashées (impossible de retrouver)
  • Session ID rotationnelle (30min max)
  • Aucun cookie de tracking
Performance :

Le script replay (~15KB) se charge via requestIdleCallback pour ne pas bloquer la page.

Taux d'échantillonnage

Recommandations :

  • 10-20% : Sites à fort trafic (10K+ sessions/jour)
  • 50% : Sites moyens (1-10K sessions/jour)
  • 100% : Sites à faible trafic ou debugging

Nettoyage automatique

La commande replay:cleanup s'exécute quotidiennement (4h) pour :

  • Finaliser les replays "stale" (>30min)
  • Supprimer les replays expirés (selon rétention)
  • Nettoyer les dossiers vides

Détection des frustrations

Repérez automatiquement les rage clicks, dead clicks et erreurs JavaScript qui frustrent vos visiteurs.

Types de comportements détectés

Rage Clicks

Détection : 3+ clics sur le même élément en moins de 1 seconde
Signification : Élément non réactif, utilisateur frustré
Score : ×3 au calcul de frustration

Dead Clicks

Détection : Clic sans changement DOM après 1 seconde
Signification : Élément semble cliquable mais ne l'est pas
Score : ×2 au calcul de frustration

JavaScript Errors

Détection : Erreurs JS capturées (max 10/session)
Signification : Bugs bloquants pour l'utilisateur
Score : ×1 au calcul de frustration

Score de frustration

Chaque session reçoit un score calculé ainsi :

Score = (rage_clicks × 3) + (dead_clicks × 2) + (js_errors × 1)

Interprétation :

  • 0-5 : Session normale
  • 6-15 : Frustration modérée
  • 16+ : Frustration élevée

Dashboard Comportements

Accédez aux comportements via Site → Comportements.

Vous pouvez :

  • Filtrer par type (rage/dead/error)
  • Trier par score de frustration
  • Voir la timeline d'une session
  • Lancer le replay directement

Session Timeline

Cliquez sur une session pour voir la timeline complète avec :

  • Timestamp de chaque événement
  • Type d'événement (click/error/page change)
  • Sélecteur CSS de l'élément
  • Coordonnées x/y du clic
  • Message d'erreur JS complet
Astuce :

Les sessions avec frustration élevée remontent automatiquement dans les Insights avec recommandations.

Analyses intelligentes

Analyses automatiques avec recommandations concrètes pour améliorer votre site.

Health Score

Chaque site reçoit un score de santé global (0-100) calculé à partir de :

  • Taux de rage clicks
  • Taux de dead clicks
  • Taux d'erreurs JS
  • Profondeur de scroll moyenne
  • Temps moyen par session

Interprétation :

  • 90-100 : Excellent
  • 70-89 : Bon
  • 50-69 : À améliorer
  • 0-49 : Critique

Types d'insights

Frustrating Page

Page avec score frustration > seuil configuré (défaut: 15). Recommande de vérifier les éléments problématiques.

Recurring Dead Click

Élément cliqué > seuil (défaut: 10) sans être cliquable. Recommande d'ajouter un event listener ou un curseur pointer.

Hot Zone No Link

Zone très cliquée sans lien/bouton. Recommande d'ajouter une action ou de retirer l'élément.

Frequent JS Error

Erreur JS récurrente > seuil (défaut: 5). Recommande de corriger le bug avec stack trace fourni.

Configuration

Pour configurer les insights :

  1. Allez dans Sites → Éditer
  2. Onglet Analyse
  3. Activez Smart Insights
  4. Réglez la fréquence (quotidienne/hebdomadaire)
  5. Ajustez les 3 seuils de détection

Actions disponibles

Pour chaque insight, vous pouvez :

  • Résoudre : Marque comme corrigé (historisé)
  • Ignorer : Ne plus afficher cet insight
  • Snooze 7j : Reporter de 7 jours

Snapshots mensuels

L'Analyste crée automatiquement des snapshots mensuels avec :

  • Health score du mois
  • Évolution vs mois précédent (delta)
  • Top 5 pages frustrantes
  • Statistiques globales (sessions, clics, erreurs)

Commandes disponibles :

  • php artisan insights:generate : Génère insights immédiatement
  • php artisan insights:cleanup : Supprime insights résolus >90j
Notifications :

Les insights critiques déclenchent automatiquement un email + webhook si configurés.

Tunnels de conversion

Analysez vos tunnels de conversion et identifiez les points de friction.

Créer un funnel

  1. Allez dans Site → Funnels
  2. Cliquez sur Créer un funnel
  3. Donnez un nom (ex: "Parcours d'achat")
  4. Ajoutez 2 à 10 étapes avec les URLs
  5. Cliquez sur Créer

Exemple de funnel

1
Page d'accueil
/
100%
2
Page produit
/products/.*
67%
3
Panier
/cart
41%
4
Confirmation
/order/confirmation
23%

Métriques calculées

Pour chaque étape, L'Analyste calcule :

  • Taux de conversion global : % utilisateurs qui terminent
  • Drop-off par étape : % d'abandons entre chaque étape
  • Sessions uniques : Nombre de sessions passées par l'étape
  • Temps moyen : Durée entre chaque étape

Regex et wildcards

Les URLs supportent les patterns :

  • /products/.* : Tous les produits
  • /blog/.*/comments : Pages de commentaires
  • /checkout/step-[1-3] : Étapes 1 à 3

Cas d'usage

  • E-commerce : Accueil → Produit → Panier → Paiement → Confirmation
  • SaaS : Landing → Signup → Onboarding → Activation
  • Blog : Accueil → Article → Inscription newsletter
  • Formulaires : Étape 1 → Étape 2 → Étape 3 → Merci
Astuce :

Combinez les funnels avec les heatmaps des pages à fort drop-off pour identifier précisément les problèmes.

Analyse des formulaires

Analysez chaque champ de formulaire pour optimiser vos taux de conversion.

Détection automatique

L'Analyste détecte automatiquement tous vos formulaires. Aucune configuration requise !

Événements trackés

Focus

Utilisateur clique dans le champ

Change

Utilisateur modifie la valeur

Blur

Utilisateur quitte le champ

Submit

Formulaire soumis avec succès

Abandon

Utilisateur quitte sans soumettre

Métriques par formulaire

  • Taux de complétion : % soumissions vs. interactions
  • Taux d'abandon : % abandons après focus
  • Temps moyen : Durée focus → submit
  • Champ problématique : Le plus abandonné

Métriques par champ

  • Taux de remplissage : % champs remplis
  • Temps passé : Durée focus → blur
  • Refontes : Nombre de modifications
  • Taux de correction : % users qui reviennent dessus

Anonymisation

L'Analyste respecte votre confidentialité :

  • Aucune valeur n'est stockée
  • Seulement metadata : field_name, field_type, interaction_type
  • Durées agrégées
  • Pas de keystroke logging

Exemple d'utilisation

Exemple :

Problème détecté : Le champ "Téléphone" a un taux d'abandon de 68%.
Action : Rendre le champ optionnel ou clarifier le format attendu.
Résultat : Taux de complétion passe de 32% à 78%.

Cas d'usage

  • Inscription : Identifiez les champs trop complexes
  • Checkout : Réduisez la friction au paiement
  • Contact : Simplifiez les formulaires de contact
  • Survey : Optimisez les questionnaires longs

Alertes

Recevez des notifications en temps réel quand des seuils que vous fixez sont dépassés.

Créer une alerte

  1. Allez dans Site → Alertes
  2. Cliquez sur Créer une alerte
  3. Choisissez la métrique à surveiller
  4. Définissez la condition (supérieur/inférieur)
  5. Seuil numérique
  6. Fenêtre de temps (5-60 minutes)
  7. Canal de notification (email/webhook)

Métriques disponibles

Error Rate

% de sessions avec erreurs JS

Rage Clicks

Nombre de rage clicks par fenêtre

Dead Clicks

Nombre de dead clicks par fenêtre

Low Scroll

% sessions avec scroll < 25%

Form Abandon

Taux d'abandon de formulaires

Conditions et fenêtres

Vous pouvez définir :

  • Condition : "supérieur à" ou "inférieur à"
  • Seuil : Valeur numérique (ex: 10 pour 10 rage clicks)
  • Fenêtre : Période d'évaluation (5/15/30/60 minutes)

Exemple d'alertes

Pic d'erreurs JS
Déclenché si error_rate > 5% dans les 15 dernières minutes
Rage clicks inhabituels
Déclenché si rage_clicks > 20 dans les 30 dernières minutes
Formulaire problématique
Déclenché si form_abandon > 60% dans les 60 dernières minutes

Cooldown

Pour éviter le spam, chaque alerte a un cooldown de 60 minutes. Une fois déclenchée, elle ne se redéclenchera pas avant 1h même si la condition reste vraie.

Canaux de notification

  • Email : Envoyé au propriétaire du site
  • Webhook : Envoyé à l'URL configurée (Zapier, Slack, etc.)

Commande de vérification

La commande alerts:check s'exécute toutes les 5 minutes pour évaluer toutes les alertes actives.

Astuce :

Combinez les alertes avec les webhooks pour automatiser des actions (ex: créer un ticket Jira quand error_rate > 10%).

Événements personnalisés

Suivez vos propres événements métier avec l'API JavaScript de Track.

API JavaScript

Après avoir installé le script de L'Analyste, utilisez window._ht_track() :

// Événement simple
window._ht_track('purchase_completed');

// Événement avec données
window._ht_track('add_to_cart', {
  product_id: 'SKU-12345',
  price: 49.99,
  currency: 'CAD',
  quantity: 2
});

// Événement d'erreur personnalisé
window._ht_track('api_error', {
  endpoint: '/api/products',
  status: 500,
  message: 'Internal Server Error'
});

Données stockées

Pour chaque custom event, L'Analyste stocke :

  • event_name : Nom de l'événement
  • event_data : Objet JSON avec vos données
  • session_id : Session anonyme
  • path : URL où l'événement s'est produit
  • timestamp : Date/heure précise

Exemples d'utilisation

E-commerce

// Ajout au panier
window._ht_track('add_to_cart', { product: 'T-shirt XL', price: 29.99 });

// Achat
window._ht_track('purchase', { amount: 127.50, items: 3 });

// Abandon panier
window._ht_track('cart_abandoned', { cart_value: 89.99 });

SaaS

// Feature utilisée
window._ht_track('feature_used', { feature: 'export_pdf' });

// Upgrade plan
window._ht_track('plan_upgraded', { from: 'free', to: 'pro' });

// Onboarding complété
window._ht_track('onboarding_completed', { steps: 5, duration: 240 });

Médias

// Vidéo vue
window._ht_track('video_watched', { video_id: 'intro', percent: 87 });

// Article lu
window._ht_track('article_read', { article_id: 123, reading_time: 180 });

// Newsletter inscrit
window._ht_track('newsletter_signup', { source: 'footer' });

Dashboard Custom Events

Accédez aux custom events via Site → Custom Events.

Le dashboard affiche :

  • Top 10 événements par volume
  • Timeline des derniers événements
  • Filtres par event_name et période
  • Données JSON complètes pour chaque event

Anonymisation

L'Analyste valide automatiquement event_data et bloque tout PII :

  • Emails détectés et rejetés
  • Numéros de téléphone rejetés
  • Numéros de carte bancaire rejetés
  • Vos données métiers anonymes passent
Important :

N'envoyez JAMAIS de données personnelles (noms, emails, IPs) via les custom events. Utilisez uniquement des IDs anonymes.

Limites

  • Rate limit : 100 événements/minute par site
  • Taille max event_data : 10KB
  • Rétention : 30 jours (comme tous les événements)

Référence API

Documentation complète de l'API REST Track.

Authentification

Les points d'accès publics utilisent HMAC SHA-256 avec votre signing_secret.

// Format du jeton
Token = base64(siteId|timestamp|hmac_sha256)

// En-têtes requis
X-Site-Id: tk_xxxxx
X-Track-Token: {token_base64}
Origin: https://yourdomain.com

Points d'accès disponibles

POST /api/track

Envoie un événement de carte de chaleur (clic / survol).

{
  "site_id": "tk_xxxxx",
  "event_type": "click",
  "x": 450,
  "y": 320,
  "path": "/products/shoes",
  "selector": "button.add-to-cart",
  "viewport_width": 1920,
  "viewport_height": 1080,
  "device_type": "desktop"
}

POST /api/behavior

Envoie un événement de comportement (rage / dead / erreur).

{
  "site_id": "tk_xxxxx",
  "session_id": "sess_abc123",
  "type": "rage_click",
  "path": "/checkout",
  "selector": "button#submit-order",
  "x": 600,
  "y": 400,
  "metadata": {
    "clicks_count": 5,
    "duration_ms": 800
  }
}

POST /api/replay-events

Envoie des événements rrweb pour le rejeu de session.

{
  "site_id": "tk_xxxxx",
  "session_id": "sess_abc123",
  "events": [
    { "type": 2, "data": {...}, "timestamp": 1707580800000 },
    { "type": 3, "data": {...}, "timestamp": 1707580801000 }
  ]
}

POST /api/scroll

Envoie la profondeur de défilement maximale atteinte.

{
  "site_id": "tk_xxxxx",
  "session_id": "sess_abc123",
  "path": "/blog/article-123",
  "max_scroll_percent": 87,
  "viewport_height": 1080,
  "page_height": 4500
}

POST /api/form-events

Envoie des interactions avec les formulaires.

{
  "site_id": "tk_xxxxx",
  "session_id": "sess_abc123",
  "path": "/contact",
  "form_selector": "form#contact-form",
  "field_name": "email",
  "field_type": "email",
  "interaction_type": "blur",
  "time_spent_ms": 3200
}

POST /api/custom-events

Envoie des événements personnalisés.

{
  "site_id": "tk_xxxxx",
  "session_id": "sess_abc123",
  "path": "/checkout",
  "event_name": "purchase_completed",
  "event_data": {
    "amount": 127.50,
    "currency": "CAD",
    "items": 3
  }
}

Limites de débit

Point d'accès Limite Par
/api/track 100 req/min site_id
/api/behavior 60 req/min site_id
/api/replay-events 60 req/min session_id
/api/custom-events 100 req/min site_id
/api/script/* 30 req/min IP

Codes de statut

  • 200 OK : Événement enregistré avec succès
  • 400 Bad Request : Données invalides ou information personnelle détectée
  • 401 Unauthorized : Jeton HMAC invalide ou expiré
  • 403 Forbidden : Origine non autorisée
  • 429 Too Many Requests : Limite de débit dépassée
  • 500 Internal Server Error : Erreur serveur

Exemple complet (cURL)

curl -X POST https://lanalyste.app/api/track \
  -H "Content-Type: application/json" \
  -H "X-Site-Id: tk_xxxxx" \
  -H "X-Track-Token: base64_token_here" \
  -H "Origin: https://yourdomain.com" \
  -d '{
    "site_id": "tk_xxxxx",
    "event_type": "click",
    "x": 450,
    "y": 320,
    "path": "/",
    "selector": "button.cta"
  }'
Recommandation :

Utilisez le script JavaScript Track plutôt que l'API REST directement. Il gère automatiquement l'authentification, le regroupement et les nouvelles tentatives.

Questions fréquentes

L'Analyste est-il vraiment 100% anonyme ?

Oui ! L'Analyste :

  • Hash les IPs avec SHA-256 + salt quotidien
  • Rotate les sessions toutes les 30min
  • Tronque les user agents
  • Valide et bloque automatiquement tout PII
  • Aucun cookie de tracking

Vous pouvez utiliser L'Analyste sans consentement en RGPD/Loi 25.

Les webhooks envoient-ils des données personnelles ?

Non, jamais. Les webhooks de L'Analyste envoient uniquement des données agrégées :

  • Aucun IP
  • Aucun session ID
  • Aucun identifiant utilisateur
  • Uniquement des statistiques globales

C'est ce qui rend L'Analyste unique : intégrations + anonymisation totale.

Exportez-vous des données de L'Analyste vers Google Analytics ?

Non, jamais. L'intégration GA4 est import uniquement (GA → L'Analyste).

Nous importons vos sources de trafic de GA4 pour enrichir vos analyses dans L'Analyste, mais aucune donnée de L'Analyste n'est envoyée vers Google.

Combien coûte L'Analyste ?

30$ CAD par site par mois, avec :

  • Sessions illimitées
  • Sites illimités
  • Webhooks inclus
  • Intégration GA4 incluse
  • 30 jours d'essai gratuit
L'Analyste ralentit-il mon site ?

Non. Le script de L'Analyste :

  • Pèse seulement ~15KB (gzippé)
  • Se charge de manière asynchrone
  • N'bloque jamais le rendu de la page
  • Utilise requestIdleCallback quand disponible
Puis-je utiliser L'Analyste avec Zapier ?

Oui ! Utilisez les webhooks de L'Analyste avec Zapier :

  1. Dans Zapier, créez un trigger "Webhooks - Catch Hook"
  2. Copiez l'URL fournie
  3. Collez-la dans L'Analyste → Site → Webhooks
  4. Testez avec le bouton "Tester"
  5. Connectez à 5000+ apps Zapier

Installation du script de suivi

Guide détaillé pour installer Track sur votre site web.

Formats de domaine acceptés

Formats valides

  • example.com
  • www.monsite.fr
  • app.monservice.io
  • subdomain.example.co.uk

Formats invalides

  • https://example.com (avec protocole)
  • http://www.monsite.fr (avec protocole)
  • example.com/page (avec chemin)
  • example.com:8080 (avec port)

Installation selon votre plateforme

HTML / Sites statiques

Ajoutez le code juste avant la balise </body> :

<script src="https://votre-domaine.com/api/script/tk_xxxxx"></script>
</body>
React / Next.js

React (Create React App) : Ajoutez dans public/index.html avant </body>

Next.js : Ajoutez dans pages/_document.js ou app/layout.tsx

Vue.js / Nuxt

Vue.js : Ajoutez dans public/index.html

Nuxt 3 : Créez app.vue ou ajoutez dans nuxt.config.ts

WordPress

Méthode 1 : Thème Ajoutez dans footer.php avant </body>

Méthode 2 : Plugin Utilisez "Insert Headers and Footers" puis collez le code dans "Scripts in Footer"

Shopify
  1. Allez dans Boutique en ligne → Thèmes → Actions → Modifier le code
  2. Ouvrez theme.liquid
  3. Cherchez </body>
  4. Collez le code juste avant
Webflow
  1. Ouvrez les Paramètres du projet
  2. Allez dans Custom Code
  3. Collez le code dans Footer Code
  4. Publiez votre site

Captures d'écran automatiques

Comment Track capture et gère les captures d'écran de vos pages.

Génération automatique

L'Analyste génère automatiquement des screenshots de vos pages pour afficher les heatmaps. Voici comment ça fonctionne :

Déclenchement

Un screenshot est généré automatiquement après le premier clic détecté sur une nouvelle page.

Délai

La capture peut prendre 30-60 secondes selon la complexité de votre page.

Mise à jour

Les screenshots sont conservés 30 jours, puis régénérés automatiquement.

Génération manuelle

Si vous avez modifié le design de votre site, vous pouvez forcer une régénération :

php artisan screenshot:capture --website-id=1 --path="/" --device=desktop

Astuce

Générez des screenshots pour chaque type d'appareil (mobile, tablet, desktop) pour voir les différences de comportement.

Facturation

Un seul tarif, sans palier : 30 $ CAD par site actif et par mois.

Comment ça marche

  1. Créez autant de sites que vous voulez — il n'y a aucune limite.
  2. Vous ne payez que les sites actifs — 30 $ CAD par mois et par site.
  3. L'abonnement s'ajuste seul — activer ou désactiver un site met le montant à jour.
  4. 30 jours d'essai gratuit — pour tout nouveau compte.

Exemples

  • 1 site actif = 30 $ CAD par mois
  • 5 sites actifs = 150 $ CAD par mois
  • 10 sites actifs = 300 $ CAD par mois

Votre moyen de paiement

Votre carte est enregistrée à la création de votre premier site, au cours de l'accompagnement initial. Aucun montant n'est débité pendant les 30 jours d'essai. À l'issue de l'essai, la facturation démarre automatiquement selon le nombre de sites actifs.

Gérer votre abonnement

Depuis la page Facturation, vous pouvez mettre à jour votre carte, consulter et télécharger vos factures, ou résilier. Tout passe par le portail sécurisé de Stripe : nous ne conservons jamais votre numéro de carte.

Prorata automatique

Si vous ajoutez ou retirez un site en cours de mois, Stripe calcule le prorata. Vous ne payez que la période réellement utilisée.