Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Question Google Admob - Consent Management Platform CMP needed - 1st January 2024

Discussion in 'Unity Ads & User Acquisition' started by Gushmeister, Aug 9, 2023.

  1. Gushmeister

    Gushmeister

    Joined:
    Apr 30, 2018
    Posts:
    50
    Hey everyone,

    today I noticed in my Admob-Interface, that, to be GDPR compliant, I have to integrate/use a Consent Management Platform (CMP) from the 1st of January 2024.

    I have no clue on how to do this, they say that I can integrate the "UMP SDK" or another third-party Consent Manager.

    Can someone help me or at least give me a hint on that, on how I can integrate this into my unity game? Is there already an asset or sdk that can handle that, and that automatically sends the needed info to that database where I can collect these consent-data. If possible, it should be free with no monthly fees. If there's no platform offering it for free I'd of course be glad if you guys could gimme a hint on a platform that's cheap.

    Everyone having apps running in european or united kingdom - stores (no matter if appstore or play store) has to have a Consent Management Platform running from 1st of January 2024, that tracks who has made a consent to be shown ads to and so on - else you get penaltied.

    This is really urgent and I'm sure it hits many developers / publishers, who are displaying ads in their games, as the european market is big.

    I hope someone sees my thread and I'm very happy for help. If there are any assets that are easy to implement on this, please let me know.

    Best regards
     
  2. xinatcg

    xinatcg

    Joined:
    Sep 30, 2020
    Posts:
    21
    Yeah, i think Unity need to consider it. Based on our research, Google AdMob SDK has this UMP support, but it is not friendly for the app which use the IronSource (or another audient network platform). Meanwhile, the AdMob SDK Unity only include UMP after 7.4.0, this version seems like not support Gradle 6.1.1 which is the default option for Unity 2021. There are lots of build issues.

    I think either Unity or IronSource (LevelPlay) should help to support this feature
     
    Gushmeister likes this.
  3. Gushmeister

    Gushmeister

    Joined:
    Apr 30, 2018
    Posts:
    50
    Okay, sure. There's a couple of CMP available, but everything costs a bunch of money per month. I can't imagine how solo-devs will still be able to handle this when putting on a new title without a budget.

    Can't understand why they put such stones in our ways, you already don't really make much money with ads, especially at the beginning.
     
    Alex-id and arfish like this.
  4. MaximPP

    MaximPP

    Joined:
    Jan 26, 2019
    Posts:
    76
    Hi! I am also interested in the solution for IronSource(LevelPlay)
     
    hongquannguyen and Nucifera like this.
  5. tessellation

    tessellation

    Joined:
    Aug 11, 2015
    Posts:
    390
    It's not just any CMP, it has to be one of these certified Google CMP's: https://support.google.com/admob/answer/13554116?hl=en#zippy=

    I already do my own consent interface, so it's disappointing to have done all this work to have it replaced with one that doesn't integrate as nicely with the game's UI. Perhaps there are some advantages to having consistency with the user's consent experience, such as what apple did with ATT?

    It looks like Google does provide their own Android SDK, which is likely free, but I don't know if it has a Unity SDK. Obviously this is extra, unexpected work for small developers and it's not in Unity's best interest to make it harder for their developers to use Unity Ads in EU, so I hope they can weigh in with an easy solution.
     
    Menyus777, Alex-id and LilGames like this.
  6. viku_99

    viku_99

    Joined:
    Dec 14, 2016
    Posts:
    11
    https://developers.google.com/admob/unity/privacy
     
    Menyus777 likes this.
  7. Rickard87

    Rickard87

    Joined:
    Oct 12, 2021
    Posts:
    39
    How does one use it in practice?
    Do we need to make a popup control box that the user press underage or not and then it is saved locally forever or what?
     
  8. JulianNeil

    JulianNeil

    Joined:
    Jun 27, 2022
    Posts:
    78
    In practice, the google UMP is next to useless if you want to get revenue from advertising in the EU. I've been banging my head against this wall for more than two weeks now.

    It shows consent forms when needed, but the consent text is not written in a way that an end user can really comprehend. The consent form are clearly not designed around desired outcomes for end users. End users might consider "personalised ads", "non-personalised ads", or "no ads" to be sensible choices. The forms are constructed to directly meet the specific legal requirements of the GDPR, and their language and workflow reflect this.

    Further - in the EU you're apparently not allowed to hide functionality behind gaining consent. Try doing a google search for "EU consent wall". This means that asking a user for consent, and disallowing access if consent is not given is apparently not ok - even crimping functionality is likely not ok. You're only allow to crimp functionality that cannot work without the requested consent. Its a bit hard to argue that consenting to the data processing and storage of advertisers is essential for functionality. Sure it might be essential from a business perspective, but who knows if it has been legally tested, or if small players are likely to get (heftily) fined.. probably not.. but I'd still like to do the right thing.

    If the user consents to everything in the displayed form then ads MAY be displayed - although there do seem to be some issues in my testing and sometimes ads simply refuse to load even when consent is granted. I saw ads for a while - and then they just inexplicably stopped being served.

    If the user chooses to take a more active approach and manage their consent options within the dialog you're just not going to see any ads from admob UNLESS they jump through hoops - finding the appropriate settings in 3 levels of dialog, and scrolling through nearly 200 unsorted ad providers to find google and give it the required permissions.

    There is no API for understanding the user's consent choices once the dialog is closed. There is some third party code to help parse the resulting consent string floating around here and there - but to me it looks pretty brittle.

    The forms do not remember previous selections (seems to be a legal requirement of GDPR). Every time the consent for is opened it is reset to default state.

    I am at a complete loss here. I really dont understand how small f2p shops are supposed to navigate through this morass in any meaningful way. I have posted on a couple of unity formus and on the admod sdk google group, but I dont seem to ever get any actionable answers. I'm considering just not supporting the EU at all.
     
    el_Guero, Alex-id, Sailendu and 2 others like this.
  9. Sailendu

    Sailendu

    Joined:
    Jul 23, 2009
    Posts:
    254
    I am also facing this issue, in my testing I found out, in the GDPR consent popup of Google User Messaging Platform (UMP) SDK, if the user clicks on "CONSENT" then ads works fine. But if the user does not click on "CONSENT" and If clicks on "MANAGE OPTIONS" then on "CONFIRM CHOICES" without changing any option, no ads are displayed afterwards.

    Seems like we have to have user's consent to display any ads? If this is the intended behavior of the SDK, then it lets the user remove ads for free, just by not giving consent.

    It is a huge issue for everyone developing apps that are supported by ads. It kind of makes it useless to release apps in EU. Some users might give consent, but I think majority of users will just not. I hope Unity comes up with a solution to this GDPR consent situation.
     
    Last edited: Oct 7, 2023
    el_Guero and Rickard87 like this.
  10. Rickard87

    Rickard87

    Joined:
    Oct 12, 2021
    Posts:
    39
    Wow for real? I haven't tried it yet.... That's really f'ed.
    Is it GDPR that forces this on us and Ad providers such as Google Admob?
     
  11. JulianNeil

    JulianNeil

    Joined:
    Jun 27, 2022
    Posts:
    78
    @Rickard87 basically yes. It is privacy regulation and legal decisions on its application (e.g. against facebook and apple) that drives this.

    Unfortunately it results in a lot of the commentary, discussion and implementation crammed full of legal terminology and arse-covering. The most baffling is the legal determinations that consent walls and using contract as a legal basis are not allowed in the legislation (i.e. among other things, you cannot rely on terms that only grant access when consent for use of private data is given)

    It leaves me scratching my head. Not being in the EU, its hard to find out how real applications are dealing with the complexity.

    As a one person f2p shop - I've spent too much time on this. I'm just going to use the google UMP - with its many flaws, as it is really the ONLY free implementation that I can find that will allow me to use admob to serve ads post Jan 2024.

    In the EU I'm going to have to assume consent will not be given most of the time - of course I wont be able to collect analytics without consent, so its going to be a guessing game. I will just have a prominent notification in my game suggesting that if people prefer not to consent to advertising that they take advantage of IAP to remove ads.
     
  12. hongquannguyen

    hongquannguyen

    Joined:
    Oct 8, 2019
    Posts:
    3
    To integrate Google's CMP in projects with IronSource, you can just install the Google Mobile Ads SDK for Unity (GMA) and use only their consent APIs for handling the UMP. Do not initialize the Ads part from GMA as IronSource should be handling that.
    There will be build issues if you are using Gradle 6.1.1, you can either restart Unity after every build or upgrade to a higher Gradle version like 6.5 or 6.7.3
     
  13. JulianNeil

    JulianNeil

    Joined:
    Jun 27, 2022
    Posts:
    78
    Thanks @hongquannguyen . I suppose my question then is - if I use the Google UMP to get consent, does LevelPlay forward the TCF string to admob so I can use admob via mediation? Or do I need to do something else to manually tell admob that I have the required consent (or non-consent)?
     
  14. hongquannguyen

    hongquannguyen

    Joined:
    Oct 8, 2019
    Posts:
    3
    I think Google UMP will handle the TCF string and you will be able to see Admob ads if you opt-in, and vice-versa if you opt-out. I am not 100% sure how it works behind-the-scenes, but after some rounds of testing with my approach, it seems that Admob ads via mediation are affected.
     
  15. VictorWozRodriguezEtermax

    VictorWozRodriguezEtermax

    Joined:
    Sep 12, 2017
    Posts:
    3
  16. JulianNeil

    JulianNeil

    Joined:
    Jun 27, 2022
    Posts:
    78
    @VictorWozRodriguezEtermax - I have read through more google admob documentation on consent than you can possibly imagine. Unfortunately implementing a solution that works in practice is a balancing act of unity player settings, api call timing, sdk configuration, ad agency account configuration, play/app store publishing settings .. and the list goes on.
    So far I just keep falling off the tightrope, losing precious game development time.

    As it stands - bugs in google's UMP violate its own policy on the very first consent request by including the adid - so I don't see that I have much hope of getting this working in any sensible time frame. Trying to get technical support from google on admob is like beating your head against a board in a swimming pool full of treacle.
     
  17. Anton_Mat

    Anton_Mat

    Joined:
    Jun 21, 2023
    Posts:
    1
  18. JulianNeil

    JulianNeil

    Joined:
    Jun 27, 2022
    Posts:
    78
    Hi @Anton_Mat . There are quite a number of paid CMP options. For websites the price is in the order of $10s to $100s per month - which is fine. For apps - its an order of magnitude higher.
    Until my game starts earning some money I'm going to have to stick with a free / cheap option - and for apps, google's UMP looks to be it.

    The reading I've done on inmobi excludes them as an option for me.
     
  19. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    562
    As of recently, Google Admob says:
    "If you miss the deadline, we'll attempt to publish a default consent message for you using an interstitial or app open ad unit, when possible."
     
  20. Rickard87

    Rickard87

    Joined:
    Oct 12, 2021
    Posts:
    39
    Like if I don't have time to update my games, they won't be removed but it will affect the ads?
     
  21. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    562
    That's how I interpret it. They will "inject" a pop up a consent request through the ad system, if possible. Presumably if it's not possible, then the ads either won't show at all or will but won't be personalized.
     
    Last edited: Dec 5, 2023
    Rickard87 likes this.
  22. Buzzrick_Runaway

    Buzzrick_Runaway

    Joined:
    Jan 7, 2018
    Posts:
    18
    It's still unclear if that means that it will show their own CMP consent confirmation, even if they're just a mediated network loaded via IronSource? Or do we need to use Google's Ad Mediation for that to work?
    (This stuff is so confusing)
     
    Rickard87 likes this.
  23. Menyus777

    Menyus777

    Joined:
    Jun 11, 2017
    Posts:
    30
    Anyone found a solution to the "no ads are displayed" part? I spent my weekend on forums/reading legal therms and not on developing my game. Yet, I'm not smarter than before. All I see is a bunch of automated answers and ignored posts/comments on the Google Support forums. So Basically in 10 ten days we are jumping into the unknown. I'm just glad that I currently don't have any production apps only open testing ones and not have to worry about loosing 25-30% of my revenue. According to AdMob users already with consent screens, only 75% of their users consent. The rest either chooses non personalized ads or via the above trick sets up the consent screen in a way that AdMob will basically show no ads at all. Now, imagine when the general user base finds this out.. I already see the YouTube titles "HOW TO REMOVE ADS FROM GAMES", "ADFREE GAMES" etc..
    Currently the only way to guard against this is to extract the raw TCF string (which is an utter garbage hard to digest string containing the user's choices) and find out if the user set up its options in a way that AdMob will refuse to show ads. Then simply deny booting up your app.. And ofc none knows how the logic/structure of this string changes and you also get no notifications about it either...
     
  24. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    562
    If the player doesn't agree/consent, you could close the game or prevent continuing. It's not that much different than those games that ask players to check the "terms and conditions agreement" box in order to proceed. Personally, I find that kind of barrier is annoying, but since I already went through the trouble of downloading and installing it, I usually just agree and continue so I can try the game.
     
  25. JulianNeil

    JulianNeil

    Joined:
    Jun 27, 2022
    Posts:
    78
    Unfortunately, this approach is likely not legal in the EU. Search for "consent wall" on Google.
     
  26. viku_99

    viku_99

    Joined:
    Dec 14, 2016
    Posts:
    11
    I have created simple plugin that allow admob integration in one click.
     

    Attached Files:

  27. el_Guero

    el_Guero

    Joined:
    Sep 15, 2017
    Posts:
    185
    What do you mean exactly with "Do not initialize the ads part"?
    • Is there a way to get rid entirely of Google Ads part of the SDK and just leave the GoogleMobileAds.Ump.X assets?
    • Or you just leave it all there in the project and do not initialize through code? Won't it clash this way with what is imported by the adapter at project export using gradle/cocoapods?
    • And last but not least, if I keep the entire thing, should I add google app IDs to the Google Ads setup under Assets/Google Mobile Ads/Settings... to avoid the error at building?
    Edit:
    I use MAX and in order to NOT use their privacy flow what I did now is add the Google Mobile Ads SDK and just call the UMP initialization as @hongguannguyen pointed out (you do have to add the app IDs too). This actually works and doesn't clash with the MAX SDK.

    The only thing now that sucks is that a user can go to 'Manage Options' and disable Google Ads entirely, but the good thing when you use a mediator like MAX or Ironsource is that the other Ad Networks still will deliver their (non personalized) ads.

    I wished that Google turnd their CMP into a standalone SDK for Unity. That would be the simplest solution. But until that happens, the above is a working solution.
     
    Last edited: Jan 12, 2024
  28. tessellation

    tessellation

    Joined:
    Aug 11, 2015
    Posts:
    390
    I guess they figure if you're using their CMP then you're probably using AdMob anyway. The C# script code for playing ads will probably strip out if you use Medium level stripping, but I haven't tested it.