Visualising Online Advertising Performance

January 29, 2015

Visualising online advertising campaign performance is an important part of the advertising industry; it allows an advertiser to observe the performance of a campaign and determine whether or not it provided adequate return on investment. This group design project focused on the improvements made to an advertising agency’s internal dashboard. The work involved takes inspiration from the data available at the time, developing a new API and Dashboard system in order to provide a better method by which to access the data. The end result is a fully functional, well-designed Dashboard, with a multitude of novel ways to view campaign statistics. Dashboard Home - Client information removed When designing a dashboard, it was observed that the key information needs to be clearly presented and easily accessible; users are often rushed and many lack techincal ability. Therefore, a fully customisable overview/home page was created to allow a user to configure the metrics and graphs they were interested in seeing. Time was taken to reduce duplicate information and minimise site navigation. Extensive reseach was used to find the infographics best suited for particular data, for example the geographical page made use of an interactive world map to display the density of a metric in regions with increasing granularity. Dashboard Geographical Many users are also interested in downloading specific campaign information in the form of a report or spreadsheet. Therefore, a system was implemented allowing users to click the export button accompanying any infographic and have it added to a “data basket”. By making data download similar to the online shopping experience, users quickly learnt how to export the information they required. Infographics and data could be downloaded in a variety of formats, including a PDF report which made use of a custom LaTeX build process. Dashboard Export As this product was customer facing, an extensive suite of tests was run to ensure the system behaved as expected. The use of CasperJS was used to create a navigation scenario to test front-end changes, QUnit for unit-testing client-side JavaScript, Nose was used to achieve 100% code coverage for the accompanying API, and Travis — the continuous integration tool — ensured any pushed changes to the git repository did not impact functionality.

The noteworthy features of this project include:

  • Writing a custom RESTful API to serve the campaign data;
  • Using the D3 library to create an extensive set of infographics;
  • Providing a user the ability to add any infographic to a ‘data basket’, with an extensive selection of download options;
  • A customisable homepage with a selection of preset layouts;
  • An interactive geographical page, with increasing levels of granularity; and
  • Delivering the system with API documentation and a deployment manual.

All in all, the client was very happy with the system created and adopted numerous ideas into their own dashboard. The team was pleased with their efforts, and was rewarded with a mark in excess of 90%.

Languages: Python, Flask, JavaScript, Node.js
Collaborated with: Jamie Davies, Miles Armstrong, Chantel Spencer-Bowdage, Jack Flann, Ben Morton