Select platform: [HTML5](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/html5/consent "View this page for the HTML5 platform docs.") [Android](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/consent "View this page for the Android platform docs.") [iOS](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/consent "View this page for the iOS platform docs.") [tvOS](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/tvos/consent "View this page for the tvOS platform docs.") [Roku](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/consent "View this page for the Roku platform docs.")

<br />

> [!NOTE]
> **Note:** Consent reporting requires IMA SDK for iOS version 3.1.0 or higher.

Under Google's [EU User Consent
Policy](https://www.google.com/about/company/consentstaging.html),
you must make certain disclosures to your users in the European
Economic Area (EEA) and obtain their consent for the use of cookies or
other local storage where legally required, and for the collection,
sharing, and use of personal data for ads personalization. This policy
reflects the requirements of the EU ePrivacy Directive and the General
Data Protection Regulation (GDPR).

## User Messaging Platform SDK

For information on obtaining consent using the User Messaging Platform (UMP)
SDK, see our [User Messaging Platform SDK
guide](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/iosprivacy). Consent obtained through the UMP
SDK are automatically forwarded to the IMA SDK.

## Consent revocation

GDPR requires [consent revocation](https://support.google.com/admanager/answer/10114217)
to allow users to withdraw their consent choices at any time. See
[Privacy options](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/iosprivacy#privacy_options)
to implement a way for users to withdraw their consent choices.

## Forwarding consent to the IMA SDK

> [!NOTE]
> **Note:** On version 3.11.1 or higher, the IMA SDK automatically retrieves and processes the TCF v2.3 string.

By default, ad requests to Google serve personalized ads, with ad selection
based on both the content of the web page or app and the history of the user
visiting it. Google also supports serving non-personalized ads.
[Learn more about personalized and non-personalized
ads](https://support.google.com/admanager/answer/9005435)

To force non-personalized ads, you can append `&npa=1` to your ad tag
to specify that only non-personalized ad content should be returned.

This is accomplished with the `adTagParameters` property, like so:

### Objective-C

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

### Swift

```swift
func requestStream() {
  ...
  let request = IMALiveStreamRequest(
      assetKey: ViewController.assetKey,
      networkCode: ViewController.networkCode,
      adDisplayContainer: adDisplayContainer!,
      videoDisplay: imaVideoDisplay,
      userContext: nil)
  request.adTagParameters = {'npa', 1};
  adsLoader?.requestStream(with: request)
}
```

<br />

## Tagging users as under the age of consent

You can mark your ad requests to receive treatment for users in the European
Economic Area (EEA) under the age of consent. This feature is designed to
help facilitate compliance with the [General Data Protection Regulation
(GDPR)](https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32016R0679).
Note that you may have other legal obligations under GDPR. Please review
the European Union's guidance and consult with your own legal counsel.
Please remember that Google's tools are designed to facilitate compliance
and do not relieve any particular publisher of its obligations under the
law. [Learn more about how GDPR affects
publishers](https://support.google.com/admanager/answer/7666366)

When using this feature, a TFUA (Tag For Users under the Age of Consent in
Europe) parameter will be included in the ad request. This parameter disables
[personalized advertising](https://support.google.com/admanager/answer/9005435),
including remarketing, for that specific ad request. It also disables
requests to third-party ad vendors, such as ad measurement pixels and
third-party ad servers. The parameter does not affect your use of
Ad Manager key-values. Consequently, you must ensure that your use of
key-values is compliant with GDPR.

Including the TFUA parameter in an ad request takes precedence over any
applicable site-level settings.

To include this tag on all ad requests made from your implementation,
append `&tfua=1` to your ad tag.

### Objective-C

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

### Swift

```swift
func requestStream() {
  ...
  let request = IMALiveStreamRequest(
      assetKey: ViewController.assetKey,
      networkCode: ViewController.networkCode,
      adDisplayContainer: adDisplayContainer!,
      videoDisplay: imaVideoDisplay,
      userContext: nil)
  request.adTagParameters = {'tfua', 1};
  adsLoader?.requestStream(with: request)
}
```

<br />

The example above uses a live stream request, but the same applies to VOD streams.