iAd impressions not matching analytics

I'm using iAd interstitial ads in my game and the dashboard results are very low compared to my own analytics. The game is built with Xcode 6.4. The iAd dashboard says the game is live and receiving ads, and every test I have done has always showed me the ad when I expected.


I am checking "loaded" prior to attempting to display iAd, then logging an analytics event, then calling presentFromViewController. The code has always worked well in the past and as I said, every single test has worked perfectly.


A code excerpt is here:

{
  if(iadInterstitial!=nil) {
      if(iadInterstitial.loaded) {
          // (Code to log analytics event was here)
          [iadInterstitial presentFromViewController:g_controller];
     }
  }
}


Recently (a week or so ago) I moved iAds to higher priority in my mediation. In the last 4 days, my analytics show that I have displayed about 10,000 iAd interstitials, but when I go to the itunesconnect site, it shows only about 2000.


After the ad is torn down, or if it fails to load with an error, etc, I set up to load a new one:

// Clean up the old interstitial...
    if(iadInterstitial!=nil)
    {
        iadInterstitial.delegate = nil;
        [iadInterstitial release];
    }
    // and create a new interstitial. We set the delegate so that we can be notified of when
    iadInterstitial = [[ADInterstitialAd alloc] init];
    iadInterstitial.delegate = self;


Thoughts anyone?