Skip to main content
a promotional graphic telling you that PCI Compliance is no longer an annual exercise and that continuous monitory must be built in
BBVA Fined EUR 5.5M for Ignoring Opt-Out RequestsLaws and Regulations
5 min readFor DSAR and Consent Operators

BBVA Fined EUR 5.5M for Ignoring Opt-Out Requests

A customer clicks "stop promotional notifications" in a banking app. The setting saves. Seven months later, he's still getting marketing pop-ups. The Italian Data Protection Authority fines the bank EUR 5,508,000.

This isn't about malicious intent. BBVA recorded the customer's objection correctly. The failure was technical: systems didn't sync. Under GDPR, good intentions don't matter if your infrastructure can't execute data subject rights.

Why These Mistakes Keep Happening

Many teams treat data subject rights as a compliance checklist, not a systems design problem. You build intake forms, draft response templates, and train customer service. But you don't map the full path from request to execution across every database, CRM, and notification service.

The gap between "we logged the request" and "we stopped the processing" is where enforcement actions occur. When your consent management sits in one system and your marketing automation runs in another, synchronization isn't automatic. It requires deliberate architecture, testing, and monitoring.

Mistake 1: Accepting Requests Through One Channel, Executing Through Another

Why it happens: You've designated a privacy email address in your policy. Customer service isn't trained to handle GDPR requests. The app settings page controls some preferences but not others. Each channel was built at a different time by a different team.

The consequence: The BBVA customer exercised his right to object through the app settings and then contacted Customer Service. BBVA argued he should have used the dedicated email addresses in the privacy policy. The Italian DPA rejected this defense outright. You can't disregard a valid request because it arrived through an inconvenient channel.

The fix: Map every customer touchpoint where someone might reasonably express a data subject right. App settings, customer service chat, phone support, in-branch requests, email. For each channel, document:

  • Who receives the request
  • How it's logged
  • Where it's routed
  • What system executes the change
  • How you verify completion

If a channel can't execute requests, disable the option or route it immediately to someone who can. Don't leave dead-end interfaces that accept input but trigger nothing.

Mistake 2: Trusting Configuration Without Testing Execution

Why it happens: Your CRM shows the opt-out flag is set. The customer record displays "marketing: NO." You assume the notification service reads that flag. You've never sent a test message to a flagged account to confirm it's actually blocked.

The consequence: BBVA's technical failure prevented synchronization between internal systems and the Customer Relationship Management unit responsible for sending commercial communications. The customer received at least ten unsolicited notifications over seven months. The DPA found this violated Articles 5(1)(a) (lawfulness), 12 (facilitating rights), 21 (right to object), and 24 (accountability).

The fix: Build a quarterly verification protocol:

  1. Create test accounts with every possible opt-out configuration
  2. Trigger each automated communication workflow
  3. Verify that opted-out test accounts receive nothing
  4. Document the test results and any failures
  5. Re-test after any system update or integration change

This isn't paranoia. It's the only way to know your architecture does what your privacy policy promises.

Mistake 3: Giving Customer Service Scripts Instead of System Access

Why it happens: You don't want frontline staff making database changes. You write scripts that explain how to escalate requests. Customer service becomes a passthrough layer with no visibility into actual processing status.

The consequence: BBVA's Customer Service told the customer that promotional pop-up notifications in the app couldn't be disabled. This was incorrect; BBVA later demonstrated they could be stopped. The Italian DPA cited this as evidence of deficient organizational measures. When your staff can't see system state, they can't give accurate answers or verify that requests were executed.

The fix: Give customer service read access to the relevant flags and timestamps. They don't need to edit records, but they must be able to:

  • Confirm whether an opt-out is recorded
  • See the date it was applied
  • Check whether any communications were sent after that date
  • Escalate immediately if the data contradicts what the customer reports

If your security model can't accommodate this, build a dedicated status-check interface that customer service can query without touching production data.

Mistake 4: Treating Technical Failures as Excuses

Why it happens: You discover the synchronization broke three months ago. You fix it immediately. You assume the regulator will credit you for remediation and view the failure as an unfortunate glitch, not a compliance breach.

The consequence: BBVA explained the technical failure and took remedial measures. The Italian DPA considered those measures as a mitigating factor when calculating the fine but still imposed EUR 5,508,000. Article 24 GDPR requires you to implement appropriate technical and organizational measures. "Our systems failed" isn't a defense; it's evidence you didn't meet the Article 24 standard.

The fix: Treat every technical failure that affects data subject rights as a compliance incident:

  • Log the failure date and scope
  • Identify all affected individuals
  • Notify them directly
  • Document the root cause
  • Implement monitoring to detect similar failures within 24 hours
  • Update your Article 30 record of processing to reflect the new controls

Your regulator expects resilience, not perfection. But resilience means you detect and correct failures quickly, not that you avoid them entirely.

Mistake 5: Building Synchronization Without Reconciliation

Why it happens: You configure System A to push updates to System B when preferences change. You assume the push always succeeds. You never check whether System B's state matches System A's records.

The consequence: The BBVA customer's objection was recorded correctly in one system but didn't propagate to the notification service. Without reconciliation, these silent failures can persist indefinitely.

The fix: Implement daily reconciliation checks:

  • Export opt-out flags from your source-of-truth system
  • Export the same flags from every downstream system that processes personal data
  • Compare the datasets
  • Alert on any mismatch
  • Investigate and resolve within 24 hours

This sounds tedious. It's also the only way to catch synchronization failures before a customer complains to a regulator.

Prevention Checklist

Before you deploy any system that processes personal data based on consent or objections:

  • Map the full data flow from preference capture to processing execution
  • Test opt-out enforcement with live data in a staging environment
  • Verify that every customer-facing channel can either execute requests or route them to a team that can
  • Give customer service visibility into preference status and processing history
  • Schedule automated reconciliation between preference databases and execution systems
  • Document the monitoring cadence and escalation path for synchronization failures
  • Train staff to treat "the system didn't sync" as a compliance failure, not a technical excuse
  • Update your Article 30 record to reflect the technical and organizational measures you've implemented

The Italian DPA's order to BBVA is instructive: adopt appropriate technical and organizational measures to facilitate data subject rights and ensure requests are handled correctly and without undue delay. That's not a one-time fix. It's an ongoing design requirement.

Your systems don't need to be perfect. They need to be auditable, testable, and self-correcting. When a customer says "stop," you need architecture that can prove you stopped.

Application Security Isn’t Optional Anymore.

You Might Also Like