Staying CCPA Compliant with Facebook's Limited Data Use
Facebook has recently released a feature called Limited Data Use (LDU) to give business more control over how their data is used and to better support efforts to meet compliance with CCPA.
The LDU feature will allow businesses to exercise more control over how their data is used in Facebook’s systems. This new feature will most significantly affect Facebook ad buyers and marketing performance.
Between July 1 and July 31, 2020, the LDU will be automatically enabled on all Facebook business accounts. From July 31,2020 onward, businesses will be required to update their pixel to include an LDU parameter.
In short, the LDU feature works by automatically detecting if a user is in California and then limiting the way that their user data can be stored and processed.
CCPA Background
The LDU is designed to help business with CCPA compliance, so below is a brief overview of the relevant CCPA requirements:
-
Businesses must be transparent about what data they collect, the purpose for it, and any third parties it may be shared with.
-
A business must delete the data if requested by the user.
-
Consumers can opt out of their data being sold through a “Do Not Sell” button or link on a website.
Businesses that target residents of California must comply with the CCPA. So, if your business markets to California residents on Facebook you must ensure compliance, or your business may face liability and potential penalties.
To Implement Facebook LDU
Data Processing Fields
- Field
- Description
-
Data Processing Optionstype:
array -
Processing options you would like to enable for a specific event. Current accepted value is LDU for Limited Data Use.
The name of this field can be presented differently, depending on the API and implementation you are using. For example, this is
dataProcessingOptionsfor a Pixel JavaScript call, butdata_processing_optionsfor a Server-Side API call. Please see the example calls below.An empty array can be sent to explicitly specify that this event shouldn't be processed with the Limited Data Use restrictions.
-
Data Processing Options Countrytype:
integer -
Optional for most APIs.
A country that you want to associate to this data processing option. Current accepted values are 1, for the United States of America, or 0, to request that we geolocate that event.
Notes:
This field is required for Offline Conversions during the Transition Period stated above or if you send LDU under
data_processing_options.This field is required for Server-Side API if you do not provide an IP address during the Transition Period stated above or if you send LDU under
data_processing_options. -
Data Processing Options Statetype:
integer -
Optional for most APIs.
A state that you want to associate to this data processing option. Current accepted values are 1000, for California, or 0, to request that we geolocate that event.
Notes:
If you set a country, you must also set a state. Otherwise, we apply our geolocation logic to the entire event.
This field is required for Offline Conversions during the Transition Period stated above, if you send LDU under
data_processing_options.Note that geolocation is currently unavailable for this API.
This field is required for Server-Side API during the Transition Period stated above, if you send LDU under
data_processing_optionsand do not provide an IP address.
Browser Pixel
Update pixel initialization code to specify the dataProcessingOptions method before you call fbq('init').
To explicitly not enable LDU mode, use:
fbq('dataProcessingOptions', []); fbq('init', '{pixel_id}'); fbq('track', 'PageView');
If you want use Facebook to geolocate, you will add the following to your Facebook Pixel deployment:
fbq('dataProcessingOptions', ['LDU'], 0, 0);
We recommend using this approach.
To enable LDU and specify user geography:
fbq('dataProcessingOptions', ['LDU'], 1, 1000);
Image Tag
Add the following to the Pixel image tag:
dpo: data processing options
dpoco: data processing options country
dpost: data processing options state
See the above table for data processing definitions.
To explicitly not enable LDU mode, pass an empty value for the 'dpo' parameter:
<img src="https://www.facebook.com/tr?id={pixel_id}&ev=Purchase&dpo=" />
To enable LDU with Facebook geolocation:
<img src="https://www.facebook.com/tr?id={pixel_id}&ev=Purchase&dpo=LDU&dpoco=0&dpost=0" />
We recommend using this approach.
To only enable LDU for users who have made a request to ‘Opt-out of the Sale of Personal Information’, use the OneTrust CMP in coordination with the snippet below.
<script type="text/javascript"> // Create a global variable and set the string ‘LDU’. This means the default is to have the FB pixel initiated with the limited data processing on, knowing this will only affect Californians var pixelLDU = 'LDU'; function OptanonWrapper() { // Updates the global variable based on whether or not the cookie category Id active // Note: replace ',C0004,' with whichever category you wish to match to enabling/disabling FB LDU mode if (OptanonActiveGroups.indexOf(',C0004,') == -1) { console.log('Limited Data Processing'); } else { console.log('No Limits'); pixelLDU = ''; } } </script> <!-- OneTrust Cookies Consent Notice end --> <!-- Facebook Pixel Code --> <script> … // Initiates the FB pixel to do the geolocation lookup itself and only enable LDU if the consumer has opted out of the sale of personal data fbq('dataProcessingOptions', [pixelLDU], 0, 0); fbq('init', {pixel_Id}); fbq('track', 'PageView'); </script> … <!-- End Facebook Pixel Code -->
To enable LDU and specify user geography:
<img src="https://www.facebook.com/tr?id={pixel_id}&ev=Purchase&dpo=LDU&dpoco=1&dpost=1000" />