first of all let me pretext all this with the fact I have been working in online advertising for about 5 years for a caouple of major publishers and now an agency side adserving company. The industry as a whole has a glut of technical knowledge and is mostly sales driven. Calls to adservers usually use a call to an external javascript file which is dynamically generated by the adserver. When this call is made it passes along some variables to let the adserver know how that position is targeted. At this time some tracking also happens, so the system will count an impression against a certain ad. For this reason caching can't be done - the system has to record and decide which ad to return on the fly to make sure delivery is correct and possibly even do some optimizations around which ad to show. Think of it as a giant decision engine which also collects data and uses that to decide what to serve next. There is another way to call in an ad, and that is to use Iframes, unfortunately these will point at a different domain so it isn't possible to resize or do anything outside the box, unless the ad being served is a rich media provider who are allowed to have another little html page on the site's domain they can call up and then use to write back to the main page. Because of all the different types of javascript that can be served back depending on the company providing the ad, the ad has to be put in place if using javascript as it will often look at where in the DOM the script is called. There are too many providers doing different things, and the only way to make things work is to call it straight in.