Advertising Creative Guidelines – Updated for HTML5

Posted by IAB Australia On July 16, 2018 Guidelines & Best Practice

The IAB Australia Display Creative and Mobile Creative Guidelines have now been updated from the initial version released in October 2016 and more fully embrace HTML5 technology as the new standard for ad creatives.

These creative updates are the result of testing diverse HTML5 ad creatives for load performance and user experience to determine the optimum specifications for allowed file sizes and other HTML5 considerations. 

Download the Guidelines here.

IAB Australia approved shared libraries resource

Shared Libraries are JS and/or CSS libraries commonly used across HTML5 ads to support ad execution. These commonly used JS libraries are utilized across many sites and millions of ad impressions, for this reason they are most likely already stored on a user’s cache on their local machine, saving a browser and subsequently a user from having to request the files again from the server.

On page request, the browser looks at an asset with various HEADER values on the request (such as cache-control and max-age), allowing it to quickly confirm if the asset library from the server has been modified or not, if it hasn’t, then the one from the local cache is used. Per the above they are almost always retrieved from the local cache which saves them from be re-downloaded from the origin server.

As best practice, one should always use the approved shared libraries by serving partners when their functionality is required by ensuring they are incorporated into your advertisements this will create the most optimal experience. This has the benefits of reducing latency, improving performance, page and creative load times overall and also ensuring file weight is reduced. This leads to quicker asset requests from the local cache as they don’t have to be re-downloaded.

Key benefits publishers will see is where ad server architecture libraries that are required for general ad delivery and ensuring creative functionality will not need to be requested for each impression. As these are core libraries used across the web there will be rare instances where they will not be stored.

In the infrequent instance where changes are made to these files the local cache will update for the first file it is exposed to, then shared across subsequent sites and advertisements, resulting in further efficiency compared to less-common libraries that might only be used against a handful of sites.

Other types of Shared JavaScript and/or CSS libraries are those that are used regularly by developers for providing extensible functionality & animation within advertisements, however the same shared caching needs to be considered as these are used across a significant portion of the web, resulting in a high chance that they are stored in a user’s cache.

Below are the most commonly used libraries from Sizmek and Google, most of which tend to be JQuery, Greensock, CreateJS and Edge (among others).


Links to hosted approved shared libraries

Sizmek Ad Serving Shared Libraries:

Google Hosted Libraries:

DoubleClick hosted JavaScript libraries:


Approved Libraries


DoubleClick hosted JavaScript libraries

Instead of uploading JavaScript libraries with your creative, replace any references to common JavaScript libraries with DoubleClick hosted URLs. These libraries are hosted on the same domain as your live ad will be.

DoubleClick is working with the IAB to get these resources shared and cached by many creatives so they can be excluded from the initial load of your ad.

For each library below, you’ll find the URL and a script tag. If you’ve already added the original library URL to your HTML file, you can copy and replace the URL in the existing script tag. If you’re starting from scratch, you can copy the full script tag to your HTML file to load the library.

Create JS


DoubleClick hosted URL

HTML script tag

CreateJS (full library)

<script src=””></script>


<script src=””></script>


<script src=””></script>


<script src=””></script>


<script src=””></script>


<script src=””></script>


If you use Google Web Designer, you don’t have to manually copy and paste these URLs into script tags in your file to include them. Instead, follow the steps below to include a DoubleClick hosted GreenSock library in your file.

Switch to Code view.
Click File > Include JS library > GreenSock.
Select the library to include. A script tag will be added to your file that loads the DoubleClick hosted library.

DoubleClick hosted URL
Attr Plugin
<script src=””></script>
Bezier Plugin
<script src=””></script>
CSS Plugin
<script src=””></script>
CSS Rule Plugin
<script src=””></script>
Color Props Plugin
<script src=””></script>
Directional Rotation Plugin
<script src=””></script>
<script src=””></script>
Easel Plugin
<script src=””></script>
<script src=””></script>
EndArray Plugin
<script src=””></script>
jQuery GSAP Plugin
<script src=””></script>
Modifiers Plugin
<script src=””></script>
Pixi Plugin
<script src=””></script>
Raphael Plugin
<script src=””></script>
RoundProps Plugin
<script src=””></script>
ScrollTo Plugin
<script src=””></script>
Text Plugin
<script src=””></script>
<script src=””></script>
<script src=””></script>
<script src=””></script>
<script src=””></script>



(Note: The code in the shared libraries is updated regularly; therefore, file sizes that are noted in the following sections are estimates.)

Ad Serving Shared Libraries

Ad serving shared libraries are located in the Ad folder, for example,

ebHtml5Banner.js HTML5 banner – Rich Media banner format, without expansion or polite-load functionality. 84189 bytes
ebHtml5Banner_api.js Extra functionality for HTML5 Standard Banner. Mostly used by custom formats. 89212 bytes
ebHtml5PoliteBanner.js HTML5 Polite Banner – Allows downloading banner in a polite mode. 85876 bytes
ebHtml5PoliteBanner_api.js Extra functionality for HTML5 Polite Banner. Mostly used by custom formats. 90822 bytes
ebHtml5SEBanner.js HTML5 Single Expandable – Rich Media expandable, where the collapsed and expanded states are the same HTML element. 93020 bytes
ebHtml5SEBanner_api.js Extra functionality for HTML5 Single Expandable. Mostly used by custom formats. 98448 bytes
ebHtml5ExpBanner.js HTML5 Expandable – Rich Media expandable where panel and banner are different HTML elements. Supports multiple panels. 103653 bytes
ebHtml5ExpBanner_api.js Extra functionality for HTML5 Expandable. Mostly used by custom formats. 109962 bytes
eb4thParty.js Ad which is called 4th party. Ad is from Celtra and not from Sizmek. 64147 bytes
ebTracking.js Ad for tracking only; measures Verification and Viewability. Ad is not from Sizmek. 63423 bytes
ebTracking_api.js Extra functionality for ebTracking, used when a custom script is attached to the ebTracking ad. 69487 bytes
ebHtml5InstreamBanner.js HTML5 In-Stream Banner – Similar to ebHtml5Banner but with extra functionality for In-Stream. 84341 bytes
ebVisibility.js Viewability detector, for when a non-expandable ad is served into a cross-domain iFrame and the site includes the Sizmek iFrame-buster file. 68342 bytes
ebVisibility_api.js Extra functionality for ebVisibility, for when a custom script is attached to the ad. 73207 bytes

Creative HTML5 Shared Libraries

Creative Shared Files

HTML5 Resource
HTML5 resources are located in the HTML5Res folder, for example,
EBLoader.js Loads the EB and all of the relevant EB modules of the ad. This file is located under and is not cached. 2698 bytes
EB.js Exposes the API to the ad. 25612 bytes
EBV.js For HTMLl5 ads that use video elements for reporting video interactions. 1888 bytes
EBSV.js Supports SV/MV ads. 4308 bytes
EBCat.js Supports DCO catalog ads. 5040 bytes
EBCMD.js For MRAID ads. Exposes additional API for ads that are served on a mobile application. 26121 bytes
EBCOMM Enables communication between the iFrame windows of various ad elements on the same page. 1193 bytes
EB_api.js Extra functionality for ads. Mostly used by custom formats. 4301 bytes
EBVPAID.js For In-Stream ads. Communicates between the VPAIDAPI and the asset. 6011 bytes
VPAID/HTML5 files for In-Stream ads are located in the VPAID/HTML5 folder, for example,
VPAIDAPI.js Main file in In-Stream that is loaded by the player. 16332 bytes
SZMKFLVPAIDBR.js File in VPAID format that finds data about the player and the In-Stream ad, for example, player parameters. 7116 bytes
AdKit file is located under the adkit folder, for example,
adkit.js Includes ad related functionalities that assist in the quick and easy development of HTML5 ads.  70900 bytes

Shared files for additional resources

Additional resources are located in the Modules folder, for example,

AdChoice.js Handles the IAB icon data – Indicates to users when interest-based advertising data is collected or used by clicking on the icon. 3026 bytes
AdStackingDetector.js Manages detection of adStacking and other fraud activities. 2516 bytes
DelayedImpressions.js Reports the delayed impression to the server. 860 bytes
VisibilityManager.js Manages the visibility and determines which provider is the best to measure visibility. 4836 bytes
GeometricVisibilityProvider .js Viewability for same-domain page scenarios (no unfriendly iFrames). 2324 bytes
GridVisibilityProvider.js Cross-domain viewability for IE11. 1928 bytes
IntersectionObserverVisibilityProvider.js Cross-domain viewability for modern browsers that support IntersectionObserver (Chrome, Firefox, Edge, Opera). 1042 bytes
FFVisibilityProvider.js Visibility for old versions of Firefox, that do not support IntersectionObserver. 866 bytes
MraidVisibilityProvider.js Viewability for MRAID ads. 272 bytes


Cross-domain viewability detection using flash pixels

2759 bytes
MouseVisibilityProvider.js Cross-domain viewability for IE9, IE10. 2724 bytes
DCO.js Handles DCO in ads. 1897 bytes
MMINT.js Visibility mode is not default mode, and both mmAuction and mmAdvertiser are set. 845 bytes
MraidUtil.js Helper module for MRAID ads. 3384 bytes
MraidLoader.js Helper for a few specific scenarios in MRAID serving. 510 bytes
Research.js Fraud detection 542 bytes

3rd Party Shared Libraries

3rd party shared libraries are located in the libraries folder, for example,


  • jquery.js
  • jquery.min.js
  • jquery-2.1.4.min.js
  • jquery-ui.min.js


  • TimelineLite.min.js
  • TimelineMax.min.js
  • TweenLite.min.js
  • TweenMax.min.js
  • easepack.min.js
  • cssplugin.min.js


  • createjs-2015.11.26.min.js
  • preloadjs.min.js
  • preloadjs-0.4.1.min.js
  • soundjs.min.js
  • easeljs.min.js
  • easeljs-0.7.1.min.js
  • movieclip-0.8.1.min.js
  • movieclip-0.7.1.min.js
  • tweenjs.min.js
  • tweenjs-0.5.1.min.js


  • HYPE-584.full.min.js
  • HYPE-584.thin.min.js
  • HYPE-578.full.min.js
  • HYPE-578.thin.min.js
  • HYPE-576.full.min.js
  • HYPE-576.thin.min.js
  • HYPE-552.full.min.js
  • HYPE-552.thin.min.js
  • HYPE-550.full.min.js
  • HYPE-550.thin.min.js
  • HYPE-538.thin.min.js
  • HYPE-526.full.min.js
  • HYPE-526.thin.min.js
  • HYPE-518.full.min.js
  • HYPE-518.thin.min.js
  • HYPE-466.full.min.js
  • HYPE-466.thin.min.js


  • edge.6.0.0.min.js
  • edge.min.js
  • edge.min.customforamazon.js


  • modernizr.min.js


  • video.min.js
  • video-js.min.css
  • videojs.vast.vpaid.min.css



The Google Hosted Libraries is a stable, reliable, high-speed, globally available content distribution network for the most popular, open-source JavaScript libraries.

Google works directly with the key stakeholders for each library effort and accepts the latest versions as they are released.


To load a hosted library, copy and paste the HTML snippet for that library (shown below) in your web page. For instance, to load jQuery, embed the <script src=””></script> snippet in your web page.

We recommend that you load libraries from the CDN via HTTPS, even if your own website only uses HTTP. Nowadays, performance is fast, and caching works just the same. The CDN’s files are served with CORS and Timing-Allow headers and allowed to be cached for 1 year.

Shared Libraries
<script src=””></script>
1.13.0, 1.12.3, 1.12.2, 1.12.1, 1.11.5, 1.11.4, 1.11.3, 1.11.2, 1.11.1, 1.10.9, 1.10.8, 1.10.7, 1.10.6, 1.10.5, 1.10.4, 1.10.3, 1.10.2, 1.10.1, 1.10.0, 1.9.11, 1.9.10, 1.9.9, 1.9.8, 1.9.7, 1.9.6, 1.9.5, 1.9.4, 1.9.3, 1.9.2, 1.9.1, 1.9.0, 1.8.14, 1.8.13, 1.8.12, 1.8.11, 1.8.10, 1.8.9, 1.8.8, 1.8.7, 1.8.6, 1.8.5, 1.8.4, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.12, 1.7.11, 1.7.10, 1.7.9, 1.7.8, 1.7.7, 1.7.6, 1.7.5, 1.7.4, 1.7.3, 1.7.2, 1.7.1, 1.7.0, 1.6.5, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.6, 1.5.5, 1.5.4, 1.5.3, 1.5.2, 1.5.1, 1.5.0, 1.4.8, 1.4.7, 1.4.6, 1.4.5, 1.4.4, 1.4.3, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.3, 1.2.0, 1.1.1
Ext Core
<script src=””></script>
3.1.0, 3.0.0
<script src=””></script>
Indefinite Observable
<script src=””></script>
3.x snippet:
<script src=””></script>
2.x snippet:
<script src=””></script>
1.x snippet:
<script src=””></script>
3.3.1, 3.2.1, 3.2.0, 3.1.1, 3.1.0, 3.0.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.4, 2.1.3, 2.1.1, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 1.12.4, 1.12.3, 1.12.2, 1.12.1, 1.12.0, 1.11.3, 1.11.2, 1.11.1, 1.11.0, 1.10.2, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.2, 1.7.1, 1.7.0, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.6, 1.2.3
(note: 3.3.0, 2.1.2, 1.2.5 and 1.2.4 are not hosted due to their short and unstable lives in the wild.)
jQuery Mobile
<link rel=”stylesheet” href=””>
<script src=””></script>
1.4.5, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0
note:(This library depends on jQuery. You must also load jQuery before loading this module.)
jQuery UI
<link rel=”stylesheet” href=””>
<script src=””></script>

1.12.1, 1.12.0, 1.11.4, 1.11.3, 1.11.2, 1.11.1, 1.11.0, 1.10.4, 1.10.3, 1.10.2, 1.10.1, 1.10.0, 1.9.2, 1.9.1, 1.9.0, 1.8.24, 1.8.23, 1.8.22, 1.8.21, 1.8.20, 1.8.19, 1.8.18, 1.8.17, 1.8.16, 1.8.15, 1.8.14, 1.8.13, 1.8.12, 1.8.11, 1.8.10, 1.8.9, 1.8.8, 1.8.7, 1.8.6, 1.8.5, 1.8.4, 1.8.2, 1.8.1, 1.8.0, 1.7.3, 1.7.2, 1.7.1, 1.7.0, 1.6.0, 1.5.3, 1.5.2

(note: This library depends on jQuery. You must also load jQuery before loading this module. Version 1.8.3 is not hosted due to its short life, and the alias 1.8.3 actually loads 1.8.4.)

<script src=””></script>

1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.5, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.1.2, 1.1.1

(note: For versions 1.5.1 and earlier, the filename of the minified version is called mootools-yui-compressed.js instead of mintools.min.js.)

Myanmar Tools
<script src=””></script>

recommended versions: 1.0.1

all hosted versions: 1.0.1

<script src=””></script>,,,,,,
<script src=””></script>

1.9.0, 1.8.3, 1.8.2, 1.8.1

note: (This library depends on Prototype. Before loading this module, you must load Prototype.)

Shaka Player
<script src=””></script>
recommended versions: 2.4.2, 2.3.10, 2.2.10, 2.1.9
all hosted versions: 2.4.2, 2.4.1, 2.4.0, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.10, 2.2.9, 2.2.8, 2.2.7, 2.2.6, 2.2.5, 2.2.4, 2.2.1, 2.2.0, 2.1.9, 2.1.8, 2.1.7, 2.1.6, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.9, 2.0.8, 2.0.6, 1.6.5
<script src=””></script>
2.4.0, 2.3.2, 2.3.1, 2.3.0, 2.2.0, 2.1.2, 2.1.1, 2.1.0, 2.0.1, 2.0.0
<script src=””></script>
2.2, 2.1
<script src=””></script>
r84, r83, r82, r81, r80, r79, r78, r77, r76, r75, r74, r73, r72, r71, r70, r69, r68, r67, r49
Web Font Loader
<script src=””></script>
1.6.26, 1.6.16, 1.5.18, 1.5.10, 1.5.6, 1.5.3, 1.5.2, 1.5.0


Seeing an outdated version? Make sure you’re not using the “automatic version” links, like /jqueryui/1/…, but instead use URLs referring to exact versions. Due to concerns over caching and lack of compatibility between even minor versions, we have deprecated and stopped updating the automatic version aliases some time ago, so they will forever refer to an old version (in order to not break existing sites that still use them).

If you encounter problems:

Look for typos. Remember that JavaScript is a case-sensitive language.
Use a JavaScript debugger. In Chrome, use the Chrome DevTools. In Firefox, you can use the built-in Firefox DevTools. In IE, you can use the F12 developer tools.



Flashtalking’s shared libraries originate from the following root path.

Current Creative API: 

Older API:

Optional Modules:



AdBuilder API:


Adobe Edge

Adobe Edge 6.0.0 


Create JS


Create JS 1.0


Create JS older than 1.0


Greensock Animation Platform

(If you need a version older than 1.16.0, please ask Flastalking)


Greensock Latest


Greensock 1.20.1


Greensock 1.20.0


Greensock 1.19.1


Greensock 1.18.0


Greensock 1.17.0


Greensock 1.16.1

Greensock 1.16.0




jQuery 3.3.1 


Three JS


Three JS r90


Three JS r83


Three JS r82


Three JS r81


Three JS r80


Three JS r79


Three JS r78


Three JS r77

Three JS r76


Three JS r75


Three JS r74


Three JS r73


Tumult Hype


Tumult Hype 545 – 604



IAB Australia

IAB Australia is the peak trade association for online advertising in Australia. As one of over 43 IAB offices globally and with a rapidly growing membership, the role of the IAB is to support sustainable and diverse investment in digital advertising across all platforms in Australia.