CCPA preparation

To help publishers toward compliance with the California Consumer Privacy Act (CCPA), the Google Interactive Media Ads SDK allows publishers to use two different parameters to indicate whether Google should enable restricted data processing (RDP). The SDK provides publishers with the ability to set RDP at an ad request level utilizing the following parameters:

When either parameter is used, Google restricts how it uses certain unique identifiers and other data processed in the provision of services to publishers.

Publishers should decide for themselves how restricted data processing can support their compliance plans and when it should be enabled. It is possible to use both optional parameters at the same time, although they have the same effect on Google's ad serving.

This guide is intended to help publishers understand the steps required to enable these options on a per-ad-request basis.

RDP signal

To notify Google that RDP should be enabled using Google's signal, append &rdp=1 to your ad tag parameters, as shown in the following example:

Objective-C

- (void)requestStream {
  ...
  IMALiveStreamRequest *request =
      [[IMALiveStreamRequest alloc] initWithAssetKey:kAssetKey
                              adDisplayContainer:adDisplayContainer
                                    videoDisplay:imaVideoDisplay];
  request.adTagParameters = @{ @"rdp" : @1};
  [self.adsLoader requestStreamWithRequest:request];
}

Swift

func requestStream() {
  ...
  let request = IMALiveStreamRequest(assetKey: ViewController.kAssetKey,
                                     adDisplayContainer: adDisplayContainer,
                                     videoDisplay: imaVideoDisplay);
  request?.adTagParameters = ["rdp" : 1];
  adsLoader.requestStream(with: request)
}

IAB signal

To notify Google that RDP should be enabled using IAB's signal, use the ad tag parameter us_privacy. Make sure that the string value you use is compliant with the IAB specification.

The snippet below demonstrates how to create an ad request with the IAB parameter "1YNN":

Objective-C

- (void)requestStream {
  ...
  IMALiveStreamRequest *request =
      [[IMALiveStreamRequest alloc] initWithAssetKey:kAssetKey
                              adDisplayContainer:adDisplayContainer
                                    videoDisplay:imaVideoDisplay];
  request.adTagParameters = @{ @"us_privacy" : @"1YNN"};
  [self.adsLoader requestStreamWithRequest:request];
}

Swift

func requestStream() {
  ...
  let request = IMALiveStreamRequest(assetKey: ViewController.kAssetKey,
                                     adDisplayContainer: adDisplayContainer,
                                     videoDisplay: imaVideoDisplay);
  request?.adTagParameters = ["us_privacy" : "1YNN"];
  adsLoader.requestStream(with: request)
}