Using Unity Dashboard, I have just downloaded a per-country breakdown of income from my Android game which displays Interstitial Unity Ads and have realised that it is returning income from every country that has active users EXCEPT USA, even though the great majority of my audience is in the USA.
As an example, in the time period of the report I downloaded:
For India there were 2433 Requests which resulted in 1436 Impressions and an income of $0.74.
For Saudi Arabia there were 1140 Requests which resulted in 740 Impressions and an income of $1.87
For New Zealand there were 235 Requests which resulted in 65 Impressions and an income of $0.44
But for United States despite there being 2953 Requests there were zero Impressions and zero income.
Does this mean there is a problem with the ad servers in the USA, or is there something else I need to do to activate the ads in the USA?
I’ve now fixed this problem with the help of a Unity Support engineer who was able to perform some testing of some test builds using a VPN configured for USA IP address. Initially he confirmed that in the US, no ads were displayed even though ads were displayed in the UK and numerous other countries.
I made 2 changes as follows:
I noticed that I had been using a Unity Advertisement package which was not tagged as “verified” with Editor version Unity Editor 2019.4.29f1. So I reverted from v4.10 to v3.7.5 (the verified package). After making this change I had to make a further change, to explicity add calls to Advertisement.Load() before Advertisement.Show() which were not needed with the later package.
I noticed that in the services window, the Ad Services and Monetisation sliders were both off, so I rebuilt with them turned on.
I don’t know for sure which of the two changes fixed the problem. but testing showed that ads were now appearing in the US. I have subsequently rolled the fix out to Google Play Store and my ad income has jumped up already.
I still find it difficult to understand why the original problem only affected the US ad servers, though.
I was thinking I was the only one seeing this problem!. I expected that the forum would be flooded with complaints if others were also losing their US income!
What version of the Unity Editor are you running the ad SDK 4.2.1 on? 2019 LTS or later? Since I reverted to ads SDK 3.7.5 with 2019 LTS Editor my US income has been fine.
However I’m in the process of converting my project from 2019 LTS to 2021 LTS Editor versions prior to moving to ads SDK 4.2.1 for the same Google compatibility reason and I’m worried that the problem I had will come back.
The email that Unity sent out warning about the need to upgrade the Ads SDK recommended using Ads SDK 4.0.1 (or was it 4.1.0?) with Editor 2021 LTS not 4.2.1, however I cant find an option to load that package. It only lets me upgrade from the default of 3.7.5 to the latest version which is 4.2.1. I did raise a query with Unity and was told that 4.2.1 was Ok to use. Ads seem to work fine here in the UK when I install on my own phone but I’m reluctant to release via the Play Store until I’m sure its also compatible with the US servers. I’m hoping to gert a friend in the US to test it there first.
BTW I still don’t understand why its only the US servers that are affected. Any ideas?
maybe they didn’t realize the loss of income yet. When I updated the apps, most of the end users didn’t notice the problem without updating the games. I fell into depression when I realized it. I’m trying to solve the problem, if I can, I will share with you how I solved it. In the past, if test ads worked in Unity Editor, normally ads would work on all kinds of Android devices. Because I trusted this, I made mistakes in more than 30 games. Now I have to fix the error first and then carefully update the games. It’s really bad that we have such a problem
I suggest reverting back to SDK 3.7.5 for the moment, as this fixed my problem with the US. As I understand it as long as you do this before the cut-off date in September Google will not reject the update and it should continue to be available after that date as only new releases will then be rejected. Of course a solution still needs to be found for updates after the cut-off data but at least it gives us (them?) time to fix it.
I contacted Unity support and we found a solution based on my codes. Now 4.2.1 is working correctly. If the ad request ad and ad display codes are in the same scene, there is no problem. but it doesn’t work if you call codes in another scene. It is necessary to load and run the ad separately for each scene. it’s working perfectly now.
I am using unity version 2020.3.34f and latest version. It was working in all countries except America, but the problem was that I implemented the ad codes by thinking of them as old ad codes. Ad call and interstitial and display of ad must be used in the same scene. Calling the ad in different scenes and calling it using public does not work very well.
were you able to observe the issue and it subsequently getting fixed yourself using a test device and a vpn (if youre outside us)? I’m keeping my ads script alive at every scene load using DontDestroyOnLoad. Also I do see ads working fine when testing. (using vpn for us). I wonder if that would mean I’m good to go or if I need to fill every scene with Advertisement.Load calls just to be safe…
I am using it by loading the ad according to the ad type in each scene, the problem is solved. If you have a few applications, I recommend you to try one of them and apply the others if you do not lose income.