Free15 minutesbeginner

GDPR Compliance Overview

How Zenovay helps you comply with GDPR requirements for website analytics and visitor tracking.

gdprprivacycomplianceeuropedata-protection
Last updated: January 15, 2025

Learn how Zenovay helps you comply with GDPR (General Data Protection Regulation) for your website analytics.

What is GDPR?

The General Data Protection Regulation is an EU law that:

  • Protects personal data of EU residents
  • Requires consent for data collection
  • Grants data access and deletion rights
  • Mandates data breach notifications
  • Imposes significant fines for non-compliance

Who Does GDPR Apply To?

GDPR applies if you:

  • Are based in the EU/EEA
  • Have visitors from the EU/EEA
  • Offer goods/services to EU residents
  • Monitor behavior of EU residents

Zenovay's GDPR Compliance

Privacy-First Design

Zenovay is designed with privacy in mind:

FeatureDescription
No cookies by defaultCan work without cookies
IP anonymizationHash or truncate IPs
Data minimizationOnly collect necessary data
EU data residencyOption for EU-only storage
Data portabilityExport visitor data
Right to erasureDelete visitor data

Data We Collect

Standard Collection (Privacy Mode):
├── Page URL (anonymized)
├── Referrer (domain only)
├── Browser type
├── Device type
├── Country (from IP, then discarded)
└── Session identifier (non-persistent)

Extended Collection (with consent):
├── Full page URL with parameters
├── Full referrer URL
├── User identifier
├── Custom event properties
└── Revenue data

Configuration Options

Privacy Mode

Enable privacy-first tracking in the dashboard:

  1. Go to SettingsPrivacy
  2. Toggle Privacy Mode ON
  3. Save changes

Privacy mode:

  • No cookies used
  • IP addresses never stored
  • No cross-session tracking
  • GDPR compliant without consent

IP Anonymization

IP anonymization is configured in the dashboard:

  1. Go to SettingsPrivacy
  2. Find IP Address Handling
  3. Select Full Anonymization (recommended for GDPR) or Partial Anonymization (last octet zeroed)
  4. Save changes
// Only track after consent
if (hasGDPRConsent('analytics')) {
  const script = document.createElement('script');
  script.src = 'https://api.zenovay.com/z.js';
  script.setAttribute('data-tracking-code', 'YOUR_TRACKING_CODE');
  document.head.appendChild(script);
}

Lawful Basis for Processing

Consent (Article 6.1.a)

When using full tracking features:

  1. Implement cookie consent banner
  2. Wait for explicit opt-in
  3. Load tracking script after consent
  4. Provide easy opt-out

Legitimate Interest (Article 6.1.f)

When using privacy mode:

  1. Document your legitimate interest
  2. Conduct balancing test
  3. Provide opt-out mechanism
  4. Minimize data collection

Privacy Mode + Legitimate Interest

Legitimate Interest Assessment

Purpose: Understanding website usage to improve user experience

Necessity: Analytics essential for:
  - Identifying broken pages
  - Understanding traffic sources
  - Improving content

Balancing Test:
  - Minimal data collected
  - No personal identification
  - No cross-site tracking
  - Clear privacy policy
  - Easy opt-out available

Conclusion: Legitimate interest applies in privacy mode

GDPR Rights Implementation

Right to Information (Article 13/14)

Provide clear privacy policy:

## Analytics Data Collection

We use Zenovay Analytics to understand how visitors
use our website. We collect:

- Pages visited
- Time spent on pages
- Browser and device type
- Country (from IP address, then discarded)

We do not:
- Use tracking cookies
- Store IP addresses
- Track across websites
- Sell data to third parties

Data is stored in the EU and retained for [X] months.

Right of Access (Article 15)

Users can request their data:

  1. User submits request
  2. You identify their data in Zenovay
  3. Export via the dashboard or API
  4. Provide within 30 days

Via Dashboard: Go to SettingsPrivacyData Export, enter the user identifier, and generate an export.

Via API:

# Retrieve analytics data for a website (filter by visitor as needed)
curl -X GET "https://api.zenovay.com/api/external/v1/analytics/{websiteId}/visitors" \
  -H "X-API-Key: zv_YOUR_API_KEY"

Right to Erasure (Article 17)

Delete user data on request:

  1. User requests deletion
  2. Identify their visitor ID
  3. Delete via the dashboard
  4. Confirm deletion

Via Dashboard: Go to SettingsSecurityData Deletion, enter the user or visitor identifier, and confirm deletion.

See Right to Erasure for details.

Right to Restriction (Article 18)

Pause processing while dispute is resolved:

Via Dashboard: Go to SettingsSecurityData Restrictions to restrict processing for a specific visitor. This pauses data collection and hides existing data until the restriction is lifted.

Right to Data Portability (Article 20)

Export data in machine-readable format:

Via Dashboard: Go to SettingsPrivacyData Export, enter the user identifier, choose JSON or CSV format, and generate the export.

Via API:

# Retrieve analytics data in JSON format
curl -X GET "https://api.zenovay.com/api/external/v1/analytics/{websiteId}/visitors" \
  -H "X-API-Key: zv_YOUR_API_KEY"

Data Processing Agreement

When Required

A DPA is required when Zenovay processes data on your behalf.

Getting a DPA

  1. Go to SettingsLegal
  2. Click Data Processing Agreement
  3. Review terms
  4. Sign electronically
  5. Download copy

DPA Contents

Our DPA includes:

  • Subject matter and duration
  • Nature and purpose of processing
  • Types of personal data
  • Categories of data subjects
  • Rights and obligations
  • Sub-processor list
  • Security measures
  • Audit rights

EU Data Residency

Data Location

By default, data may be stored in:

  • European Union (Frankfurt)
  • United States (with SCCs)

EU-Only Storage

Enterprise plans can restrict to EU:

  1. Go to SettingsPrivacy
  2. Enable EU Data Residency
  3. All data stored in EU only

Zenovay integrates with:

  • Cookiebot
  • OneTrust
  • Osano
  • Termly
  • Custom solutions

Cookiebot Example

window.addEventListener('CookiebotOnAccept', function() {
  if (Cookiebot.consent.statistics) {
    loadZenovay();
  }
});

function loadZenovay() {
  const script = document.createElement('script');
  script.src = 'https://api.zenovay.com/z.js';
  script.setAttribute('data-tracking-code', 'YOUR_TRACKING_CODE');
  document.head.appendChild(script);
}

OneTrust Example

OneTrust.OnConsentChanged(function() {
  if (OnetrustActiveGroups.includes('C0002')) { // Performance
    loadZenovay();
  }
});

Documentation Requirements

Privacy Policy

Include:

  • What data you collect
  • Why you collect it
  • How long you keep it
  • Who has access
  • User rights
  • How to opt out

Records of Processing

Maintain documentation:

  • Categories of data
  • Purpose of processing
  • Data retention periods
  • Security measures
  • Sub-processors used

If using cookies:

  • List all cookies
  • Explain purpose
  • State duration
  • Link to opt-out

Compliance Checklist

Technical Measures

  • Enable privacy mode or get consent
  • Configure IP anonymization
  • Set appropriate data retention
  • Implement consent integration
  • Enable EU data residency (if needed)
  • Sign DPA with Zenovay
  • Update privacy policy
  • Document lawful basis
  • Create data subject request process
  • Maintain processing records

Organizational Measures

  • Train team on GDPR
  • Appoint DPO (if required)
  • Establish breach procedures
  • Regular compliance audits

Enforcement and Fines

Potential Penalties

TierMaximum FineExamples
Lower€10M or 2% revenueNo DPA, poor records
Higher€20M or 4% revenueNo consent, ignoring rights

Recent Enforcement

Analytics-related fines have been issued for:

  • Transferring data to US without safeguards
  • No valid consent for analytics
  • Ignoring opt-out requests

Best Practices

Start with Privacy Mode

Enable privacy mode and full IP anonymization in the dashboard under SettingsPrivacy. This gives you minimal tracking without requiring consent. Your script tag stays simple:

<!-- Minimal tracking, no consent needed -->
<script
  defer
  data-tracking-code="YOUR_TRACKING_CODE"
  src="https://api.zenovay.com/z.js"
></script>
  1. Don't pre-check consent boxes
  2. Make rejection as easy as acceptance
  3. Allow granular choices
  4. Remember preferences
  5. Allow withdrawal

Regular Reviews

  • Audit data collection quarterly
  • Review sub-processors annually
  • Update policies when changes occur
  • Test data subject request handling

Next Steps

Was this article helpful?