Single Request Architecture is a way of requesting ads from Google Ad Manager’s ad server. It is a Google Publisher Tag set-up feature at the ad tag level that sends all defined ad requests to the GAM ad server at once. This is the alternative option to sending in multi-request mode, which sends multiple ad requests individually.
Any publisher or developer who has ever added Google Ad Manager tags will have had to choose whether or not to use Single Request Architecture. Google strongly encourages publishers to use this option for performance reasons. Despite this, 32% of the 10,000 randomly selected Ad Manager enabled websites that I tested today choose not to enable Single Request Architecture. When talking to publishers, I also find that many of those who do have it enabled are not entirely clear as to what it does and what advantage it brings. This guide will answer those questions and help publishers make more informed decisions on when to use it and when not to.
FACT: 68% of websites using Google Ad Manager have Single Request Architecture enabled
Why does Single Request Architecture exist?
To understand why Google offers us the option of using Single Request Architecture, it is useful to understand the problem that SRA tries to address. Under a ‘multi-request mode’ (non SRA) set-up, Ad Manager will run an auction every time a unit appears on the page. So,if you have 5 units on the page then the auction process will be called and executed five times.
How does Single Request Architecture work?
Single Request Architecture can be enabled easily on any page by adding the following line to your GPT :
With the enableSingleRequest function included, Ad Manager will bundle all the auctions into a single request. In this case, the browser sends a single request for all units at once. This means that a simple Ad Manager only set-up with five units will call to Ad Manager once instead of five times, which can improve page speed.
Requesting all ad units at once through SRA also enables features such as roadblocking to be used (as the ad server is aware of the total on page inventory at the time it is called).
With all this running client side, these time savings can be significant. That is good for the user experience and good for the publisher’s revenue.
Are there drawbacks to using Single Request Architecture?
Ad Manager’s Single Request mode is incredibly easy to implement and can contribute both to increased revenue and improved user experience. It might seem hard to understand why all publishers don’t use it, but our test showed a third of GAM publishers choose to stick with multi-request mode. There can be a few reasons for this:
Reported problems with SRA and AdSense
Some publishers swear that SRA causes issues with AdSense. We tend to favour AdX over AdSense, but do still use AdSense as part of the mix on some sites. We have never experienced problems using AdSense with SRA, but there is enough circumstantial evidence to suggest that there could be (or once was) a problem for some publishers. Luckily it is very easy to change between Single and Multi-request mode, so concerned publishers can simply test this for themselves.
2000 character limit to GAM tag definition
The Ad Manager request URL has a hard limit of 2,000 characters. This will never affect most publishers, but a page with a very large number of units called through SRA could exceed this limit. In this case, switching to multi-request mode would allow that string to be split into shorter chunks and avoid the limit.
SRA can cause problems if you define units that you do not then display
Because Single Request mode runs the auctions when the ad units are defined in the header, this can cause problems if you do not then display those units. This is common in set-ups where a publisher is defining all units used throughout a site in the head of every page, but tailoring the units that are actually shown. There are reasons why this isn’t a good approach even in multi request mode, but in Single Request mode it will additionally mess with reporting and can cause issues with invalid impressions. We discuss this issue in more details in this article.
How to disable Single Request Architecture / Enable Multi-Request Mode
If you are currently using Single Request mode and want to switch to disable it, you just need to remove the googletag.pubads().enableSingleRequest(); line from your code. This will then cause GPT to be called in multi-request mode.
Should I use Single Request Architecture?
If you are still not sure whether to use SRA or not, then the advice is to use it. The performance advantage can be significant and it will work well for most websites. If you know that one of the issues above might affect you, try enabling SRA but monitoring for issues. It is a simple enough change to disable it at a later point should you have problems.