Got ad performance problems? Find out!

We saw that Google Analytics now supported Page Load Time metrics out-of-the-box and started thinking about how we might be able to use GhostWriter’s insights into third-party content (read: ads) performance to give users of both GhostWriter and Google Analytics highly granular performance measurements.
GhostWriter’s hooks allow you to execute custom call back functions at the beginning and end of each ad call. The hook records the timing of each of these events and submits custom events to Google Analytics using its _trackEvent() method. We’re using this page to test.

Ad Load Time Reports

Check out this eye candy. All Event values are in milliseconds.

Average loads times:

loadTime Average By Position

Distribution of ad load times:

loadTime Distribution

Ad Position Starting Times

You can also see start offset times — the difference between the start of the page and ad loading.

Average start time by position

startOffset Average By Position

Start time distribution for 300×250-1 position

startOffse Breakdown

No Ghostwriter? No problem …

If you’re willing to put in some extra work, you can collect these metrics even if you’re not a GhostWriter customer. You’ll need to add a new <script> element below each of your ad calls and include this script. on your page. (This assumes you all ready have GA working to track pageviews)

tracker= new ghostLoadReporter( "300x250-1" )
// Normal ad loading code here ...
WARNING: It is NOT sufficient to simply add the tracker.end() calls after your ad loading code. It must be in a separate script block.

This will let you start collecting the start offset and load time metrics for the ads on your page; however, you’ll be limited to just being able to collect this data. With GhostWriter, however, you will soon be able to get what I know you’re really after.

Analyzing The Entire Chain

Knowing start and end times for the ads on your page is great. The only problem is, you have no idea why some ads are slower. GhostWriter can fill that knowledge gap, giving you a breakdown of the URLs that contributed to an ad’s slowest. With this data, you can actually troubleshoot reports of your ads are making the site slow using empirical evidence.
Our GhostWriter bubbles page shows a little bit of what we mean. After loading the ads, little “bubbles” appear above each one that tell you the start and end times for the entire ad. These two metrics are what we’re reporting into GA today. Expanding the bubbles, however, shows the entire daisy chain of delivery — It captures the load times for every SCRIPT, IMG, IFRAME and EMBED element along with the URL.

We’ll be reporting this level of detail shortly and let you identify which domains contribute most to latency. It’s a great way to keep an eye on your third-party content providers, many of whom have an SLA guaranteeing a certain quality of service.

We know you’re excited so we’ll get back to work!

If you’re interested in monitoring third-party content but not letting it impact the performance of your content, check out how GhostWriter puts you in complete control and check out our Free Trial.

With over a decade of experience creating, implementing and managing solutions, Will possess unparalleled technical and engineering skills. During his career he has delivered numerous solutions while also working closely with technology providers to assess their technology, and make certain it was scalable and reliable to meet the needs of large and complex organizations. Will has deep expertise in performance engineering and web optimization through implementing and supporting highly-available, high-capacity systems and applications and integrating those systems within existing infrastructure. Solutions delivered under his guidance and leadership are capable of delivering perceived performance improvements in excess of 50%, while also giving greater control to the delivery of page elements. Will has leveraged a wide variety of technologies during his career and is intimately familiar with DoubleClick, OpenX, ADTECH, JavaScript, iFrames, Saxotech, Unix, Linux, Ruby on Rails, Drupal, Pluck SiteLife and many other technologies.


Will, this is a really fantastic article - very creative use of the new Page Load functionality. I would say another smart thing to do would be to set up an alert through the system to automatically send a notification of any significant uptick in ad load timing.

I'd like to see how this might work w/ 3rd party pixels or a tag management solution to measure the potential latency impact.

Rocket Fuel