Even Faster Loading Ads in AMP


As we’ve talked about before, we can’t improve the web for all if we don’t address how ads behave on web pages. At Google I/O earlier this year, we hosted a session on ads in AMP where we talked about the journey needed to get from supporting basic functionality of ads on AMP pages to enabling a truly excellent advertising experience on AMP pages for users, publishers and advertisers. As we described in the talk, our vision to accomplish this involved three phases:

The first phase was completed when the AMP Project originally launched nearly two years ago and as of last week, we have hit another milestone in this roadmap by completing phase 2. The rest of this post explains what we accomplished in phase 2.

Major ad networks like AdZerk, DoubleClick, AdSense and TripleLift are already serving AMP Ads, taking advantage of the infrastructure built in phase 2. This launch not only makes AMP Ads render faster, but also makes regular ads on AMP pages faster.

Launching Fast Fetch

The biggest addition in phase 2 is ‘Fast Fetch.’ With Fast Fetch, we separate when the ad request is made from when the ad response is rendered. This allows us to make an ad request very early in the lifecycle of the page for all ad slots and only render the ads before the user is about to view them.

This is in contrast to what we call ‘Delayed Fetch,’ the legacy mechanism of requesting ads. In Delayed Fetch, ad request and rendering are done in one action which results in the user seeing a ‘loading indicator’ waiting for the ad to load. Delayed Fetch also has an additional constraint: the runtime does not request the next ad slot on the page for at least one more second to avoid conflicts with regular page content being able to load.

With Fast Fetch, ads are requested much earlier in the lifecycle of the page, allowing page rendering and creative selection in the ad server to happen in parallel.

Fast Fetch is 850ms faster at the 50th percentile and 2.7s faster at the 90th percentile as compared to Delayed Fetch.

Collaborative rendering for AMP Ads

When the ad response is in AMP format (AMP Ads), the AMP runtime renders it immediately. If the response is a regular ad, the runtime needs to wait until the rest of the content on the page is loaded. This is possible because we can be sure that the AMP Ad is performant, but no such guarantees exist with non-AMP ads.

Based on DoubleClick and AdSense experiments, AMP Ads load up to 1.6 seconds faster at the 50th percentile and up to 5s faster at the 90th percentile.

The faster an ad appears on screen, the higher the viewability of the ad. This is beneficial for brand advertisers because this exposes the brand to a wider audience. This is also beneficial for performance-based advertisers because higher viewability increases the chances that a user will interact with the ad.

Launching new features for Fast Fetch

A number of publishers are experimenting with AMP as the format for serving their content on their primary website. To support publishers in these efforts, Fast Fetch will bring additional advanced ad capabilities to AMP in the future, such as:

  • Competitive exclusions and roadblocks for AMP pages
  • Ability to refresh ads at a configurable frequency
  • Support for enhancing ad requests with targeting information to the ad server in real-time

If you’re a publisher (or an advertiser):

Thanks to DoubleClick and AdSense, eligible ads are automatically converted to AMP when the ad request is from an AMP page. You can expect this volume to increase as more formats are AMP convertible and as a result, benefit from higher viewability and click through rates of the ads served to your pages, without you making any changes.

If you’re an advertiser (or publisher) who develops the creative:

If you develop ads (whether you are a publisher or an advertiser), consider switching to AMP Ads to benefit from faster ads with high viewability and a great user experience. To get started, refer your in-house creative developers to this AMP Ads developer FAQ.

If you outsource development of your creative assets, you can work with an agency like JoyStick Interactive, who specialize in making AMP creatives. If you’re used to building assets using ad development tools, consider using Celtra’s Ad Creator to generate AMP Ads. AMP Ad support for other tools like Google Web Designer is also coming soon.

If you’re an ad tech platform: :

DoubleClick and Adsense ad tags are using Fast Fetch and seeing a tremendous decrease in latency. We’d like all ad networks to transition to Fast Fetch. Here’s a guide to help you transition. For AMP Ad signing, you can either work with Cloudflare to use their Firebolt service or, if you’re interested in signing AMP Ads yourself, reach out to us on Github.

“Cloudflare Firebolt makes it easy for any ad network to sign and serve ads globally with almost no additional development work required,” says Dane Knecht, head of product strategy at Cloudflare. “As part of our mission to help build a better Internet, Firebolt further enhances the global AMP ad experience, making it faster and more secure and resulting in better conversion rates.”

AMP Ads are also supported now on DoubleClick Ad Exchange (via Real Time Bidding) and DSPs can start supporting delivering their AMP ads over RTB.

We’ve come a long way with advertising in AMP, and we’re excited to head into phase 3. This includes:

  • Empowering ad networks to auto-convert and deliver AMP Ads.
  • Having ad servers support uploading and delivering custom made AMP Ads.
  • Building functionality that helps creative developers build AMP Ads.
  • Partnering with more ad creation tools to output AMP Ads by default.

As always, we look forward to hearing your feedback or opportunities on any of the above to partner for a better web.

Posted by Vamsee Jasti, Product Manager, AMP Project