Skip to main content

Developing DIT’s ‘consent service’: How we built a central store of customer marketing preferences

Posted by: , Posted on: - Categories: People

Image of the new simple consent options on a contact form

New simple consent options on a contact form on

We have a problem that is familiar to most large organisations. Our customer data is spread across multiple systems. While this means we have the right tools for the job of promoting UK exports, attracting foreign investment and developing trade policy, it’s a real challenge for data protection. Or, at least, it was.

The idea

Our solution was a new ‘consent service’ for DIT. This would be a central data store designed to keep a record of when and where an individual’s data had first entered our systems.

We would then update this record any time the individual opted in or out of receiving marketing material from us. Crucially, it needed to integrate with all of the software and systems we use for managing customer data, and become the single source of truth for marketing consent.

This service would improve confidence that we were meeting our obligations under the General Data Protection Regulation (GDPR). We would focus on maintaining accurate records about individuals, regardless of the means by which they provided this so that we only send them marketing material under a clear legal basis (in this case, consent). Just as important, the new service would help us to maintain good relationships with UK and international businesses ensuring we only contacted individuals when they wanted us.

Building it

Late last year, we brought together a team to build this service, combining experts from our data team with digital transformation specialists.

We began by identifying all of the services through which individuals were able to opt in or out of receiving DIT marketing, and then explored how data moved between them. We discovered that: consent was captured inconsistently across different services, there were long and complicated privacy notices and slow, manual processes to copy data from one place to another.

We recognised that we needed to do more than just write code. So, we brought in expertise from the DIT legal, data protection and marketing teams. With their help we wrote new privacy notices for all of the contact forms and services on We used a template approach to ensure consistency.

We built a simple, central activity log and used APIs (application programming interfaces) to connect it to, our email marketing software and our customer relationship management system, Data Hub. The service receives data from these systems, stores it in a standard format and then shares the combined log back with them as required. This means that someone’s record in Data Hub updates automatically when they complete a form on and opt in to receive email marketing from us.

Challenges faced

One challenge we did face was reliably identifying individuals. Email addresses and telephone numbers do not always belong to just one person. Many people use multiple email accounts. We had to decide how to manage consent for both email and telephone marketing in the same service.

We were faced with some tough questions. Should we store an individual’s telephone number and email address together in the same record? What happens when the same individual provides us with a second email address?

Our solution was to keep it simple. We store contact details and consent at the most basic level - this email address has opted into email marketing, that one has not. This is enough for the purposes of simple marketing. If we need to see a holistic view of any customer, we can simply combine these records.

Where we are now

We switched the service on in June 2020. It already contains more than 900,000 records of individual opt-ins or opt-outs for email and telephone marketing. It has had a big impact for a simple service. It has removed the need for manual copying and pasting of data, improved the pace at which we update customer records to respect opt-outs, and has allowed us to bring in new marketing tools with confidence.

If you want to find out more about how the service works, take a look at our code on GitHub.

Don't miss another blog by the data team. Sign up to receive email updates when our blogs are posted

If you are interested in joining our data team check our open positions.

Sharing and comments

Share this page