v1.0 Novembre 2025
13.3

Plan de Tracking Analytics

La solution de cashback nouvelle génération

24 novembre 2025
Version 1.0
1

INTRODUCTION

1.1 Objectif du Document

Ce document définit le plan de tracking analytics de REWAPP, détaillant l'ensemble des événements à suivre, les propriétés associées, les outils utilisés et les modalités d'implémentation pour chaque plateforme de l'écosystème.

ESSENTIEL

Le tracking analytics est essentiel pour mesurer la performance des KPIs business, comprendre le comportement des utilisateurs, identifier les points de friction et optimiser l'acquisition, l'engagement et la rétention.

1.2 Périmètre

Le plan de tracking couvre les quatre composantes de l'écosystème REWAPP :

App Mobile iOS/Android - Clients finaux
Site Vitrine Next.js - Prospects
Dashboard Admin React - Équipe REWAPP
Dashboard Partenaire PWA React - Commerçants

1.3 Principes Directeurs

  • Conformité RGPD Consentement explicite avant tout tracking, anonymisation des données personnelles
  • Privacy by Design Minimisation des données collectées, pseudonymisation des identifiants
  • Qualité des données Nomenclature standardisée, validation des événements, documentation exhaustive
  • Scalabilité Architecture permettant l'ajout de nouveaux événements sans refonte majeure
2

STRATÉGIE DE TRACKING

2.1 Objectifs du Tracking

Objectifs Analytics

Objectif Description KPIs Associés
Acquisition Comprendre les sources d'acquisition et le coût par canal CAC, taux de conversion, sources de trafic
Activation Mesurer le taux de complétion des étapes clés (inscription, liaison carte) Taux d'inscription, taux de liaison carte
Engagement Analyser l'utilisation de l'application et les comportements récurrents DAU/MAU, sessions/utilisateur, actions/session
Rétention Identifier les facteurs de fidélisation et de churn Rétention J7/J30/J90, taux de churn
Monétisation Suivre les revenus et la valeur générée Volume transactions, ARPU, LTV
Satisfaction Évaluer la satisfaction utilisateur et partenaire NPS, note stores, taux de recommandation

2.2 Modèle de Données

REWAPP adopte un modèle de tracking basé sur trois dimensions :

Utilisateurs (Who) Identification unique par user_id pseudonymisé, segmentation par propriétés
Événements (What) Actions discrètes horodatées, catégorisation par type
Contexte (Where/How) Plateforme, version app, device, source du trafic

2.3 Hiérarchie des Événements

Niveaux de Priorité

Niveau Type Exemple Priorité
Critique Conversion majeure transaction_completed, qr_code_scanned P0 - Obligatoire
Important Étape clé parcours card_linked, withdrawal_requested P1 - Obligatoire
Standard Interaction courante screen_viewed, button_clicked P2 - Recommandé
Diagnostic Debug / Performance error_occurred, api_latency P3 - Optionnel
3

TAXONOMIE DES ÉVÉNEMENTS

3.1 Convention de Nommage

FORMAT STANDARD

[objet]_[action]_[complément optionnel]

Règles :

  • Tout en snake_case (minuscules, underscores)
  • Verbe au passé (completed, created, viewed)
  • Maximum 50 caractères
  • Pas d'espaces ni caractères spéciaux

Exemples :

  • user_registered → Utilisateur inscrit
  • card_linked → Carte bancaire liée
  • transaction_detected → Transaction détectée
  • qr_code_generated → QR code généré
  • points_credited → Points crédités

3.2 Catégories d'Événements

12 Catégories d'Événements

Catégorie Préfixe Description
Authentification auth_ Connexion, déconnexion, inscription
Utilisateur user_ Profil, préférences, suppression compte
Carte card_ Liaison, suppression carte bancaire
Transaction transaction_ Détection, crédit points
QR Code qr_ Génération, scan, expiration
Points points_ Crédit, débit, expiration
Cashback cashback_ Demande virement, statut
Partenaire partner_ Inscription, configuration
Admin admin_ Actions administration
Navigation screen_ Vues d'écran
Interaction button_, form_ Clics, soumissions formulaire
Erreur error_ Erreurs et exceptions
4

CATALOGUE D'ÉVÉNEMENTS PAR PLATEFORME

4.1 Application Mobile (iOS/Android)

4.1.1 Événements d'Authentification

Auth Events - Mobile

Événement Trigger Priorité Propriétés
auth_signup_started Clic sur "S'inscrire" P1 source, screen
auth_signup_step_completed Validation étape inscription P1 step_number, step_name
auth_signup_completed Fin inscription réussie P0 method (email/social), referral_code
auth_signup_failed Échec inscription P1 error_code, error_message
auth_login_completed Connexion réussie P0 method, device_type
auth_login_failed Échec connexion P1 error_code, attempts_count
auth_logout_completed Déconnexion P2 trigger (manual/session_expired)
auth_2fa_enabled Activation 2FA P2 method (sms/app)

4.1.2 Événements Carte Bancaire

Card Events - Mobile

Événement Trigger Priorité Propriétés
card_linking_started Clic sur "Lier ma carte" P0 source_screen
card_bank_selected Sélection banque P1 bank_name, bank_id
card_consent_given Consentement OpenBanking P0 consent_type
card_linking_completed Liaison réussie P0 bank_name, card_type, time_to_complete
card_linking_failed Échec liaison P0 error_code, error_message, bank_name
card_linking_abandoned Abandon parcours P1 last_step, time_spent
card_removed Suppression carte P1 reason

4.1.3 Événements Transactions et Points

Transaction & Points Events

Événement Trigger Priorité Propriétés
transaction_detected Nouvelle transaction détectée P0 partner_id, amount, date
transaction_eligible Transaction éligible cashback P0 partner_id, amount, cashback_rate
transaction_ineligible Transaction non éligible P1 reason, partner_id, amount
points_credited Points crédités sur compte P0 points_amount, euro_value, partner_id, tier_bonus
points_expiring_soon Notification points expirant P2 points_amount, expiry_date, days_remaining
points_expired Points expirés P1 points_amount, euro_value

4.1.4 Événements QR Code

QR Code Events

Événement Trigger Priorité Propriétés
qr_code_generation_started Clic "Utiliser mes points" P1 points_balance
qr_code_amount_selected Sélection montant P1 points_selected, euro_value
qr_code_generated QR code affiché P0 qr_id, points_amount, euro_value, validity_seconds
qr_code_timer_warning Alerte 15s restantes P2 qr_id, time_remaining
qr_code_expired QR code expiré (60s) P1 qr_id, points_amount, was_displayed
qr_code_scanned QR code scanné avec succès P0 qr_id, partner_id, points_debited, euro_value
qr_code_scan_failed Échec scan QR P1 qr_id, error_code, partner_id

4.1.5 Événements Cashback Bancaire

Cashback Withdrawal Events

Événement Trigger Priorité Propriétés
cashback_withdrawal_started Clic "Demander virement" P1 points_balance
cashback_withdrawal_requested Demande soumise P0 points_amount, euro_value, iban_last4
cashback_withdrawal_cancelled Annulation demande P1 withdrawal_id, reason
cashback_withdrawal_processing Passage en traitement P1 withdrawal_id
cashback_withdrawal_completed Virement effectué P0 withdrawal_id, euro_value, processing_days

4.1.6 Événements Fidélité

Loyalty Tier Events

Événement Trigger Priorité Propriétés
tier_upgraded Passage palier supérieur P0 old_tier, new_tier, partner_id
tier_downgraded Rétrogradation palier P1 old_tier, new_tier, partner_id, reason
tier_progress_viewed Consultation progression P2 current_tier, progress_percent, partner_id

4.2 Site Vitrine (Next.js)

4.2.1 Événements Acquisition

Web Acquisition Events

Événement Trigger Priorité Propriétés
page_viewed Chargement page P1 page_path, page_title, referrer
cta_clicked Clic CTA principal P0 cta_type (download_app/signup), cta_location
app_store_redirect Redirection vers store P0 store_type (ios/android), source_page
signup_interest Clic "Je m'inscris" P0 source_section

4.2.2 Événements Partenaires

Partner Signup Events

Événement Trigger Priorité Propriétés
partner_signup_clicked Clic "Devenir partenaire" P0 source_page
partner_form_started Début formulaire partenaire P1 -
partner_form_step_completed Étape formulaire validée P1 step_number, step_name
partner_form_submitted Soumission formulaire P0 business_type, city

4.3 Dashboard Partenaire (PWA)

4.3.1 Événements Scan QR

Partner Scan Events

Événement Trigger Priorité Propriétés
scan_initiated Ouverture scanner P1 partner_id
scan_qr_captured QR code capturé P1 qr_id, partner_id
scan_validated Validation réussie P0 qr_id, user_id_hash, points_amount, euro_value
scan_rejected Rejet scan P0 qr_id, rejection_reason (expired/already_used/invalid)
scan_completed Transaction finalisée P0 qr_id, transaction_id, total_amount

4.3.2 Événements Configuration

Partner Configuration Events

Événement Trigger Priorité Propriétés
cashback_rate_updated Modification taux cashback P0 old_rate, new_rate
tier_thresholds_updated Modification seuils paliers P1 tier, old_threshold, new_threshold
business_info_updated Modification infos commerce P1 fields_updated

4.4 Dashboard Admin

4.4.1 Événements Gestion Utilisateurs

Admin User Management Events

Événement Trigger Priorité Propriétés
admin_user_suspended Suspension compte P0 user_id_hash, reason, admin_id
admin_user_reactivated Réactivation compte P0 user_id_hash, admin_id
admin_partner_validated Validation partenaire P0 partner_id, admin_id, validation_time
admin_partner_rejected Rejet partenaire P0 partner_id, admin_id, rejection_reason
admin_transaction_flagged Signalement fraude P0 transaction_id, flag_reason, admin_id
admin_withdrawal_approved Approbation virement P0 withdrawal_id, admin_id
5

PROPRIÉTÉS UTILISATEUR

5.1 Propriétés Identifiantes

User Identity Properties

Propriété Type Description Source
user_id String (UUID) Identifiant unique pseudonymisé Backend
anonymous_id String ID avant authentification Analytics SDK
device_id String Identifiant device SDK Mobile

5.2 Propriétés Comportementales

Behavioral Properties

Propriété Type Description Mise à jour
card_linked Boolean Carte bancaire liée Temps réel
total_transactions Integer Nombre transactions totales Quotidien
total_points_earned Integer Points totaux gagnés Temps réel
current_points_balance Integer Solde points actuel Temps réel
total_euro_earned Float Valeur euros gagnés Quotidien
total_euro_spent Float Euros dépensés (QR) Temps réel
last_transaction_date DateTime Dernière transaction Temps réel

5.3 Propriétés de Segmentation

Segmentation Properties

Propriété Type Description Calcul
user_segment String Segment utilisateur Quotidien
lifecycle_stage Enum new/activated/engaged/dormant/churned Quotidien
days_since_signup Integer Jours depuis inscription Quotidien
is_active_30d Boolean Actif dans les 30 derniers jours Quotidien
highest_tier Enum Palier le plus haut atteint Temps réel
6

PROPRIÉTÉS DES ÉVÉNEMENTS

6.1 Propriétés Communes (Toutes plateformes)

Common Event Properties

Propriété Type Obligatoire Description
timestamp DateTime ISO 8601 Oui Horodatage UTC de l'événement
event_id String (UUID) Oui Identifiant unique de l'événement
session_id String Oui Identifiant de session
user_id String Si authentifié ID utilisateur pseudonymisé
anonymous_id String Si non authentifié ID anonyme

6.2 Propriétés Contextuelles Mobile

Mobile Context Properties

Propriété Type Description
platform Enum ios / android
app_version String Version application (ex: 1.2.3)
os_version String Version OS (ex: iOS 17.1)
device_model String Modèle device (ex: iPhone 15 Pro)
network_type Enum wifi / cellular / offline
locale String Langue/pays (ex: fr_FR)

6.3 Propriétés UTM (Acquisition)

UTM Properties

Propriété Type Description
utm_source String Source de la campagne (google, facebook, etc.)
utm_medium String Canal (cpc, organic, email, etc.)
utm_campaign String Nom de la campagne
utm_term String Mots-clés (optionnel)
utm_content String Variante créative (optionnel)
7

FUNNELS D'ANALYSE

7.1 Funnel d'Inscription

Signup Funnel

Étape Événement Objectif Conversion
1. Landing app_opened (source=organic/paid) 100% (base)
2. Signup Started auth_signup_started > 60%
3. Step 1 Complete auth_signup_step_completed (step=1) > 85%
4. Step 2 Complete auth_signup_step_completed (step=2) > 80%
5. Signup Complete auth_signup_completed > 75%
CONVERSION GLOBALE

> 40% du funnel complet

7.2 Funnel d'Activation (Liaison Carte)

Card Linking Funnel

Étape Événement Objectif Conversion
1. Signup Complete auth_signup_completed 100% (base)
2. Card Linking Started card_linking_started > 70%
3. Bank Selected card_bank_selected > 90%
4. Consent Given card_consent_given > 85%
5. Card Linked card_linking_completed > 80%
CONVERSION GLOBALE

> 50% du funnel complet

7.3 Funnel de Conversion QR Code

QR Code Funnel

Étape Événement Objectif Conversion
1. QR Generation Started qr_code_generation_started 100% (base)
2. Amount Selected qr_code_amount_selected > 95%
3. QR Generated qr_code_generated > 98%
4. QR Scanned qr_code_scanned > 80%
CONVERSION GLOBALE

> 75% du funnel complet

8

OUTILS ET STACK ANALYTICS

8.1 Architecture Analytics

Stack Analytics

Couche Outil Rôle
Collecte Mobile Firebase Analytics + Segment SDK Capture événements mobile
Collecte Web Google Analytics 4 + Segment Capture événements web
Product Analytics Mixpanel Analyse comportementale avancée
Customer Data Platform Segment Unification et routage données
Data Warehouse BigQuery Stockage et analyse SQL
Visualisation Metabase / Looker Dashboards et reporting
Error Tracking Sentry Suivi des erreurs et crashes
A/B Testing Firebase Remote Config Tests et feature flags

8.2 Segment (CDP)

Usage principal : Customer Data Platform, unification données

AVANTAGES SEGMENT
  • Point unique de collecte
  • Validation du schéma en temps réel
  • Replay des données si besoin
  • Privacy controls centralisés

Configuration :

  • Sources : Mobile iOS, Mobile Android, Web Site, Web Admin, Web Partner
  • Destinations : GA4, Mixpanel, BigQuery, Brevo (email), FCM (push)
  • Protocols : Schéma de validation des événements

8.3 Mixpanel

Usage principal : Analyse comportementale produit, funnels, cohortes

Fonctionnalités clés :

  • Funnels : Tous les funnels définis en section 7
  • Flows : Visualisation des parcours utilisateurs
  • Retention : Courbes de rétention par cohorte
  • Cohorts : Segmentation comportementale
  • Impact : Analyse causale des fonctionnalités
9

IMPLÉMENTATION TECHNIQUE

9.1 SDK et Librairies

9.1.1 Application Mobile (Angular + Ionic)

Mobile Dependencies

Package Version Usage
@segment/analytics-react-native ^2.x Tracking principal
@react-native-firebase/analytics ^18.x GA4 mobile
@react-native-firebase/crashlytics ^18.x Crash reporting
@sentry/react-native ^5.x Error tracking
react-native-device-info ^10.x Propriétés device

9.2 Initialisation

9.2.1 Configuration Segment (Mobile)

TypeScript
import { createClient } from '@segment/analytics-react-native';

const segmentClient = createClient({
  writeKey: 'SEGMENT_WRITE_KEY',
  trackAppLifecycleEvents: true,
  trackDeepLinks: true,
  debug: __DEV__,
  flushAt: 20,
  flushInterval: 30,
});

9.2.2 Configuration Segment (Web)

TypeScript
import { AnalyticsBrowser } from '@segment/analytics-next';

const analytics = AnalyticsBrowser.load({
  writeKey: 'SEGMENT_WRITE_KEY',
});

9.3 Patterns d'Implémentation

9.3.1 Service de Tracking Centralisé

TypeScript
class AnalyticsService {
  track(eventName: string, properties: Record<string, any>) {
    const enrichedProperties = {
      ...properties,
      timestamp: new Date().toISOString(),
      app_version: getAppVersion(),
      platform: Platform.OS,
    };
    
    segmentClient.track(eventName, enrichedProperties);
  }
  
  identify(userId: string, traits: Record<string, any>) {
    segmentClient.identify(userId, traits);
  }
  
  screen(screenName: string, properties?: Record<string, any>) {
    segmentClient.screen(screenName, properties);
  }
}

9.3.2 Exemple : Tracking QR Code

TypeScript
const trackQRCode = {
  generated: (qrId: string, pointsAmount: number) => {
    const euroValue = pointsAmount * 0.105; // Ratio cashback
    
    analytics.track('qr_code_generated', {
      qr_id: qrId,
      points_amount: pointsAmount,
      euro_value: euroValue,
      validity_seconds: 60,
    });
  },
  
  scanned: (qrId: string, partnerId: string, pointsDebited: number) => {
    const euroValue = pointsDebited * 0.105;
    
    analytics.track('qr_code_scanned', {
      qr_id: qrId,
      partner_id: partnerId,
      points_debited: pointsDebited,
      euro_value: euroValue,
    });
  },
  
  expired: (qrId: string, pointsAmount: number, wasDisplayed: boolean) => {
    analytics.track('qr_code_expired', {
      qr_id: qrId,
      points_amount: pointsAmount,
      was_displayed: wasDisplayed,
    });
  },
};

9.4 Validation des Données

Schéma Segment Protocols

JSON
{
  "name": "qr_code_scanned",
  "rules": {
    "properties": {
      "qr_id": { "type": "string", "required": true },
      "partner_id": { "type": "string", "required": true },
      "points_debited": { "type": "integer", "required": true, "minimum": 10 },
      "euro_value": { "type": "number", "required": true }
    }
  }
}

9.5 Consentement et RGPD

Catégories de Consentement

Catégorie Données Outils Associés
Essentiel Fonctionnement app, sécurité Sentry (erreurs critiques)
Analytics Comportement agrégé GA4, Mixpanel
Marketing Attribution, remarketing Google Ads, Facebook Pixel
10

PLAN DE DÉPLOIEMENT

10.1 Phases de Déploiement

Deployment Timeline

Phase Durée Livrables Critères de Succès
Phase 1 : Setup 2 semaines Comptes créés, SDK intégrés, schéma validé Tests unitaires passants
Phase 2 : Core Events 3 semaines Événements P0/P1 implémentés Validation QA sur staging
Phase 3 : Enrichissement 2 semaines Événements P2, propriétés utilisateur Funnels fonctionnels
Phase 4 : Dashboards 2 semaines Dashboards Mixpanel/GA4 configurés Stakeholders validés
Phase 5 : Production 1 semaine Déploiement, monitoring Données en temps réel

10.2 Checklist de Validation

AVANT MISE EN PRODUCTION
  • ☐ Tous les événements P0 trackés et validés
  • ☐ Identification utilisateur fonctionnelle (cross-device)
  • ☐ Schéma Segment Protocols activé
  • ☐ Consentement RGPD implémenté
  • ☐ Dashboards critiques opérationnels
  • ☐ Alertes configurées (anomalies, erreurs)
  • ☐ Documentation technique à jour
  • ☐ Formation équipes effectuée
11

GOUVERNANCE ET QUALITÉ DES DONNÉES

11.1 Rôles et Responsabilités

RACI Matrix

Rôle Responsabilité Personne/Équipe
Data Owner Définition stratégie analytics Product Manager
Data Steward Qualité et documentation Data Analyst
Implementation Lead Implémentation technique Lead Developer
Privacy Officer Conformité RGPD Legal/DPO

11.2 Alertes et Monitoring

Alertes Qualité Données

Alerte Condition Action
Volume anormal Variation > 50% vs J-1 Investigation Data Team
Événements invalides > 1% rejetés Fix technique urgent
Latence élevée > 5 min d'ingestion Escalade infrastructure
Crash rate > 1% sessions Hotfix prioritaire
12

CONCLUSION

12.1 Récapitulatif

Ce plan de tracking analytics définit une stratégie complète pour mesurer et optimiser l'ensemble de l'écosystème REWAPP :

4 Plateformes couvertes
+80 Événements définis
6 Funnels critiques
12 Catégories d'événements
STACK ANALYTICS MODERNE

Segment (CDP) + GA4 (acquisition) + Mixpanel (product analytics) + Conformité RGPD native

12.2 Facteurs Clés de Succès

  • Qualité des données Schéma validé, tests automatisés, monitoring continu
  • Adoption équipes Formation, documentation accessible, dashboards self-service
  • Évolutivité Architecture permettant l'ajout de nouveaux événements sans friction
  • Privacy first Conformité RGPD intégrée dès la conception

12.3 Prochaines Étapes

  1. 1
    Validation du plan

    Par les stakeholders (Product, Tech, Legal)

  2. 2
    Setup des comptes

    Création des environnements analytics

  3. 3
    Implémentation Phase 1

    Événements P0 critiques

  4. 4
    Création dashboards

    Voir document 13.4 Tableaux de Bord

  5. 5
    Formation équipes

    Product et Marketing

DOCUMENTS CONNEXES

Le tracking analytics est un pilier essentiel pour piloter la croissance de REWAPP et atteindre les objectifs définis dans les KPIs business (13.1) et techniques (13.2). Les dashboards sont détaillés dans le document 13.4 Tableaux de Bord.