Prefetching ads involves making a call for an ad from the advertiser prior to displaying it. The benefit of this is the ability to show the ad right away rather than having to wait for the ad request to be made since it was already done previously. The user experiences a faster load time since the ad only needs to be rendered rather than requested and rendered.
An example would be an app that is scheduled to display an ad to the user once they complete a level in a game they are playing. The app would pre-fetch the ad prior to the user completing the level and then once the level is completed the ad would be displayed. It would be displayed very quickly since it had already been requested and the ad code downloaded.
There are two potential issues with prefetching ads. The first is if the ad is prefetched too far in advance of it being displayed. Many advertisers set a time limit for when the ad will expire and their will be no compensation if it is shown once it has expired. So if an ad is prefetched and not shown within the required time limit than a publisher may not be paid for it even though they displayed it.
The second potential problem is if the ad is never shown. This does not affect the amount paid to the publisher but it could dampen the relationship between publisher and advertiser if it occurs often. The impact of requesting an ad and showing a filled request is calculated as the use rate (Ads Displayed / Filled Ads Returned by Advertiser). Some advertisers care about use rate and some do not, but the advertisers who do care may begin to fill less of the requests sent by a particular publisher if their use rate is low.
Caching ads is very similar to prefetching, and involves saving the ad code and using it some time in the future. If done properly within the permitted time limit it will function properly. Besides the prefetching issues listed above, the other problem is when publishers use cached ad code more than once. Most ad code is meant to be used only once, and if it is used multiple times then a publisher may not be compensated for the display of it after the first time. Using the same code multiple times can result in much lower revenue than the publisher may have been expecting.
Prefetching and Caching ads can benefit mobile site and app users, but if you plan to use these methods you should check with your advertisers first to make sure they approve of your implementation of their ads so you can be assured that you will be compensated for displaying them.