OKO Digital

The ad optimisation people

  • Home
  • Publisher Solutions
    • Website Monetization
    • Header Bidding
    • AdX – Google Ad Exchange
    • App Ad Monetization
    • WordPress Monetization
  • About us
    • OKO & the OKO team
    • Careers
  • Blog
    • Latest blog posts
    • Ad Blocking
    • Ad Exchange (AdX)
    • Ad Optimisation
    • Ad Performance & Page Speed
    • Ad Publishing Landscape
    • AdSense
    • DoubleClick For Publishers (DFP)
    • Exchange Bidding
    • Google Ad Manager
    • Google Certified Publishing Partners
    • Header Bidding
    • Privacy & GDPR
    • Program Policy
    • Open Bidding
    • Traffic
  • Contact

Google Ad Manager . 14th September 2018

Explained: googletag.defineSlot was called more times than there are DIVs in the DOM associated with ad slots while in Single Request Mode

What the "called more times than there are DIVs in the DOM" warning means and how to resolve the issue

Google Publisher Console is an amazing tool for diagnosing delivery issues in you Google Ad Manager set-up. It’s simple to use and will give you information about any problems Ad Manager is encountering, but it isn’t always obvious what action needs to taken to resolve those issues.  This post looks at one of the more common, and potentially expensive warnings: googletag.defineSlot was called more times than there are DIVs in the DOM associated with ad slots while in Single Request Mode. This will impact impression counts.

Defineslot

What the “called more times than there are DIVs in the DOM” warning means

The warning googletag.defineSlot was called more times than there are DIVs in the DOM associated with ad slots while in Single Request Mode is shown on Google Publisher Console under the Page Request tab. It comes with the warning that this will impact impression counts, which is true but falls short of explaining the potential impact of the problem.

The standard Google Publisher tags used by Google Ad Manager come in two parts. The first part appears in the head of the document and defines the units that will be used on that page. The second part is a snippet for each point where an ad will appear. This warning occurs when more units are defined than are subsequently called on the page. The most common cause of this that we see is when different page types use different units and all the units used across the site are called in every page header whether they will be used or not.

Defineslot Ads

As the warning suggests, this will impact impression reporting. If called using SRA (more on this later), Ad Manager will try to fill each defined Slot with an ad, whether it is displayed or not. Where it is successful an impression will be counted even when one is not shown. This can throw off reporting, but there are also more significant consequences to consider.

The impact on reporting

Impact on reporting of course throws off impression count, but raw impressions is rarely the metric to get the most attention. More problematic is that the inflated impressions will cause more vital metrics to be rendered useless.

CPM/RPM figures are a good example. If an impression count is doubled by poor set-up then CPM/RPM numbers will be halved. This makes it difficult to make informed decisions on optimising performance.

The impact on Google Monetization (formerly Ad Exchange)

There is no official word on how unused defined slots impact performance through their Ad Exchange and Exchange Bidding. However, the fact that reports run through the exchange show the unseen impressions being counted is strong evidence that it has an impact.  If appears that the ad exchange auction runs and usual when unused slots are eligible for Google Monetization. This results in poor CPM performance and low Active View results.

Defining unused Slots can impact revenue

Defining and not displaying slots isn’t just a reporting technicality. Our experience at OKO is that it definitely suppresses revenue and fixing the issue of having unused slots will generally improve revenue – sometimes quite significantly. It would appear that the issue can impact revenue in a number of ways.

  • Exchange buyers discouraged by poor Active View metrics : Buyers don’t want to spend money on poor quality inventory. We know that Active View numbers are impacted by the inflated impression count of unused slots, and this appears to impact demand and bids for such inventory.
  • All buyers discouraged by poor viewability : Buyers, both through Google and other channels (such as header bidding partners) monitor inventory performance in order to ensure that their bids are inline with inventory quality. If buyers are winning impressions on unused Slots then those impressions are not getting seen and buyers will adjust their bids to compensate or even block the domain completely.
  • Inventory being flagged as suspicious : Serving impressions that are not seen by humans is a favourite tactic of fraudsters. Unused slots can appear a lot like fraudulent activity and publishers can find themselves blacklisted as a result.

Solution 1 : Only define ads that will be used

The best solution is the simplest sounding: Only define slots on a page if they are going to be used on that page. Exactly how you achieve that on your site will depend both on how you site is built and how your inventory is structured. Examples include moving the definitions into specific templates, or adding logic to determine with units will be defined on each type of page.

Solution 2 : Reuse your ad units

If it is difficult to alter which Slots will be defined on a page by page basis, the answer might be to simplify your inventory. With a simpler inventory structure, utilising responsive units and key-value pairs, it may be possible to use the same definitions all pages without redundancy.

Solution 3 : Disable Single Request  Architecture

Unused Slots are only a problematic when using Ad Managers Single Request Architecture. Single Request Architecture, or SRA, packages all the slots on the page into a single call to Google Ad Manager. This is more efficient than sending multiple requests, so is faster than the alternative. The down side is that Ad Manager doesn’t know which Slots will be used when the request is made, which is where this problem arises.

Although SRA is generally recommended, it can be disabled. Simply removing the line googletag.pubads().enableSingleRequest(); from the Ad Manager snippet will disable SRA and should make the “called more times than there are DIVs in the DOM” warning disappear. Other effects, such as suppressed bids, won’t be instantly fixed by will follow.

Further help with Ad Manager issues

Spotting and resolving issues like this is all part of the service for publishers that work with OKO. We help publishers earn more from the ads on their site, working with them to ensure that they have a competitive, profitable and well-optimised ad serving set-up. If you run an ad funded website and would benefit from having an expert team working to increase your ad revenue you can learn more about what we do here.

Google Ad Manager . Tips

About Abbey Colville

SEARCH

TOPICS

  • Ad Blocking
  • Ad Exchange (AdX)
  • Ad Optimisation
  • Ad Performance & Page Speed
  • Ad Publishing Landscape
  • AdSense
  • DoubleClick For Publishers (DFP)
  • Exchange Bidding
  • Google Ad Manager
  • Google Certified Publishing Partners
  • Header Bidding
  • Open Bidding
  • Privacy & GDPR
  • Program Policy
  • Traffic

Could the ads on your site be earning more?

Find out how OKO help publishers earn more from their ads.

LEARN MORE
Insticator

OKO Digital, The Cake Shed, Manor Farm, Manor Road, Hayling Island, Hampshire, PO11 0QW

Google Certified Publisher Partner Logo

OKO is a registered trademark and trading style of OKO Digital Limited. Registered in England company number 03867231. © OKO Digital Limited 1996-2018. All Rights Reserved.

  • Privacy Policy
  • Cookie Policy
Manage Cookie Consent
We use cookies to optimise our website and our service.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage vendors Read more about these purposes
View preferences
{title} {title} {title}