We recently launched a new app. And used the following code to tag every single request with a non personalized ads flag as follows:
GADRequest *request = [GADRequest request];
GADExtras *extras = [[GADExtras alloc] init];
extras.additionalParameters = @{@"npa": @"1"};
[request registerAdNetworkExtras:extras];
Unfortunately, the fill rate is very low (~15%). We removed the npa flag from the code (but have not released an app update yet) but the low fill rate persists unless the advertising identifier is reset on the device.
Once the advertising identifier is reset, the fill rate is normal. We'd like to push an update to our app without the npa flag in the code, but are concerned that the fill rate for the existing users will still be low,
unless the user will reset the advertising identifier on their device. Is there anything Admob can do on the back end to fix this issue? Or is the ad configuration done at the Admob App ID level?
To make it clear the following are the steps taken to reproduce the problem on an iOS device:
1) Install an app build that has npa=1 (using test flight or any other way)
2) Run the app and observe poor 15% fill rate
3) Delete the app
4) Install an app that does not have npa set to 1
5) Run the app and still observe poor 15% fill rate
6) Go to Settings -> Privacy -> Reset Advertising Identifier -> Reset Identifier
7) Launch the app and observe greatly increased fill rate and much greater interstitial and banner variety
Obviously an average user will rarely use the Reset Identifier setting. So my question for the Admob team is, will the Admob SDK eventually switch to normal behavior after the app is updated without npa=1 in
the code? Or these users will now be perpetually stuck in this ad deficient state until they either reset the ad id or get another device?
We'd greatly appreciate a response so that we can update our app as soon as possible.
Thank you.