By Manuela Moser and Andreas Kühner
As part of the New Ad Portfolio, the concept of initial load and sub load was introduced to replace the previous “polite download”. This concept provides for the division of the total file weight into an initial load and sub load. The purpose of the initial load is to limit the file weight and requests that the creative loads while the page is loading. This enables faster page loads while allowing rendering and display of the ad creative at the time of page load.
Once the initial load is complete, it is necessary to ensure that an advertiser’s creatives appear on the ad space, so that the ad can be scattered directly with the page’s layout. This is also the time to check the technical KPIs, such as determining the ad impression or the starting point to measure visibility, etc.
For elaborate creations e.g. rich media creatives where the permissible file weight (initial load) is insufficient, additional content can be loaded up to the specification limit (subload). The subload is triggered by the event of the main page “readystate = complete .” Since this event is not accessible in all integration variants, the OVK Unit Adtechnology has defined the following solution to determine the trigger for the subload.:
- Direct access to the readystate event of the main page
- Alternatively: Wait for the postmessage signal “IAB_HOST_LOADED” handed over from the main page
- The maximum waiting time is limited to 4 seconds
Important: It has to be ensured that the subload is only started once per advertising medium, since under certain circumstances corresponding signals are handed over several times.
The solution details and code examples are available at the following link: https://github.com/Unitadtechnologystandards/Initial-Sub-Load
The specification limits for the file weights are thus significantly increased compared to the previous limits allowing for such creative execution while enabling faster page load time. In return, the weights of all items that are transferred together with the advertising material must be added up.
The project was successfully implemented by the Unit Ad Technology which is part of the Circle of Online Marketers (OVK) within the German Association for the Digital Economy (BVDW).
Initial load – Subload Library
In this section, we explore the execution of above concept.
Intention of the code is to provide a single point at which a creative can determine to start the subload. A creative should only start the subload if the host page is loaded, or the creative can not possibly determine when the host is loaded.
The code should be as simple as possible, while providing enough functionality to cover all possible use cases.
We check for common cases in an ad delivery setup:
- Creative is directly written to the host page and can communicate freely with the host
- Creative is written into a same-domain iframe, the creative can still communicate easily with the host but has to factor in the window scope of the host
- Creative is written into a cross-domain iframe, without a mutual accepted communication standard, the creative can not directly communicate with the host
- Creative is written into a cross-domain iframe, however host and creative have agreed on a standard to communicate. The host can send a message to the creative, when to start subload
Only in the event that neither host and creative can communicate with each other (case 3.) will the creative wait for a predetermined time (here 4 seconds), and start the subload on its own accord.
https://github.com/Unitadtechnologystandards/Initial-Sub-Load
The code is intentionally set up to take the basic concept and integrate into any already existing frameworks and code examples (either IAB or other). The code does not leak any variables in the global scope, but could easily be adopted to function under different namespaces (for example when integrated into a rich media vendor library).
It needs to be present inside the creative, preferably in its minified version (see fiddle).
For the creative to start the subload, it needs only to listen to one specific event: “iabSubLoadStart” via the javascript standard method window.addEventListener. No other changes or considerations from the creative are needed.
For full functionality, a Publisher would need to insert code for the 4th case into its site. If the Pub delivers via a cross-domain iframe, it needs to send the postmessage “IAB_HOST_LOADED” to that iframe, as soon as the host page is fully loaded. However if a Publisher can not, or does not want to do this, the creative will still function and start the subload after giving the host some time to load content (case 3).
ABOUT THE AUTHORS
Manuela Moser, Head of AdOperations, Postr Media Ltd. and Freelance Consultant AdTechnology
Manuela Moser is a digital media professional empowered by 15+ years of strategic ad operations and ad technology experience. She has been a member of the OVK’s Ad Technology Unit and helped to create standards for online advertising in the German market for more than 6 years
Andreas Kühner, Head of UIM Technical Application & Media Management, United Internet Media GmbH
After successfully completing his diploma in Business Administration and Engineering at the University of Karlsruhe (TH) in 2006, Andreas Kühner became involved in the online advertising business. He is responsible for technical digital marketing at United Internet Media GmbH. In addition, the media technology and ad management expert leads the OVK’s Ad Technology Unit.