Jump to the content

On this page:

Accompanying web page for the paper "The Hidden Energy Cost of Web Advertising".

Page navigation:

Tools


The Hidden Energy Cost of Web Advertising

This is the accompanying web page for the paper "The Hidden Energy Cost of Web Advertising".

Abstract of paper

Advertising is an important source of income for many websites. To get the attention of the unsuspecting (and probably uninterested) visitors, web advertisements (ads) tend to use elaborate animations and graphics. Depending on the specific technology being used, displaying such ads on the visitor's screen may require a vast amount of CPU-power. Since present day desktop-CPUs can easily use 100W or more, ads may consume a substantial amount of energy. Although it is important for environmental reasons to reduce energy consumption, increasing the number of ads seems to be counterproductive.

The goal of this paper is to investigate the power consumption of web advertisements. For this purpose we used an energy meter to measure the differences in PC power consumption while browsing the web normally (thus with ads enabled), and while browsing with ads being blocked. 
To simulate normal web browsing, we created a browser-based tool called AutoBrowse, which periodically opens an URL from a predefined list. To block advertisements, we used the Adblock Plus extension for Mozilla Firefox. To measure also power consumption with other browsers, we used in addition the Apache HTTP server and its mod_proxy module to act as an ad-blocking proxy server.

The measurements on several PCs and browsers show that, on average, the additional energy consumption to display web advertisements is 2.5W. To put this number into perspective, we calculated that the total amount of energy used to display web advertisement is equivalent of the total yearly electricity consumption of nearly 2000 households in the Netherlands. It takes 3.6 “average” wind turbines to generate this amount of energy.


This paper is published in the CTIT Technical Reports 2010. Download the entire paper from the EEMCS print service.

 

AutoBrowse

AutoBrowse is available at http://randysimons.nl/overige/autobrowse/. Note that the list of URLs in this example might be outdated. You can obtain a fresh list using the instructions below.

Obtaining the URLs for AutoBrowse

To get a mixed, quasi-random list of current popular websites, you can use the API of Digg:

Tip: use Firefox and the XPather extension for convenience.

Apache as URL filtering proxy

Install the Apache webserver. Alternatively, you can use a pre-configured, all-in-one package including Apache like XAMPP.

To configure Apache HTTP server as a filtering HTTP proxy server:

  • Enable modules mod_proxy, mod_proxy_http
  • add to httpd.conf:
    Listen 8080
    
    <VirtualHost *:8080>
    	CustomLog "[path to logfiles]/access.log" common env=DOES_NOT_EXIST
    	ProxyRequests On
    
    	<ProxyMatch (\.adbrite\.com/)|(\.google-analytics\.com/)|(\.googlesyndication\.com/)|
    			(adsolutions\.com/)|(googleadservices\.com/)|(serving-sys\.com/)|(webwise\.net/)|
    			(\.advertising\.com/)|(\.atdmt\.com/)|(\.doubleclick\.net/)|(\.fastclick\.net/)|
    			(\.hitbox\.net/)|(\.intellitxt\.com/)|(\.irquest\.com/)|(\.ivwbox\.de/)|
    			(\.nvero\.net/)|(\.onestat\.com/)|(\.pokerroom\.com/)|(\.sitestat\.com/)|
    			(\.speedera\.net/)|(\.testnet\.nl/)|(\.tradedoubler\.)|(\.tribalfusion\.com/)|
    			(/ads/)|(/adserver/)|(/banners/)|(/phpadsnew/)|(blogads\.com/)|
    			(ikwilbereik\.nl/)|(nedstat)|(optimost)|(projectwonderful\.com/)|(reddion\.com/)|
    			(sitemeter\.com/)|(specificclick)|(webtrends.*/)|
    			(\.msn\.com/ads/)|(a\.as-eu\.falkag\.net/)|(ad\.)|(adpower\.)|(ads\.)|(adserv)|
    			(banner)|(count)|(rcm\.amazon\.com/)|(rd\.yahoo\.com/)|
    			(www\.theregister\.co\.uk/media/)|(www3\.buienradar\.nl/shop/)|
    			(event.*\.videostrip\.)|(media.*\.videostrip\.)|(.*hottraffic\.nl/)|
    			(.*statcounter\.com)|(.*tel\.geenstijl\.nl)|(.*schoorsteen\.geenstijl\.nl)|
    			(\.videostrip\..*/ads)>
    
    		Order deny,allow
    		Deny from all
    	</ProxyMatch>
    </VirtualHost>
  • Configure your browser to use a proxy server on [IP of Apache server]:8080
Site Information