The following blog has the goal of providing a clearer understanding on how to update marketing permissions using the Data Workbench tool, both to add a new permission (for example, to a different channel) and to change an existing permission.
The marketing permission is the configuration of a business partner’s stance on being sent marketing through multiple channels, something which became extremely relevant with the implementation of the European Union’s General Data Protection Regulation (GDPR), which provides more transparency and control to individual persons over their data and their relationship with companies, including mandatory consent to receive marketing materials.
In order to properly address the update process, it’s important to illustrate the structure of the marketing permission. In the system the marketing permission record is linked to a business partner record and has the following child nodes:
-
- Channel – contains information on channel (e-mail, SMS, Facebook, etc.) and consent (opt-in, opt-out or undefined);
-
- Channel Notes – contains data from notes added to the channel permissions.
-
- Channel – contains information on channel (e-mail, SMS, Facebook, etc.) and consent (opt-in, opt-out or undefined);
-
- Communication Type – contains information about which communication types the business partner has subscribed to (offers, surveys, newsletters, etc.)
It is also important to understand how external keys function in Data Workbench: how these should be unique for each new record and that the external key of the Marketing Permission root is used to link with the child nodes (being sent under the MarketingPermissionExternalKey column).
Now, on to the practical part…
Updating marketing permissions
First, let’s set up the steps that are common to both scenarios: adding a new permission or updating an existing one.
All updates in Data Workbench are done using a file exported from the system, so we will begin by doing the following:
-
- Go to the Data Workbench work center.
-
- Access the Export view.
-
- Select the Marketing Permission option.
-
- Using the filter options to select the record(s) you wish to update – in the example below, we are using the BusinessPartner_ID field to select a specific business partner.
-
- Click Next
-
- Confirm the data selection and click Export
-
- Access the Monitor view and download the file by clicking the link in the file name column once the task completes successfully.
Now, we have to execute a new export, using information from the Marketing Permission export done previously as reference.
-
- Go to the Data Workbench work center.
-
- Access the Export view.
-
- Select the relevant object (either Marketing Permission Channel Permission or Marketing Permission Communication Type Permission).
-
- Filter by MarketingPermissionExternalKey.
-
- Click Next
-
- Confirm the data selection and click Export
-
- Access the Monitor view and download the file by clicking the link in the file name column once the task completes successfully.
The resulting files should have one row for each channel or communication type maintained for this root marketing permission record. We will be focus on a few columns as the main elements for the update processes.
For the Marketing Permission Channel Permission object, these are:
-
- ObjectID;
-
- ParentObjectID;
-
- Channel;
-
- Consent.
And for the Marketing Permission Communication Type Permission object, they are:
-
- ObjectID;
-
- ParentObjectID;
-
- CommunicationTypeCode;
-
- SubscribedIndicator.
A little bit more info here: once a record is created in the system, a unique ObjectID is generated for it in the system’s backend. So, in this case, the ParentObjectID in both files should be the ObjectID of the root marketing permission record to which they related and the ObjectID in each row is the identifier of each channel permission or communication type permission object. This will be important later on.
Now that we have the data to be updated, there are two possibilities.
Creating permission for a new channel or communication type
For this scenario, imagine the business partner you wish to update already has marketing permission data for channel E-Mail, but you have a requirement to set permission for channel SMS as well. Or the business partner is already subscribed to offers, but you have a requirement to subscribe them to surveys as well.
As you are creating a new record, this will not have an ObjectID. However, it will still be related to the root marketing permission record that is linked to the business partner you wish to update.
So, the main columns should be looking like this:
-
- ParentObjectID – keep as it is;
-
- ObjectID – leave it blank;
-
- Channel – add the code for the new channel to which you are creating this permission;
-
- Consent – add information on the business partner’s consent for marketing through this channel.
Or, in case of a communication type permission:
-
- ParentObjectID – keep as it is;
-
- ObjectID – leave it blank;
-
- CommunicationTypeCode – add the code for the new communication type to which you are creating this permission;
-
- SubscribedIndicator – set to TRUE (subscribed) or FALSE (not subscribed) as needed.
Once this is done, we will be uploading this file with the changes made using the Update mode of Data Workbench.
-
- Go to the Data Workbench work center.
-
- Access the Import view.
-
- Select the Individual Object option.
-
- Set operation to Update.
-
- Select the relevant object (Marketing Permission Channel Permission or Marketing Permission Communication Type Permission).
-
- Click Next
-
- Select the file from your computer using Browse and click Upload.
-
- Click Next.
-
- Once the data is successfully validated, click Import.
-
- You can check the task’s progress in the Monitor view.
Changing an existing channel or communication type permission
This scenario is inteded for changes such as setting an existing channel permission to “opt-out” as per business partner’s request or set the subscribed indicator of a communication type permission to unsubscribed.
Different from the previous scenario, this time we will be working with a record that already exists and already has an ObjectID. As such, this data will be maintained.
The main columns of the should be looking like this:
-
- ParentObjectID – keep as it is;
-
- ObjectID – keep as it is;
-
- Channel – keep as it is;
-
- Consent – change as needed.
Or, in case of a communication type permission:
-
- ParentObjectID – keep as it is;
-
- ObjectID – keep as it is;
-
- CommunicationTypeCode – keep as it is;
- SubscribedIndicator – change as needed.