Here's how a typical banner/adspace currently works:<p>1. The ad/banner space downloads a javascript file<p>2. Javascript runs, collects browser+cookie+other identifying information and sends it on up to an ad exchange<p>3. The ad-exchange systems cross-reference the information it receives with other information it already has (think huge low latency k/v store) in order to try to identify you further, perform cross-device identification, save more information<p>4. The ad-exchange system then rolls all this information together and fans out this package saying "here is a male aged 25-35 who likes ponies and bick shaving cream" to dozens or hundreds of partnered ad providers<p>5. Each ad provider looks at their content, finds a close match, and then bids on how much they would pay in order to serve content to this person<p>6. Ad-exchange receives all the bids and picks the second highest bidder (no idea why it's the second highest)<p>7. Ad-exchange then sends this second highest bidder's ad URL back to the waiting javascript running in the users browser, and ad-exchange marks the winning bid so it knows who won/who has to pay at the end of the month.<p>8. From 1 to here usually has an SLA of occurring in less than 170ms<p>9. User's browser then loads up the response URL and the ad displays<p>Asking website operators to host their own thing is feasible, but perhaps not worthwhile. The big money maker in adspace is targeted advertising, and small sites will never have the infrastructure to be able to really identify anybody but perhaps their core users. Others have mentioned reverse proxies to make content appear as if it came from the target site, and that may exist, but the reality is whatever these guys do is currently being defeated pretty handily by community driven ad blocking. Perhaps we will eventually see what you're talking about though
Generally ads pay up to an order of magnitude more if there is some level of tracking and targeting available, and that's what most ad blockers target. Paying a bunch of money to show ads to who-knows-who who-knows-how-many-times isn't very valuable. Paying money to show ads to owners of Shitzus that make over $100,000/year is worth $12/click.<p>I'm pretty certain that as ad blockers grow there will be a lot more work-around (doing the work on the backend and serving up static HTML or a lot more native ads), but ad blockers aren't <i>quite</i> to the level that it's worth it to make those changes.
I guess one of the "benefits" of serving ads from a third party site is that you can cookie the user on the thirdparty domain, and build a profile as the user moves between participant sites. ("Re-targeting"). Serving ads from a first party domain likely loses this information since there won't be a shared cookie? Also it might complicate installation (you'd need to install some server side software that fetches ad content from the ad network, and probably some custom development to integrate it without being caught by a one-line rule in adblock?)<p>Also! With more and more ads running javascript based animations, you really don't want shady ad-network-provided JS running in the context of your main site. (XSS)
We do that but Ad-blockers block even those ads. We have our own text-based adds like Google Adsense text ads which are just <div> tags and those get filtered out as well.
Counting Impressions.<p>A different model is needed if the publishers servers have to get the ad first and then give it to the client because the ad server then needs to trust the publisher to report impressions honestly and the publisher has an incentive to inflate that number.
Ads have many specialized requirements that you wouldn't really want to build yourself. Tracking, tokenization of url parameters, rotating ads to meet impression goals, and typically advertisers have build their ads to be served by major ad networks, so you would have to replicate their systems to support those ad units. Ads are way more complicated than most people realize.
I believe a website is responsible for everything that is delivered and all tracking that happens when they publish a page and deliver it. They don't get to segregate their content from ad content and wash their hands of responsibility for any lies or misuse of data by the later.<p>So forcing domains to host the ads they insert and all the tracking that goes with makes that more explicit and thus a good thing.
The reason is one. And it is because ad blockers actually do not affect both the publishers and ad companies that much. About only less
5% of the internet users world wide have ever employed ad blockers (<a href="http://www.channelnewsasia.com/news/business/in-bringing-ad-blocking-t/2128856.html" rel="nofollow">http://www.channelnewsasia.com/news/business/in-bringing-ad-...</a>). I am sure they will move ad serving to the backend when they get better reasons to shun of client side technology. Its just not worth it....yet.
Because advertisers don't trust publishers. They need a third party agency with no immediate interest in the game that could guarantee reliable reporting. For example if the ads are served from the publisher then the advertising network has no way of identifying fake clicks/impressions made by botnets.
If I made an ad system that needed to track a user, I would want to use my own domain because then I can save the user's state between websites using my own domain's local storage.
Ad blockers don't just block domains. They also block (full) url patterns, which are easily adapted to sites (and there are many) which host ads for themselves.
Followup question to some folks within the ad industry which I'm sure are reading:<p>I serve Google AdSense on one of my sites with 10'000 - 20'000 ad impressions daily. What amount of $ would one expect to make with those impressions if changing ad networks away from Google? Any recommendations?
Are you starting from a false assumption? Delegation seems like the logical answer. Content publishers already delegate out a DNS label/domain for CDNs. Why wouldn't they also delegate a DNS label/domain to a third party for ad infrastructure?