OneTrust's CookiePro product provides a way to manage users' cookie preferences, and ensure GDPR cookie compliance.

Littledata has written a script to integrate OneTrust with Shopify's Customer Privacy API. This makes OneTrust compatible with Shopify's own tracking, and Littledata's enhanced tracking scripts.

How to add use the script

  1. Change your Shopify store settings so that your store waits for the user to grant consent before tracking.
  2. Install OneTrust CookiePro as usual
  3. Add this code snippet to the Shopify theme layout file.
                    <!-- OneTrust to Shopify Customer Privacy API integration by Littledata --><script src="https://master-shopify-tracker.s3.amazonaws.com/oneTrust.js"/> 
                

4. [optional] Install Littledata's Shopify to Google Analytics or Shopify to Segment connection

5. Add respectUserTrackingConsent in the LittledataLayer settings

What does the script do?

After the CookiePro script loads, this script registers a callback function to be triggered when the user updates their preferences.

When that update happens, if the user has consented to 'Cookies for performance' (tracked as category C0002 in OneTrust's consent preferences), the userCanBeTracked() field is set to true and Shopify and Littledata's tracking then starts. This will also work with any other apps which integrate with Shopify's Customer Privacy API.

If the user later revokes consent to Cookies for performance , then userCanBeTracked() is set to false.

Here's an example of OneTrust setup with Age UK.

Age UK cookie popup

When the user clicks "Accept all Cookies", then userCanBeTracked() is set to true.

Age UK cookie settings

Then, if the user opts out of "Cookies for performance," the tracking stops.

Here is the full source code.

Advantage over cookie auto-blocking

OneTrust also offers the ability to auto-block common tracking scripts, such as Google Analytics, based on categorising the third party scripts.

The advantage of using this integration is that it will work seamlessly with any other apps working with Shopify's customer privacy API - so it plays nicely with Shopify's app ecosystem.