Published by January 24, 2025 · Reading time 7 minutes · Created by William
Le respect de la vie privée n'est pas une option - c'est une obligation légale et éthique. EchoTag vous aide à implémenter un tracking conforme au RGPD tout en maximisant vos conversions. Découvrez comment concilier performance marketing et protection des données.
EchoTag propose un système de consentement en 3 niveaux :
// Configuration du consentement EchoTag
EchoTag.init("VOTRE_CLE_API", {
consentManagement: {
necessary: true, // Toujours activé (fonctionnalité)
analytics: false, // Requiert consentement
marketing: false, // Requiert consentement
preferences: {
granular: true, // Contrôle fin par catégorie
persistent: true // Sauvegarde des préférences
}
}
});
// Anonymisation des données sensibles
EchoTag.track("page_view", {
url: "/products/electronics",
// IP anonymisée automatiquement
ip_anonymized: true,
// Pas de données personnelles
user_agent_hashed: "abc123...",
// Timestamp sans précision excessive
timestamp: "2025-01-24T10:00:00Z"
});
// Collecte minimale et ciblée
EchoTag.track("purchase", {
// Données essentielles uniquement
revenue: 89.99,
currency: "EUR",
// Pas de données personnelles
// Pas d'email, nom, adresse
});
<!-- Banner de consentement EchoTag -->
<div id="echotag-consent-banner" class="consent-banner">
<div class="consent-content">
<h3>Respect de votre vie privée</h3>
<p>Nous utilisons EchoTag pour améliorer votre expérience.
Vous pouvez contrôler vos préférences ci-dessous.</p>
<div class="consent-options">
<label>
<input type="checkbox" checked disabled>
<span>Nécessaire (toujours actif)</span>
</label>
<label>
<input type="checkbox" id="analytics-consent">
<span>Analytics (amélioration du service)</span>
</label>
<label>
<input type="checkbox" id="marketing-consent">
<span>Marketing (personnalisation)</span>
</label>
</div>
<div class="consent-actions">
<button onclick="acceptAll()">Accepter tout</button>
<button onclick="acceptNecessary()">Nécessaire uniquement</button>
<button onclick="customizeConsent()">Personnaliser</button>
</div>
</div>
</div>
// Gestion du consentement EchoTag
function initializeConsent() {
// Vérifier le consentement existant
const consent = getStoredConsent();
if (!consent) {
showConsentBanner();
} else {
initializeEchoTag(consent);
}
}
function acceptAll() {
const consent = {
necessary: true,
analytics: true,
marketing: true,
timestamp: new Date().toISOString()
};
storeConsent(consent);
initializeEchoTag(consent);
hideConsentBanner();
}
function acceptNecessary() {
const consent = {
necessary: true,
analytics: false,
marketing: false,
timestamp: new Date().toISOString()
};
storeConsent(consent);
initializeEchoTag(consent);
hideConsentBanner();
}
function initializeEchoTag(consent) {
if (consent.analytics) {
EchoTag.init("VOTRE_CLE_API", {
consentLevel: "analytics",
anonymizeIp: true,
respectDoNotTrack: true
});
}
}
<!-- Section EchoTag dans votre politique de confidentialité -->
<section class="privacy-policy">
<h2>Tracking et analytics avec EchoTag</h2>
<h3>Données collectées</h3>
<ul>
<li><strong>Données techniques</strong> : Type de navigateur, système d'exploitation</li>
<li><strong>Données de navigation</strong> : Pages consultées, temps passé</li>
<li><strong>Données comportementales</strong> : Interactions, clics, scrolls</li>
<li><strong>Données de performance</strong> : Temps de chargement, erreurs</li>
</ul>
<h3>Finalités</h3>
<ul>
<li>Amélioration de l'expérience utilisateur</li>
<li>Optimisation des performances du site</li>
<li>Analyse des tendances d'utilisation</li>
<li>Personnalisation du contenu (avec consentement)</li>
</ul>
<h3>Vos droits</h3>
<ul>
<li><strong>Accès</strong> : Demander une copie de vos données</li>
<li><strong>Rectification</strong> : Corriger des données inexactes</li>
<li><strong>Effacement</strong> : Supprimer vos données</li>
<li><strong>Portabilité</strong> : Récupérer vos données</li>
<li><strong>Opposition</strong> : Refuser le traitement</li>
</ul>
</section>
// Configuration anonymisation
EchoTag.init("VOTRE_CLE_API", {
privacy: {
anonymizeIp: true,
hashUserAgent: true,
removePersonalData: true,
respectDoNotTrack: true
}
});
// Vérification du consentement avant tracking
function trackWithConsent(event, data) {
const consent = getCurrentConsent();
if (consent.analytics) {
EchoTag.track(event, data);
} else {
// Tracking anonymisé uniquement
EchoTag.track(event, {
...data,
anonymized: true,
consent_level: "necessary_only"
});
}
}
// Configuration de la rétention
EchoTag.init("VOTRE_CLE_API", {
dataRetention: {
analytics: "13_months",
events: "26_months",
userData: "on_request",
autoDelete: true
}
});
// Monitoring de la conformité
EchoTag.track("privacy_event", {
event_type: "consent_given",
consent_level: "analytics",
timestamp: new Date().toISOString(),
user_agent: navigator.userAgent
});
// Journal des actions de conformité
const auditLog = {
action: "data_deletion_request",
user_id: "user_123",
timestamp: new Date().toISOString(),
data_types: ["analytics", "events"],
status: "completed"
};
// Tests automatisés de conformité
function runComplianceTests() {
// Test 1 : Consentement requis
if (!hasValidConsent()) {
console.error("Consentement manquant");
}
// Test 2 : Anonymisation active
if (!isDataAnonymized()) {
console.error("Données non anonymisées");
}
// Test 3 : Politique accessible
if (!isPrivacyPolicyAccessible()) {
console.error("Politique de confidentialité inaccessible");
}
}
| Métrique | Objectif | Seuil d'alerte |
|---|---|---|
| Taux de consentement | > 80% | < 70% |
| Temps de réponse DSR | < 30 jours | > 45 jours |
| Taux d'anonymisation | 100% | < 95% |
| Complaints RGPD | 0 | > 1 |
// Rapport de conformité mensuel
const complianceReport = {
period: "2025-01",
consentRates: {
necessary: 100,
analytics: 78,
marketing: 45
},
dataRequests: {
access: 3,
deletion: 1,
rectification: 0
},
incidents: {
dataBreach: 0,
unauthorizedAccess: 0,
complianceViolation: 0
}
};
// Procédure en cas de violation
function handleDataBreach(incident) {
// 1. Évaluer la gravité
const severity = assessSeverity(incident);
// 2. Notifier les autorités si nécessaire
if (severity === "high") {
notifyCNIL(incident);
}
// 3. Notifier les utilisateurs affectés
notifyAffectedUsers(incident);
// 4. Documenter l'incident
logIncident(incident);
// 5. Mettre en place des mesures correctives
implementCorrectiveMeasures(incident);
}
// Plan de continuité RGPD
const continuityPlan = {
immediate: [
"Suspendre le tracking non essentiel",
"Auditer les accès aux données",
"Renforcer la sécurité"
],
shortTerm: [
"Former l'équipe sur le RGPD",
"Mettre à jour les procédures",
"Tester les processus de conformité"
],
longTerm: [
"Implémenter un DPO",
"Automatiser la conformité",
"Créer une culture de la protection des données"
]
};
La conformité RGPD n'est pas un frein à l'innovation - c'est un avantage concurrentiel. EchoTag vous permet de respecter la vie privée tout en maximisant vos conversions grâce à un tracking éthique et transparent.
Prochaines étapes :
Ressources :
Prêt à tracker de manière éthique et conforme ? Commencez avec EchoTag.