In an ideal world we shouldn't be comparing GA data with data from an ad server for a number of reasons.
GA is not an appropriate tool for counting actual clicks or ad traffic. It often gets blocked by office software and uses sampling to extrapolate data. In addition if the number of ads you have per page varies between pages than using page views to calculate impressions will always be an estimate. Whereas an ad server will count every successfully delivered impression. Once a creative has been fully rendered on the page a call is made back to the ad server in the form of 'lg.php' script and the impressions is recorded.
GA can be a very powerful tool, but only to compare between different campaigns in a percentage basis rather than specific click or impression ad traffic. The largest potential impact on data accuracy comes from users deleting or blocking Google Analytics cookies. Without cookies being set, GA cannot collect data. There are a number of additional limitations that make this comparison not suitable but I will not list them all.
However that being said using GA has recently helped some clients to identify errors in their set ups. If based on your GA data you would expect to be seeing far more impressions being served than are being recorded in the ad server, it is most likely because an impression is not being served at every given opportunity. In most cases to date the cause of this is not utilising remnant inventory with proper use of a remnant campaign. We always recommend that you have a remnant in place that has no limitations and no capping. This acts as you fail safe, it ensures an impression is delivered at every possible opportunity. When this is not the case you could have page views without impressions, so if you have considerably higher page views on in GA than you do impressions in the ad server, review your remnant campaign set up.