1st party consent from others (Generate+)

Capture 1st party consent from your key partners data flows

610

Background

We know from first hand feedback that GDPR had a significant effect on the number of marketable records that organisations from all sectors could reach out to.

The Generate+ feature has been developed to provide a mechanism where you can engage with other like-minded organisations and complimentary service providers to allow web based customers to consent to your services from their sites.

This allows you to harness the increased web traffic of your partner network to get your message out, and to receive consent from new customers and increase your contactable base, along with the mechanism to transfer the personal data required to allow those relationships to begin.

The Data Flow

3044

The high level flow is shown in the above diagram, but to put it into words:

  • Sign-up to DataGuard
  • Identify the relevant organisation(s) to partner with
  • Create the relevant content in DataGuard which represents the permissions & preferences you wish to gather from your customers
  • Provide the IDs your partner(s) need to embed the capture point
  • Partner org(s) embed the capture point in their site & direct online journeys in
  • Customers see your message and provide consent
  • The capture point integration pushes personal data and the consent transactions to DataGuard
  • Download the data
  • Compare the personal against your existing customers / load new records
  • Update the IDs in the consent records to match your system
  • Load the updated consents to DataGuard

Your Set-up

Get your DataGuard plan

If you haven't already signed up you can get up and running today here. Just follow the instructions in the sign-up form and the welcome emails.

Create the content template

Generate+ uses capture points that runs in your partner organisation's domain. In order to define what is displayed you need to create a content template. This allows you to select the relevant permissions and / or preferences that you wish to be presented and contains all the elements that are required to create valid transactions in the DataGuard platform.

Agree data attributes to be shared

You need to discuss the integration with your partner organisation to confirm the personal data that should be transferred when the customer consents. This will be used by your partner to tailor the embedded script to ensure the correct fields are applied. Details on how to adjust the capture point configuration to share personal data is shown below.

Partner Set-up

Partner organisations who are hosting the Generate+ capture point will need the script to be embedded in their website. This script contains the templateId which you have created, and is used to define the content that is displayed (i.e. the relevant permissions and preferences you wish to gather). The script itself is used to configure the personal data elements to be shared, full details available below.

This capture point should not be displayed by default, there should be a positive action from the customer confirming they wish to know more about your products and services (e.g. a checkbox with descriptor), and have accepted the sharing of their personal data.

There are actions available to use with the capture point which, when hooked in, allow the script to only be fired when the trigger is hit, meaning it stays hidden until required. Below we show how your partner can achieve this either using one of our capture points to ensure a compliant audit is maintained, or using their own mechanism to record the audit for who agrees to share data.

With DataGuard Audit

To use DataGuard to record the partner organisation's audit trail, there need to be two capture points embedded in the host page (one for each party). To do this, the partner will need to have a basic DataGuard tenant to host the relevant config elements (the templateId and its constituent parts). The capture point relating to your application should contain the additional data objects in the config to capture personal data, the partner should not need these elements as they will have an established process to create CRM records via sign-up journeys.

There are options for the partner organisation to either use DataGuard as the permissions and preference solution by importing the records, or to pull down the consents and store offline. NOTE - the data will be purged from DataGuard data stores after 1 month if no action is taken.

Without DataGuard Audit

If DataGuard is not being used to record the partner organisation's audit trail, only one capture point is embedded in the host page. This will relate to your application only and should include the data object in the configuration detailed below. In this case, the partner will be responsible for collcting the audit on which customers have consented to share data with you.

Specify Personal Data to Share

To facilitate the sharing of data elements, the configuration of the capture point can be extended to include the relevant data. There are 2 main use cases detailed below:

Map Webform Data Fields

In this example we take the email value from the capture form and post this to DataGuard for the inbound organisation to action, this is mapped in the data object below.

<!DOCTYPE html>
<html>
    <head>
        ...
    </head>
    <body>
        <h1>An Example Website..</h1>
        <main class="data-form">
                <form id="main-form">
                ...
                <div id="mld-prog-widg"></div>
                <button id="register">Register</button>
            </form>
        </main>
        <script src="https://scripts.consentric.io/capture-point.min.js"></script>
            <script>
                      StatelessWidget.load({
                                id: 'mld-prog-widg',
                                uniqueReference: 'citizen-ref-001',
                                templateId: '7KiQSkp436c',
                    display: { ... },
                    actions: { ... },
                    data: {
                            fieldMappings: [
                                        {
                                          key: 'email',
                                    			elem: '#email',
                                				},
                            				],
                    						},
                        });
        </script>
    </body>
</html>

The capture point collects the data and sends to DataGuard using the fieldMappings. fieldMappings is an array of objects that contain a key (the header for the data) , and elem (the ID of the input field in the form)

Apply Data From Other Sources

It may be required for the partner organisation to share relevant data that is not in the capture form being presented. To use data from an alternate source you can use the details callback in the configuration. This returns an object and the data in the object will be included in the post to DataGuard, in this example we are returning name:

<!DOCTYPE html>
<html>
    <head>
        ...
    </head>
    <body>
        <h1>An Example Website..</h1>
        <main class="data-form">
                <form id="main-form">
                ...
                <div id="mld-prog-widg"></div>
                <button id="register">Register</button>
            </form>
        </main>
        <script src="https://scripts.consentric.io/capture-point.min.js"></script>
            <script>
                      StatelessWidget.load({
                                id: 'mld-prog-widg',
                                uniqueReference: 'citizen-ref-001',
                                templateId: '7KiQSkp436c',
                    display: { ... },
                    actions: { ... },
                    data: {
                            fieldMappings: [{
                                            key: 'email',
                                    				elem: '#email',
                               		 					}, ],
                            details: function() {
                                    return {
                                            name: 'John Smith',
                                    };
                            },
                    },
                        });
        </script>
    </body>
</html>

Form Submission is Causing Problems

If you experience the form submission causing problems (e.g. by loading new pages when not intended), you will need to prevent the form from submission using preventDefault method on the event.

Depending on the individual implementation, there may be an issue where the submission of the form loads/reloads a page, and the request from the capture point to DataGuard cancelled.
This can be solved by using the available events to post the form on success of the capture point being posted.

Example shown below:

<!DOCTYPE html>
<html>
    <head>
        ...
    </head>
    <body>
        <h1>An Example Website..</h1>
        <main class="data-form">
                <form id="main-form">
                ...
                <div id="mld-prog-widg"></div>
                <button id="register">Register</button>
            </form>
        </main>
        <script src="https://scripts.consentric.io/progressive-consent.min.js"></script>
            <script>
                document
                .getElementById('register')
                .addEventListener('click', function(event) {
                    event.preventDefault();
                });
                      StatelessWidget.load({
                                id: 'mld-prog-widg',
                                uniqueReference: 'citizen-ref-001',
                                templateId: '7KiQSkp436c',
                    display: { ... },
                    actions: { ... },
                    data: { ... },
                    events: {
                            onSuccess: () => {
                                    var form = document.getElementById('main-form');
                                    
                                    form.submit();
                            },
                    }
                        });
        </script>
    </body>
</html>

Cleanse Data & Load

At this stage the desired content has been generated, the Generate+ capture point has been embedded in your partner organisations' flows and customers are consenting to have their data shared.

The next steps are to get the data, compare it against your existing records, conduct any necessary data transformation, and load the new records and consents into DataGuard and your source systems.

Retrieve Personal Data

This is achieved using the API, Details available here.

Retrieve Stored Consents

This is achieved using the API, Details available here.
It is possible to export this as .csv in a format that can be loaded directly into DataGuard once the next steps have been conducted. NOTE - once the data has been exported it will be flagged, so that subsequent exports do not contain potential duplicates. If you wish to return the previously exported records for any reason then you can do so using the includeExported=true parameter.

Compare Data with Source Systems

Once you have the personal data and consents you can compare to see if the customer already exists in your system / DataGuard. If they are new customers to you, create a system record for them to generate a uniqueReference value that you will recognise, if they are existing customers you already have a this.

Transform Data (if required)

Update the consent export .csv with the revised uniqueReference value.

Load Data to DataGuard

Import the updated consent file using our import function. Details available here.