Android Native Ads losing all clicks and revenue every hour

473 views
Skip to first unread message

Sterntelz Ernprathin

unread,
Aug 20, 2021, 7:49:42 PM8/20/21
to Google Mobile Ads SDK Developers
Problem Background

Only for Android has this problem. iOS works fine.

When players click the ads, they will show up in the Admob reports after maybe 25 minutes. Revenue will also be shown. After 2 hours, the clicks will all be gone and revenue will all be gone as well. Only the latest 1-2 hour will ever show clicks and revenue in the Admob reports.  All hours before that will always be 0 clicks and $0.  I get paid nothing!

My other ad unit like interstitials and reward ads do not have this issue, nor does my Native Ads for iOS.  Only Native Ads for Android has this issue.  So it is not because my account is getting limited servring issue, or any kind of common problems with using the wrong ad unit id, etc.  

 
Here is an example of what is happening:
1.) At 10AM My ad unit here has been clicked 200 times by real players
Screenshot 2021-08-20 174210.jpg
2.) At 11AM The report now shows that at 10AM only 22 clicks. then at 12PM it will say there are 0 clicks. And all hours before that will show 0 clicks and $0.  Basically I'm sending all my players to download other developers games and get not get paid for it.
Screenshot 2021-08-20 174242.jpg


Please kindly help me if you are from Admob, I have setup a sample project that can reproduce this exact issue using my account.  Please kindly contact me!

Thank you in advance!
Sterntelz


Related Error Logs
When you click the ads you can see this error log

2021-08-20 17:18:03.343 15979-15979/? W/Bundle: Attempt to cast generated internal exception: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Float at android.os.BaseBundle.getFloat(BaseBundle.java:1145) at android.os.Bundle.getFloat(Bundle.java:891) at android.os.BaseBundle.getFloat(BaseBundle.java:1127) at android.os.Bundle.getFloat(Bundle.java:878) at com.google.android.gms.ads.nonagon.ad.nativead.q.o(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:3) at com.google.android.gms.ads.nonagon.ad.nativead.ak.q(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:0) at com.google.android.gms.ads.internal.formats.client.aq.bS(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:44) at fz.onTransact(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:4) at android.os.Binder.transact(Binder.java:1079) at com.google.android.gms.internal.ads.zzgu.zzb(com.google.android.gms:play-services-ads-base@@19.5.0:21) at com.google.android.gms.internal.ads.zzagl.reportTouchEvent(com.google.android.gms:play-services-ads-lite@@19.5.0:92) at com.google.android.gms.internal.ads.zzagk.reportTouchEvent(com.google.android.gms:play-services-ads-lite@@19.5.0:78) at com.google.unity.ads.NativeAdvancedUnifiedNativeAd$2.run(NativeAdvancedUnifiedNativeAd.java:132) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8538) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130) 2021-08-20 17:18:03.344 15979-15979/? W/Bundle: Attempt to cast generated internal exception: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Float at android.os.BaseBundle.getFloat(BaseBundle.java:1145) at android.os.Bundle.getFloat(Bundle.java:891) at android.os.BaseBundle.getFloat(BaseBundle.java:1127) at android.os.Bundle.getFloat(Bundle.java:878) at com.google.android.gms.ads.nonagon.ad.nativead.q.o(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:3) at com.google.android.gms.ads.nonagon.ad.nativead.ak.q(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:0) at com.google.android.gms.ads.internal.formats.client.aq.bS(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:44) at fz.onTransact(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:4) at android.os.Binder.transact(Binder.java:1079) at com.google.android.gms.internal.ads.zzgu.zzb(com.google.android.gms:play-services-ads-base@@19.5.0:21) at com.google.android.gms.internal.ads.zzagl.reportTouchEvent(com.google.android.gms:play-services-ads-lite@@19.5.0:92) at com.google.android.gms.internal.ads.zzagk.reportTouchEvent(com.google.android.gms:play-services-ads-lite@@19.5.0:78) at com.google.unity.ads.NativeAdvancedUnifiedNativeAd$2.run(NativeAdvancedUnifiedNativeAd.java:132) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8538) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130) 2021-08-20 17:18:03.345 15979-15979/? W/Bundle: Attempt to cast generated internal exception: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer at android.os.BaseBundle.getInt(BaseBundle.java:1077) at android.os.BaseBundle.getInt(BaseBundle.java:1059) at com.google.android.gms.ads.nonagon.ad.nativead.q.o(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:3) at com.google.android.gms.ads.nonagon.ad.nativead.ak.q(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:0) at com.google.android.gms.ads.internal.formats.client.aq.bS(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:44) at fz.onTransact(:com.google.android.gms.policy_ads_fdr_dynamite@212104400@212104400057.375149532.375149532:4) at android.os.Binder.transact(Binder.java:1079) at com.google.android.gms.internal.ads.zzgu.zzb(com.google.android.gms:play-services-ads-base@@19.5.0:21) at com.google.android.gms.internal.ads.zzagl.reportTouchEvent(com.google.android.gms:play-services-ads-lite@@19.5.0:92) at com.google.android.gms.internal.ads.zzagk.reportTouchEvent(com.google.android.gms:play-services-ads-lite@@19.5.0:78) at com.google.unity.ads.NativeAdvancedUnifiedNativeAd$2.run(NativeAdvancedUnifiedNativeAd.java:132) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8538) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)Example of what happens in production

Kerem

unread,
Aug 21, 2021, 1:16:10 AM8/21/21
to Google Mobile Ads SDK Developers
Had the same problem with my iOS app with interstitials a few weeks ago. No policy issues, no changes in the app. All my clicks started getting flagged as invalid by some mechanism. AdMob specialists checked everything and said "all" the activity was invalid but they could not explain why each and every user of mine was generating invalid traffic (obviously impossible). It eventually fixed itself and I still don't know the reason. I lost 4-5 days of revenue.
Message has been deleted

Mobile Ads SDK Forum Advisor

unread,
Aug 23, 2021, 3:47:02 AM8/23/21
to nep...@gmail.com, google-adm...@googlegroups.com

Hello Sterntelz,

Thank you for reaching out to us.

With regard to your concern, let me bring this to the rest of the team for further checking.

Regards,

Google Logo
Princess Pamela Pineda
Mobile Ads SDK Team
 


ref:_00D1U1174p._5004Q2Mhd1s:ref

Mobile Ads SDK Forum Advisor

unread,
Aug 23, 2021, 3:48:05 AM8/23/21
to kerem...@gmail.com, google-adm...@googlegroups.com

Hello Kerem,

Thank you for reaching out to us.

Can you confirm if your app also encounter an error when clicking? If yes, could you please provide the following details via Reply privately to author option or send it directly to mobileads...@gmail.com? Kindly inform us on this thread if you sent it directly to the email provided.

  • Sample app
  • Steps to replicate

If you only encountering invalid activity, you may check this article on how to prevent invalid activity. For invalid activity, we recommend reaching this to  AdMob Help Center to better assist you.

Message has been deleted

Sterntelz Ernprathin

unread,
Aug 23, 2021, 8:38:06 PM8/23/21
to Google Mobile Ads SDK Developers
Hi Pamela!  I have clicked reply to author with all the information you asked for.  Please kindly let me know if you have what's needed and if you are able to solve this urgent issue.  Thanks again for your time!

Sincerely,
Sterntelz

Mobile Ads SDK Forum Advisor

unread,
Aug 23, 2021, 9:28:07 PM8/23/21
to nep...@gmail.com, google-adm...@googlegroups.com
Hello Sterntelz,

Thank you for reaching out and sending us the information.

We are going to review it and look into the issue, and will provide you an update.

Please do not hesitate to let us know if you have any questions.


Regards,
Joshua

 

ref:_00D1U1174p._5004Q2Mhd1s:ref
Message has been deleted

Mobile Ads SDK Forum Advisor

unread,
Aug 26, 2021, 8:44:09 PM8/26/21
to nep...@gmail.com, google-adm...@googlegroups.com
Hello Sterntelz,

From the NativeAd.zip provided, in Admob.cs, the `cocIdAndroid` is the ad unit that passed into `RequestNativeAd()`'s adLoader. However from what I observed in NativeAd.prefab, the value of that ad unit is not `ca-app-pub-1844236426719231/9724018295` but `ca-app-pub-1844236426719231/6511978709`. The `9724018295` ad unit only exists in Test_Ad2.unity.

Would you please verify is `9724018295` or  `6511978709` used in production?

Sterntelz Ernprathin

unread,
Sep 1, 2021, 12:04:12 PM9/1/21
to Google Mobile Ads SDK Developers
  Thank you for your response. But now iOS fixed itself the the past 2 days.. But today Android started to have the issue again.  What is going on?  It's not an implementation issue as I have not made any updates to the game.  Admob randomly removes hourly clicks for a few days, then it stops doing it for a few days, then it starts again.  It never permanently gets fixed.

Attached it a screenshot showing that at 5am today it started to remove recorded clicks after every hour, same as when I reported in the beginning.  

Screenshot 2021-09-01 100117.jpg

Sterntelz Ernprathin

unread,
Sep 1, 2021, 12:30:10 PM9/1/21
to Google Mobile Ads SDK Developers
I also want to kindly stress that this is extremely urgent that the engineers look into my sample project which reproduces this issue.  Because it's not simply that I'm losing revenue, but I spend thousands of dollars on AdWords User Acquisition campaigns to acquire these players, and when all these players click on Admob ads, and I don't get paid for it, I'm literally losing the money I spent on acquiring them.  So please kindly look into the issue as soon as possible.  I'm keeping the campaigns running so that you can observe the issue live but if you are not even looking into it I'm burning campaign dollars for no reason.  

Sincerely,

Mobile Ads SDK Forum Advisor

unread,
Sep 2, 2021, 4:36:49 PM9/2/21
to nep...@gmail.com, google-adm...@googlegroups.com
Hello Sterntelz,

Thanks for reaching out again.

We truly understand that this is critical to you and we have prioritized our investigation on this.

We will give you an update as soon as we can.

Mobile Ads SDK Forum Advisor

unread,
Sep 2, 2021, 7:43:09 PM9/2/21
to nep...@gmail.com, google-adm...@googlegroups.com
Hello Sterntelz,

While we are investigating the issue on our end, can you please take a screenshot of the whole AdMob Network report that shows the issue? The screenshot should show the filters applied, estimated earnings, impressions and clicks, and summary table. In your email please also indicate the date and time you take the screenshot, plus the timezone you are in. In that case we can dive into that specific time frame during the investigation.

Thank you.

Sterntelz Ernprathin

unread,
Sep 2, 2021, 9:59:48 PM9/2/21
to Google Mobile Ads SDK Developers
Hello thank you.  The report I submitted a couple weeks ago has all the details.  I cannot print them again because after 2 days, they remove the ability to display hourly interval reports so these reports need to be looked into during the first 2 days.  

Again, I have printed another screenshot of yesterday, Sept 1st  My timezone is MST.    I'm showing the entire page of the Admob report, in hourly interval.  In the screenshot you will see that the first 3 hours of the day everything is functioning normally as any other days, I'm getting ~100 clicks an hour, ~20k impression an hour with a very normal eCPM of only $0.15 earning just ~$3 an hour.  So please kindly refrain from assuming they are invalid clicks, they are valid clicks from real players I acquired via Adwords, it's not that much of earning to be called invalid or fake clicks.  Can't even pay for my campaigns.  Then about 3-4pm Admob started removing all my clicks, this is the 2nd some Admod did this, they would stop recording my clicks for a few days, then it will go back to normal.  But because this causes me too much money, at 11pm I made an update that removed the native ads to prevent losing more money, that's why in the report you see a big drop in impression around 12pm.  

After 2 days Admob no longer allows printing hourly report so this report I'm printing will be the only report left to print because as I mentioned I have removed the Native Ads from my Android game, it's making me lose too much money as the players I paid to acquire click the ads and download other games, and I don't get paid for it.  Hopefully you can really look into this and resolve it.

Screenshot 2021-09-02 195125.jpg

Sterntelz Ernprathin

unread,
Sep 2, 2021, 10:08:46 PM9/2/21
to Google Mobile Ads SDK Developers
To follow up from my last reply.  Please note that I have already submitted very detail documentation and sample project so you can reproduce the issue yourself. I will post it here again: https://sharing.clickup.com/t/h/1duz4pu/TA6P184RSK4ZQYE

Mobile Ads SDK Forum Advisor

unread,
Sep 7, 2021, 1:58:52 PM9/7/21
to nep...@gmail.com, google-adm...@googlegroups.com
Hello Sterntelz,

Thank you for the information provided.

Our team has verified that the clicks around the provided time range (on August 20 when you first reported the issue) in Android app's native ad are mostly marked as Spam. This should be the reason for the number drop.

If there is another specific time range that you would like us to look at, please include its date (and time range), app unit ID, app ID and link to AdMob reporting page (with the report set up already with the information mentioned). A screenshot that covers the whole AdMob reporting page (including its settings) will be great too.

Please do not hesitate to let me know if you have any questions.

Sterntelz Ernprathin

unread,
Sep 7, 2021, 5:58:34 PM9/7/21
to Google Mobile Ads SDK Developers
Thanks that is not the case because 100% of the clicks were removed and my players are not interested in "spamming" clicks on ads.  I can understand if a fraction of the clicks where "spam"  but not 100% of it for 7 consecutive days at 100 clicks per hour.  

Anyways I know you won't do anything about it so I've removed native ads.  Thanks anyways responding.

Mobile Ads SDK Forum Advisor

unread,
Sep 12, 2021, 8:30:31 PM9/12/21
to nep...@gmail.com, google-adm...@googlegroups.com
Hello Sterntelz,

Thank you for the reply.

We truly understand that so we are still investigating to gather more data points.

I just recently realized Vian Elle has uploaded a new AdMob Reporting screenshot to https://sharing.clickup.com/t/h/1duz4pu/TA6P184RSK4ZQYE on Sep 2 with additional information.

We are currently reviewing it and will get back to you.

Nadhir Boukorsi

unread,
Nov 1, 2021, 9:33:10 AM11/1/21
to Google Mobile Ads SDK Developers
Hi, I have exactly the same problem and it has never been solved since march. I am also using native ads and the policy center saying nothing. Clicks are almost zero. The same behavior as
Sterntelz mentioned. It looks like it is due to a new update to the Admob algorithm that makes the system define some real clicks as invalid clicks. As the others said it is impossible that 100% of the clicks are invalid. It is also possible that it is an SDK issue. Whatever the cause this is not acceptable at all. Eight months without earnings. Admob should fix that soon. Now I can't contact Admob using the platform because the contact button is hidden after the earning drop!admob-earning-jan-to-oct.png

Mobile Ads SDK Forum Advisor

unread,
Feb 14, 2022, 1:05:07 PM2/14/22
to 2ud...@gmail.com, google-adm...@googlegroups.com
Hello Nadhir,

Thanks for reaching out. I would like to follow up and see if you are still seeing a drop recently.

If you do, could you please provide the following information:
  • Publisher ID
  • App ID
  • Ad Unit ID
  • Google Mobile Ads SDK version
  • Mediation adapter type and version being used (if any)
  • Screenshot of the whole AdMob Network report that shows the issue. The screenshot should show the filters applied, estimated earnings, impressions and clicks, and summary table. Please also indicate the date and time you take the screenshot, plus the timezone you are in. In that case we can dive into that specific time frame during the investigation.

Thanks!


Regards,
Joshua

ref:_00D1U1174p._5004Q2Mhd1s:ref
Reply all
Reply to author
Forward
0 new messages