IAB TCF version 2 - Migration guide - App

For more information on the IAB TCF version 2 and the migration calendar, read our dedicated article here.

This guide is provided for testing the TCF version 2 on mobile app. Do not enable TCF version 2 on your production application before checking with your main partners if they are TCF v2 compliant on app (see our dedicated article on the migration calendar).

Didomi will make regular updates to its TCF version 2 support throughout the month of July as more tests are run with vendors. Feel free to send us feedback to support@didomi.io as you test this new version of TCF.

Migrating an App consent notice from the IAB TCF version 1 to the version 2 can be done by following these steps:

  • Duplicate your existing banner or create a whole new one.
  • Enable the IAB TCF version 2.
  • Configure your list of vendors and purposes.
  • Update your SDK to the latest version.
  • Configure the loading of your SDK using your 📰  notice ID : (Manual targeting).
  • Use new purpose SDK IDs in SDK API calls.

We recommend testing these steps in a test environment first and validating your integration with your IAB TCF vendors before switching your production environments to the TCF v2.
Improperly configuring your consent notices in production will result in lost consent and will negatively impact your revenue.

How to test the IAB TCF version 2?

We recommend setting up a test consent notice and not modifying your production notice. That will allow you to experiment with the new version of the TCF without risk.

If you need to test the TCF V2, we recommend 📰  loading the V2 notice by using its ID.

This way you will be able to use a different notice or your test application and keep your old one on your production app.

Enable the IAB TCF version 2

Edit your Consent Notice in the Didomi Console and go to the Integrations / IAB Transparency & Consent Framework section to enable the IAB TCF version 2:

Didomi Compliance Console et 14 pages de plus - Personnel – Microsoft_ Edge 2021-06-28 at 10.39.07 AM

Once you publish these changes, the Didomi CMP will start using the TCF version 2 on your application.

Version 1 and version 2 are not backward-compatible and cannot run in parallel on a given website.

As the version 2 includes new purposes and vendors, consent will be automatically re-collected for all your users.
Vendors that are compatible with the TCF v2 will obtain consent information from the Didomi CMP automatically. Vendors that are not compatible with the TCF v2 and that only support the TCF v1 will no longer get consent from the Didomi CMP.

Configure your list of vendors and purposes

The TCF v2 has a different list of vendors and purposes so you should double-check your configured vendors to make sure that the vendors you work with are available.

After enabling the TCF v2 for your notice, go to the Vendors & Purposes to configure your vendor list and the purposes.

Update Didomi SDKs on your mobile app

The TCF v2 has a different API for CMPs to communicate the user consent status to vendors so you need to update your SDK.

Read our documentation to set up our mobile SDKs for Android and iOS.

⚠️ If you are using Proguard on your Android application, make sure to update the 📰  Proguard rules.

They will automatically pull their configuration from the notice that you just configured.


Make sure you update the code on your app right before enabling support for the TCF v2 in production.

⚠️ If you are using the Web views functionality, and use an TCF v1 SDK for web and a TCF v2 SDK for app, the consent will be recollected as the app it’s not the same version hence not the same purposes/vendors.

If you update your SDK and use the v2 version, a user who does not update his app will see the v1 version because the old v1 version of the SDK will still be on the user app and Didomi will pass the v1 signal until 30th of September.

Use new purpose SDK IDs in tag managers and SDK API calls

If you are using vendor-based information like the API functions exposed by the SDK (getUserConsentStatusForVendor, setUserAgreeToAll, etc.), you do not need to change anything. The SDK will automatically take care of upgrading those functions to work with the TCF v2.

If you are using purpose-based information like the API functions exposed by the SDK (getUserConsentStatusForPurpose), you will need to update your logic to use the new purpose SDK IDs for IAB purposes. The ID for your own custom purposes does not change so no update is required for those.

What's next?

These simple steps will enable the TCF v2 on your mobile app. Feel free to make other adjustments as needed.

💡 As usual, our support team is available to help on support@didomi.io or via the chat in the Didomi Console.