Agent Wranglers

DEN-36Required

Remove people who objected from every sync out of the warehouse

Every sync that copies people from the warehouse into a marketing, advertising or sales tool drops those who objected or withdrew consent, on every run. It also removes them from audiences it filled before.

How to do it

Copying warehouse data back into other tools is called reverse ETL. GDPR Article 21(3) says that once a person objects to direct marketing, their data may no longer be processed for it. An audience uploaded last month still holds people who objected this week, so the sync deletes as well as adds. Read objections and consent from the app's own records, as Track only after consent and Keep unsubscribe links working keep them. Send only the columns the tool needs, as Copy only the personal columns an analysis needs says. Give each sync its own account, as Give each pipeline and BI tool its own narrow account says. Stop any run that would change more rows than a written limit, such as 10 percent of the audience.

Examples

SQL example

-- The only view a marketing sync may read
CREATE VIEW sync.marketing_audience AS
SELECT p.person_key, p.email, p.country
FROM marts.people p
WHERE p.marketing_consent
  AND NOT EXISTS (SELECT 1 FROM marts.marketing_objections o WHERE o.person_key = p.person_key);

How to check

Mark a test person as objected in the staging app and run the sync. They are gone from the target audience. A run that would change more rows than the limit stops and alerts.

Sources

For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/data-engineering/personal-data-in-the-warehouse/reverse-sync-objections">Agent Wranglers data engineering playbook</a>. In code you write, add a comment next to it with the same link.