On 14 April 2016, the new GDPR regulation was adopted but it wasn’t until 25 May 2018 when it became enforceable. Without going into details of the different points it contains and its lights and shadows, it meant a change of the mindset for all companies on how we should treat our customers’ data. And what better time than when everyone is talking about Customer Centric or Customer 360 strategies. Now the customer preferences (OptIn / OptOut) are also part of this equation.
Identifying the source of truth
Let’s see how we can help our company to be GDPR compliance. The very first point is to identify the source of truth, where are the preferences of my customers stored (Datawarehouse, third party tool, Marketing Cloud, CRM, ERP…)? And, assuming that Marketing Cloud is our main emailing tool, are theses preferences being synchronized with that source of truth?
What it is really important here is that, wherever this information is stored, it has to be up to date and we have to maintain the historical status of each customer per each type of communication (Email or SMS, plus the different subcategories we may need to manage per each channel).
Considering the different possibilities to manage the subscription (A, B or C – detailed in the next point of this post), at a high level, the data flow could look like the one below:
Managing the subscriptions in Marketing Cloud
Imagine that our source of truth is the CRM (e.g. Sales Cloud) and we have one field dedicated to store the status of the customer (e.g. EmailStatus = ‘OptIn’ or ‘OptOut’), how can we let the customer update this preference?
There are many different ways to achieve that but, from my point of view, these are the main ones:
- Use the out of the box Subscription Center in Marketing Cloud
- Create a CloudpPage in Marketing Cloud (a landing page)
- Link the footer of the email sent from Marketing Cloud to the website of the company where the preferences are managed
Which one should we use? As always, it depends, here you have the main pros and cons for each approach:
|OOTB Subscription Center||CloudPage||Company Website|
|Flexible in terms of design and personalization||NO||YES||YES|
|Technical limitations in terms of adding our code or extra functionalities||YES||NO||NO|
|Update third parties in real-time||NO||YES||YES|
|Easy to use by a non-technical end-user (and maintenance)||YES||NO|
(It may requires the use of AMPScript or API calls)
(It may requires development in the website)
|Channels supported||Email only||All||All|
|Transactional Emails supported||NO||YES||YES|
|Language management||Translations are done automatically. Not all the languages are supported||Content to be created manually per each language. Dynamic Content blocks can be used as in the emails||Content to be created manually per each language|
|Other technical limitations||Requires Publication Lists||Requires Data Extensions, AMPScript, SSJS||It depends on where is the website allocated|
For all of them, in terms of email development, it will only require to add the right URL in the footer.
A ‘near’ real-time flow
Once the preference center is set-up, we have to build the process behind in charge of updating the preferences from Marketing Cloud into Sales Cloud so, by the time the customer submits the form, the information will be automatically updated in our source of truth.
Depending on the approach we chose in the previous point, we can try to achieve a real-time synchronization (or near real-time).
|OOTB Subscription Center||Use Automation Studio and/or API calls to update the data from the Publication List to the right Object and Field in Sales Cloud|
|CloudPage||Use AMPScript and/or API calls to update the data from the Data Extension to the right Object and Field in Sales Cloud|
|Company Website||It depends on where is the website allocated.|
Normally, real-time using API calls