A few months ago my finalized earnings started to differ significantly from estimated earnings,
with differences of more than 10 percent. Since the problem did not go away during the next months
and actually started growing, I got worried about getting my account banned for invalid activity.
I was suspecting that some of the changes I had made were causing the problem, but
rolling back all of the changes was not possible. And the problem is simply that in order to
see the effect of a change you need to wait for a full month until earnings are finalized.
Luckily, after some research I found a method that can help in this situation:
The basic idea is to serve Adsense through DFP and monitor any invalid activity by looking
at the reporting differences between Adsense and DFP.
When you serve Adsense through DFP you still get the usual reports from your Adsense account,
and additionally you can generate Adsense reports in DFP. The easiest measure to look at is
click count. For some reports in DFP you need to use the small "edit report" link at the
top to make the Adsense click count show up. Note that Adsense reports in Google Analytics
will stop working when you use DFP.
Reports from your Adsense account are not filtered (invalid clicks contribute to estimated earnings).
By contrast, DFP reports are filtered and do not include invalid clicks:
[
support.google.com...]
It makes sense that DFP filters clicks directly, since it can be used as an ad server for
campaigns with all sorts of durations, and therefore click counts need to be accurate on
a daily basis. It would make no sense for DFP to correct its reports at the end of the month.
In my case under normal conditions (without difference between estimated and finalized earnings)
the click count in the DFP report was about 20 percent smaller than in the Adsense report.
However during months with invalid activity (large difference between estimated and finalized earnings)
the DFP click count was about 30-50 percent smaller than in the Adsense report.
The advantage is that you can monitor the difference between DFP and Adsense click counts
on a daily basis, without having to wait for the end of the month. I have noted a delay of about
one day, i.e. if you change something today the data for tomorrow does not reflect the change yet,
but after two days you should see the effect. If your DFP account uses a different
time zone than the Adsense account you might need to average over a couple of days as well.
With some additional effort you can also monitor different sections of your site independently.
I was using URL channels in my Adsense reports, and have set up different ad units in DFP for
the corresponding sections of the site. That way you can compare click counts of an URL channel
with the click count of the corresponding ad unit in DFP and analyze each section of your site
independently.
By using this method I was able to isolate my problem, since only one
section was affected by invalid activity. The section included a piece of dynamic content I had
added months before, and maybe the javascript code was somehow interfering with Adsense. After
removing the dynamic content I could see the click count differences going back to normal within
a few days, and at the end of the month the finalized earnings were back in line with estimated earnings.
I just wanted to share this method since it was quite helpful in my case, and since it can be used
to detect invalid activity and keep your account in good standing with Google. For example
if you buy traffic from a new source or make changes to your site, you can verify that everything
is still okay by comparing the click counts in DFP and Adsense.