41

I am currently using Google's (deprecated) consent-library to request consent for personalized ads from European users. The documentation specifies that if a user's consent status is already set to PERSONALIZED or NON_PERSONALIZED, you can forward consent to the Google Mobile Ads SDK with:

Bundle extras = new Bundle();
extras.putString("npa", "1");

AdRequest request = new AdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
    .build();

Now I want to migrate to the new Unified Messaging Platform SDK for Android. The documentation is pretty straightforward, but it only explains how to get consent, not how to use the consent. Does this mean that when using the new UMP SDK for Android, we no longer have to set the "npa" is "1" when requesting an AdMob ad for a user that did not consent to personalized ads?


EDIT 25 Aug 2020

Yesterday I found this conversation where somebody from the Mobile Ads SDK team responded to the same question I asked here. He says that:

The legacy "Passing of consent" through npa=1 will be honored by our SDK until further notice.


EDIT 31 Aug 2020

I started a new conversation where I ask the same question as the one in this post, but I am not getting any response.

Bastiaan van den Berg
  • 1,585
  • 1
  • 14
  • 20
  • 2
    Same issue for me too, if the user don't consent the ads are not showing anymore... Any solution yet ? – EAK TEAM Sep 02 '20 at 07:52
  • I am no getting any response from the Mobile Ads SDK team. For now I stick to the legacy method. I first want their confirmation that serving non-personalized ads works with the UMP SDK (without setting npa=1) before I switch. – Bastiaan van den Berg Sep 02 '20 at 11:21
  • Did you find a solution? – TimWeb Sep 17 '20 at 20:58
  • 6
    I did not get any response from them. So I decided to give it a try with one of my apps, integrated the UMP SDK (and no longer send "npa"="1" along with ad request), set up a consent dialog on Funding Choices, released the app. Now I seem to be having the same issue that many are having, ads are no longer shown for users that did not consent... I don't think this is because of the "npa"="1" that I am no longer sending, according to the AdMob SDK team the issue is somewhere in the Funding Choices back-end, and simply say that they cannot help me with that... – Bastiaan van den Berg Sep 18 '20 at 09:59
  • 5
    Wow is amazing how something this important is being completely ignored by the AdMob team... – distante Sep 23 '20 at 13:17
  • 4
    The whole ideea of GDPR is that users have a choice in how their personal data is collected and used. The implementation is not understood by 95% of regular Internet users - they click agree/ disagree without reading anything. The deprecated SDK was very simple (and in line with the spirit of GDPR) with simple and clear options: personalized ads, irrelevant ads and pay for ads-free version or leave app. The new SDK is in line with the letter of GDPR. I'll continue with the old SDK for as long as possible. – Hatzegopteryx Mar 07 '21 at 11:49
  • 2
    @Hatzegopteryx - Thanks for your comment. Do you know for how long it would be possible to continue with old SDK? – CodeJoe Dec 20 '21 at 12:29
  • @CodeJoe Sorry, I have no idea. – Hatzegopteryx Dec 20 '21 at 13:18
  • @Hatzegopteryx Does the old SDK still work? – HasIEluS Mar 18 '23 at 04:08

2 Answers2

10

With the new Unified Messaging Platform, Google is working as a Consent Managing Platform. These CMP's use a TCF string to store the user consent preferences. Google checks this TCF string to see which ads can be shown;

As per the Google documentation:

Google will serve personalized ads when all of the following criteria are met:

  1. The end user grants Google consent to Store and/or access information on a device
  2. Create a personalized ads profile
  3. Select personalized ads

And legitimate interest (or consent, where a publisher configures their CMP to request it) is established for Google to:

  1. Select basic ads
  2. Measure ad performance
  3. Apply market research to generate audience insights
  4. Develop and improve products

If the consent requirements for personalized ads are not met, Google will serve non-personalized ads when all of the following criteria are met:

  1. Store and/or access information on a device

Legitimate interest (or consent, where a publisher configures their CMP to request it) is established for Google to:

  1. Select basic ads
  2. Measure ad performance
  3. Apply market research to generate audience insights
  4. Develop and improve products
  5. Enable Google in the vendor list.

Update 20 October: Apparently 3,4,5 are not needed anymore to show non-personal ads SO @Georg for providing this information.

If none of the conditions above are met Google won't be showing ads..

I hope this answers your question but if you need more information please let me know!

Alexander
  • 257
  • 1
  • 9
  • Hey Alexander take a look at this here . I have also posted this in the google group. There s a new option in funding choices regarding this...seems to be new. but it is not working for me . will try this in 1-2 days again..its really a pain at the moment. i just see a new option in my funding choice test app ?! in admob go to your created funding choices app and click on "Details on the notification of EU user consent" and then click on "Select purposes for your own use" ...there you can set up to 10 own purposes ..i guess the switches in the form ...i quess this is new ??! – Frank Oct 15 '20 at 03:06
  • Hi Alexander, I have been doing some more tests today and for me only points 1,2 and 6 are necessary for NON-PERSONALIZED ads. As of right now legitimate interest is still not respected for Google as a vendor from the SDK, so Google needs to be found and confirmed manually on the vendors' list. – The Lone Coder Oct 16 '20 at 16:08
  • Hi ! Yes legitimate interests are totally ignored by funding choices. It is really a pain at the moment. Maybe we find any alternate solution of funding choices ? Is is not possible that we use another CMP Provider who maybe offers a mobile solution too ? Still nobody is answering form the admob team :-( – Frank Oct 19 '20 at 22:21
  • Hi Georg, thats new hahahah. You've got to love Google's documentation. I'll update the answer. Thnx! Hi Frank, here is a list with other CMP's I think all of them are paid though.. https://iabeurope.eu/cmp-list/ – Alexander Oct 20 '20 at 08:39
  • Thanx im going to program my own solution now with an extra dialog. If the IABTCF_PurposeConsents pref key does not match personalized or non personalized ads then i will show an extra dialog to offer the user to agree to ads again or use a limited basic version of the app and/or maybe buy the app (depending on the app) . And i choose google ads as the only vendor is my list. There is no other solution if you want to make it legally – Frank Oct 20 '20 at 22:12
  • 3
    How should a "normal" user ever know in his life that the has to do step 1, 2, and 6 (extra activate the vendor at the end of the list) to see non personalized ads. This is totally rediculous in my eyes. And it is a totally pain that you cannot pre select options in funding choices for the user. So if the user goes to options and hits submit without doing anything then the pre selected options with google activated could be saved. But i guess this will not happen that we can do this in the future. – Frank Oct 20 '20 at 22:33
  • 1
    Just a word of caution to everyone here: While I was implementing and testing the checks inspired by @Alexander , AdMob decided to place a temporary ad limit on my account. Researching this a bit it looks like this is due to a bot that is (nicely said) a bit oversensitive. The downside is that for now no ads are served anymore until they have finished evaluating my traffic - which can take up to 30 days or more. Ad revenue is down to 0, you cannot talk to them about it and all because they have a faulty UMP implementation. AdMob really sucks at the moment. Anyone know any good alternatives? – The Lone Coder Oct 21 '20 at 17:18
  • 1
    Hi Georg, i do not know if you know the admob group here https://groups.google.com/g/google-admob-ads-sdk. . Post your problem also there. They must do anything. You only have to participate this group then you can make posts. At least you will get "some answers" . Yes UMP is a totally pain at the moment. Nobody knows what to do – Frank Oct 21 '20 at 17:45
  • Hi George you said "While I was implementing and testing" ? ! ...I am testing since over one week but only with a new test app created in admob, the app id of the test app and only test ad ids and nothing more. "Never" test with any production id !! This produces invalid traffic and clicks, Never test funding choices with prodution ids – Frank Oct 21 '20 at 18:44
  • @Frank where is your answer? Why did u delete it? – Frank Nov 11 '20 at 08:02
  • Hello @Frank. it was a mistake...i will post it here again later. Just have to search the text. Please tell me which values did you change ? Because you wrote "i changed LegitimateInterests value and consinfosaved " – Frank Nov 11 '20 at 21:02
  • It is July 2021 and it seems like this is still the problem. Has someone any news about this issue? Atm it still only works when giving active consent (no LegitimateInterests) to the vendors for displaying ads. – goldensoju Jul 13 '21 at 16:48
  • 2
    In April 2022, still the same situation. To sum up: If the user does not give correct consent, no ads will be shown, as explained in https://support.google.com/admob/answer/9760862?hl=en&ref_topic=9756841. Also, the consent form is too complex to expect users to be able to set all data correctly. The only workaround is to implement `canShowAds()` as shown here: https://stackoverflow.com/a/68310602/1765341 and redirect the user to the paid app if `canShowAds()` returns false. – stefan.m Apr 03 '22 at 14:02
1

If anyone wonders, the

extras.putString("npa", "1");

No longer needs. UDP handles it on its own.

Adam Varhegyi
  • 11,307
  • 33
  • 124
  • 222