Google Publisher Console messages

This page describes the various messages you can encounter when viewing the Google Publisher Console Page Request tab. Each message is assigned a severity, which indicates the relative importance of the issue being reported.

If you need more help with GPT, see the support options.

Error
GPT encountered a problem that prevented it from performing an action. Messages at this level should be addressed immediately to ensure ads are able to load properly.
Warning
GPT encountered a problem while performing an action, but was able to continue. The action may or may not have been successful. Messages at this level should be reviewed regularly and addressed as necessary to ensure ads are being loaded correctly.
Information
GPT performed an action. Messages at this level are purely informative and don't require attention.

Message variables

Many Google Publisher Console messages use variables to provide additional context that's useful for debugging. In this document, message variables are shown as capitalized strings which describe the value they represent, preceded by a $ character. For example, $DIV_ID represents the ID of a <div> element unique to your page.

Messages shown here may not exactly match what you see in the Google Publisher Console. If you're having trouble locating a specific message reported in the console, try searching for parts of the message that don't contain any values that are specific to your site.

Error messages

Message

403 HTTP Response: $ERROR.

Issue

A GPT ad request was rejected with HTTP 403.

Attempted to load GPT from both standard and limited ads domains.

Issue

gpt.js was requested from both the standard and limited ads domains within the same page.

ContentService is no longer available. Use the browser's built-in DOM APIs to directly add content to div elements instead.

Issue

The ContentService API has been sunset and is no longer available.


Details

This API is no longer available. Use the browser's built-in DOM APIs to directly add content to div elements instead. For example, if you currently have:

 var slot = googletag.defineSlot('/1234567/sports', [728, 90],
   'div-1').addService(googletag.content());
 googletag.enableServices();

 var content = '<a href="www.mydestinationsite.com">' +
   '<img src="www.mysite.com/img.png">' +
   '</img></a>';
 googletag.content().setContent(slot, content);
You can replace it with:
 var content = '<a href="www.mydestinationsite.com">' +
   '<img src="www.mysite.com/img.png">' +
   '</img></a>';
 document.getElementById('div-1').innerHTML = content;
You may need to retain the calls to googletag.defineSlot() and googletag.enableServices() if you intend to define an ad slot for a different service (for example, PubAdsService) using the same div element.

Div ID passed to googletag.display() does not match any defined slots: $DIV_ID.

Issue

Attempted to display an ad slot that was not previously defined.


Details

The specified $DIV_ID value passed into googletag.display() has not been associated with a GPT ad slot. Ensure that:

  1. The $DIV_ID value is correct.
  2. Your code contains a corresponding call to googletag.defineSlot(..., $DIV_ID) .
  3. The call to googletag.display() occurs after the call to googletag.defineSlot().
See Getting Started with Google Publisher Tags for more information.

Error in googletag.defineSlot: Cannot create slot $AD_UNIT_PATH. Div element "$DIV_ID" is already associated with another slot: $OTHER_AD_UNIT_PATH.

Issue

Unable to create an ad slot with the specified div ID. The ID is currently associated with another ad slot.


Details

Every GPT ad slot must be associated with a unique <div> element. The ID of this element ($DIV_ID) is provided as a parameter to defineSlot(). To address this issue, first locate the two offending defineSlot() calls in your code:

  • googletag.defineSlot($AD_UNIT_PATH, ..., $DIV_ID)
  • googletag.defineSlot($OTHER_AD_UNIT_PATH, ..., $DIV_ID)
Update or remove one call to ensure unique $DIV_ID values.

Error in googletag.defineSlot: Invalid ad unit path provided $AD_UNIT_PATH, see https://support.google.com/admanager/answer/10477476 for more information.

Issue

Unable to create an ad slot with the specified ad unit path as it is invalid.

Exception in $TYPE event listener: "$ERROR".

Issue

An unhandled exception was encountered while executing a GPT event listener.


Details

A user-defined event listener for event type $TYPE caused an error. Review the provided $ERROR message for more information and take appropriate action to resolve the issue in the event listener.

Learn about supported GPT events and see examples of how to use them in the ad event listeners sample.

Exception in googletag.cmd function: $ERROR.

Issue

An unhandled exception was encountered while executing a function in the GPT command queue.


Details

A function added to the GPT command queue caused an error. Review the provided $ERROR message for more information and take appropriate action to resolve the issue in the queued function.

Warning messages

Message

$AD_FORMAT $AD_UNIT_PATH not requested: Detected browser is currently unsupported.

Issue

The specified out-of-page format is not supported on the current browser.


Details

Certain GPT-managed out-of-page formats depend on CSS and JavaScript features that aren't available in all browsers. GPT has determined that the browser attempting to request the ad identified by $AD_UNIT_PATH lacks the necessary functionality to properly render the specified format, ($AD_FORMAT).

Applicable to:

  • OutOfPageFormat.INTERSTITIAL

$AD_FORMAT $AD_UNIT_PATH not requested: Format already created on the page.

Issue

An ad of the specified out-of-page format has already been created on the page.


Details

Certain GPT-managed out-of-page formats are limited to a single instance per-page. The ad identified by $AD_UNIT_PATH specifies an out-of-page format ($AD_FORMAT) that is already in use by another slot on thepage.

Applicable to:

  • OutOfPageFormat.BOTTOM_ANCHOR
  • OutOfPageFormat.INTERSTITIAL
  • OutOfPageFormat.REWARDED
  • OutOfPageFormat.TOP_ANCHOR

$AD_FORMAT $AD_UNIT_PATH not requested: Format currently only supported on mobile.

Issue

The specified out-of-page format can only be displayed on mobile devices.


Details

Certain GPT-managed out-of-page formats are only supported on mobile devices. An attempt was made to request the ad identified by $AD_UNIT_PATH from a non-mobile device.

As a best practice, GPT-managed out-of-page formats should only be requested on pages or environments where you want an ad of that type to appear. Support for additional devices and environments may be added in the future.

Applicable to:

  • OutOfPageFormat.BOTTOM_ANCHOR
  • OutOfPageFormat.TOP_ANCHOR

$AD_FORMAT $AD_UNIT_PATH not requested: Format currently only supports portrait orientation.

Issue

The specified out-of-page format can only be displayed in portrait orientation.


Details

Certain GPT-managed out-of-page formats are only supported when the width of the viewport is less than its height (portrait orientation). An attempt was made to request the ad identified by $AD_UNIT_PATH on a page where the width of the viewport exceeds its height (landscape orientation).

Applicable to:

  • OutOfPageFormat.BOTTOM_ANCHOR
  • OutOfPageFormat.TOP_ANCHOR

$AD_FORMAT $AD_UNIT_PATH not requested: Frequency cap of $FREQ_CAP has been exceeded.

Issue

The specified out-of-page format has been shown the maximum number of times for the current user within a short period.


Details

Certain GPT-managed out-of-page formats use frequency capping to limit the number of times a single user can be shown the same type of ad within a fixed timeframe (usually 1 hour). An attempt to request the ad identified by $AD_UNIT_PATH was blocked, since the user has been shown an ad of the specified format ($AD_FORMAT) the maximum number of times ($FREQCAP) for the current frequency capping period.

Applicable to:

  • OutOfPageFormat.INTERSTITIAL

$AD_FORMAT $AD_UNIT_PATH not requested: GPT is not running in the top-level window.

Issue

The specified out-of-page format can only be displayed in the topmost window.


Details

Certain GPT-managed out-of-page formats are only supported when GPT is running in the topmost window. An attempt was made to request the ad identified by $AD_UNIT_PATH from a nested window.

Applicable to:

  • OutOfPageFormat.BOTTOM_ANCHOR
  • OutOfPageFormat.INTERSTITIAL
  • OutOfPageFormat.TOP_ANCHOR

$AD_FORMAT $AD_UNIT_PATH not requested: The viewport exceeds the current maximum width of 2500px.

Issue

The viewport exceeds the current maximum allowed for the specified out-of-page format on the current device.


Details

Certain GPT-managed out-of-page formats are only supported when the width of the viewport is less than a predefined maximum value. An attempt was made to request the ad identified by $AD_UNIT_PATH on a page where the width of the viewport was greater than this maximum value.

The maximum width specified in the body of this message is a default used by GPT in most circumstances. The exact maximum width for a given format may vary slightly depending on the device and environment in which the format is requested, and is subject to change without notice.

Applicable to:

  • OutOfPageFormat.BOTTOM_ANCHOR
  • OutOfPageFormat.TOP_ANCHOR

$AD_FORMAT ad slot ineligible as page is not mobile optimized: $AD_UNIT_PATH.

Issue

The specified ad slot is only eligible on mobile optimized pages.


Details

For a page to be considered mobile optimized, the zoom level must be neutral. Typically, this is accomplished by adding the following to the <head> of the page:

 <meta name="viewport" content="width=device-width, initial-scale=1"> 

$FORMAT $AD_UNIT_PATH not requested: Unable to access local storage to determine if the frequency cap has been exceeded due to insufficient user consent.

Issue

Local storage cannot be accessed to determine if the frequency cap for the specified out-of-page format has been exceeded due to insufficient user consent.


Details

Frequency capping requires access to local storage in the user's browser to store how frequently an ad of the specified format ($AD_FORMAT) has been shown. An attempt to request the ad identified by $AD_UNIT_PATH was blocked because GPT is unable to determine if the current frequency cap has been exceeded, due to a lack of user consent to access local storage.

Applicable to:

  • OutOfPageFormat.INTERSTITIAL

An IAB US Privacy Consent Management Provider was detected, but was unresponsive. Please review USP integration to ensure an optimal setup.

Issue

Info logging that the IAB US Privacy API did not respond within the timeout.

Attempted to load GPT multiple times.

Issue

gpt.js was requested from the same domain multiple times within the same page.

Beta keys cannot be cleared. clearTargeting() was called on $BETA_KEY.

Issue

Attempted to clear beta keys.


Details

Once set, beta keys cannot be modified or unset. Ensure that beta keys are only set when beta functionality is desired for the life of the page. Additionally, you should ensure that your code does not call clearTargeting() without parameters when beta keys are in use.

Error in googletag.display: could not find div with id "$DIV_ID" in DOM for slot: $AD_UNIT_PATH.

Issue

Attempted to display the ad slot associated with the specified div ID, but no div element with that ID could be found on the page.


Details

The specified $DIV_ID value passed into display() does not correspond to an element on the page. Ensure that:

  1. The $DIV_ID value is correct.
  2. The page contains a <div id="$DIV_ID">...</div> element.
  3. The element is defined and present on the page before the call to display().
See Get Started with Google Publisher Tags for more information.

Failed to register listener. Unknown event type: $TYPE.

Issue

Attempted to register an event listener, but the specified event type is not defined by GPT.


Details

An invalid event type was specified when calling PubAdsService.addEventListener().

Learn about supported GPT events and see examples of how to use them in the ad event listeners sample.

GPT must be loaded from the limited ads URL to configure limited ads functionality via the PrivacySettings API.

Issue

Attempted to configure limited ads serving via googletag.pubads().setPrivacySettings(), but this is not supported by the currently executing version of GPT.


Details

You can instruct GPT to request limited ads in two ways:

In order to manually control limited ads, you must load GPT from the limited ads URL. The version of GPT served from this URL contains additional safeguards against accessing client-side storage by default. See Display a limited ad documentation for more information.

GPT script src version $VERSION is deprecated and will soon expire and fail to show ads. https://developers.google.com/publisher-tag/release-notes#2023-06-19

Issue

Warns the user that the current GPT version is deprecated and will soon expire and fail to show ads. See https://developers.google.com/publisher-tag/release-notes#2023-06-19.

Ignoring a call to setCollapseEmptyDiv(false, true). Slots that start out collapsed should also collapse when empty. Slot: $SLOT.

Issue

An invalid collapseEmptyDiv() configuration was specified. The specified configuration was ignored.


Details

Slots configured to collapse before an ad is fetched must also be configured to collapse when empty. This is to ensure that the behavior of the slot is predictable in the event that it cannot be filled.

See the collapse empty ad slots sample to learn more about properly configuring the collapseEmptyDivs() feature.

Ignoring the $METHOD_NAME($ARGS) call since the service is already enabled.

Issue

The specified method was called after the PubAdsService was enabled.

Invalid argument: $METHOD_NAME($ARG). Valid values: $VALUES.

Issue

An invalid enum value was passed to the specified GPT method.


Details

The specified GPT method ($METHOD_NAME) only accepts enum values from the list provided ($VALUES).

Refer to the GPT reference documentation for more information.

Invalid arguments: $METHOD_NAME($ARGS).

Issue

An invalid argument was passed to the specified GPT method.


Details

The arguments ($ARGS) passed to the specified GPT method ($METHOD_NAME) were incorrect or improperly formatted.

Refer to the GPT reference documentation for more information.

Invalid arguments: $METHOD_NAME($ARGS). All zero-area slot sizes were removed.

Issue

An invalid argument was passed to the specified GPT method.


Details

The SizeMapping ($ARGS) provided to the specified GPT method ($METHOD_NAME) was invalid and automatically removed.

Refer to the GPT reference documentation for more information.

Invalid object passed to $METHOD_NAME($ARGS), for $KEY: $VALUE.

Issue

An invalid object was passed to the specified GPT method.


Details

The arguments ($ARGS) passed to the specified GPT method ($METHOD_NAME) contained an object with an incorrect or improperly formatted key-value pair ({$KEY: $VALUE}).

Refer to the GPT reference documentation for more information.

Legacy browser does not support intersection observer causing lazy render/fetch as well as viewability events not to work properly.

Issue

Legacy browser does not support intersection observer.


Details

GPT has determined that the current browser lacks support for the Intersection Observer API. This API is used by certain GPT features to determine the visibility of ad elements. Without access to this API, these features will not work.

Applicable to:

Publisher betas $BETA_KEYS were declared after enableServices() was called.

Issue

Attempted to declare beta keys after the PubAdsService was enabled.


Details

Beta keys must be set before enableServices() is called. Once set, these keys cannot be modified or unset. Because of this, you should ensure that beta keys are only set when beta functionality is desired for the life of the page.

Publisher betas may only be declared once. $BETA_KEYS were added after betas had already been declared.

Issue

Attempted to declare beta keys more than once.


Details

Individual beta keys may only be set once, before enableServices() is called. Once set, these keys cannot be modified or unset. You should ensure that beta keys are only set when beta functionality is desired for the life of the page.

Refresh was throttled $COUNTER time(s) for slot: $AD_UNIT_PATH

Issue

Attempted to refresh an ad slot too quickly. The refresh request was ignored.


Details

There were multiple calls to PubAdsService.refresh() for the specified ad slot ($AD_UNIT_PATH) in a short period of time. The most recent call was ignored. Ensure you are adhering to refresh() best practices before retrying.

SRA requests may include a maximum of 30 ad slots. $NUM_ATTEMPTED were requested, so the last $NUM_IGNORED were ignored.

Issue

Too many ad slots were included in a Single Request Architecture (SRA) request, preventing some slots from being loaded.


Details

The maximum number of ad slots allowed in a single SRA request (30) was exceeded. Ad slots above this maximum were ignored ($NUM_IGNORED), preventing them from being filled.

To address this, batch the slots into multiple SRA requests as shown below. Note that this example uses a maximum of 5 slots per request for illustrative purposes.

 // Define first batch of slots.
 googletag.defineSlot(..., 'ad-slot-1').addService(googletag.pubads());
 ...
 googletag.defineSlot(..., 'ad-slot-5').addService(googletag.pubads());

 // Enable SRA and services.
 googletag.pubads().enableSingleRequest();
 googletag.enableServices();

 // Issue first SRA request (ad-slot-1 to ad-slot-5).
 googletag.display('ad-slot-5');

 // Define second batch of slots.
 googletag.defineSlot(..., 'ad-slot-6').addService(googletag.pubads());
 ...
 googletag.defineSlot(..., 'ad-slot-10').addService(googletag.pubads());

 // Issue second SRA request (ad-slot-6 to ad-slot-10).
 googletag.display('ad-slot-10');

Size mapping is null because invalid mappings were added: $MAPPINGS.

Issue

A SizeMappingBuilder could not be built, since invalid mappings were specified.


Details

A call to SizeMappingBuilder.build() returned null, because the builder contained invalid size mappings ($MAPPINGS). Fix or remove the invalid mappings before retrying.

See the ad sizes guide for more information.

Slot $SLOT_ID rendered inside of the viewport.

Issue

The slot was in the viewport when the ad was rendered.


Details

This warning indicates that there was not enough time for the ad in slot $SLOTID to render before entering the viewport. This is most commonly caused by lazy loading configurations with too small of a render margin.

If you see this warning for a slot that was lazily loaded, review your lazy loading configuration. There may be an opportunity to increase viewable impressions by adjusting the render margin.

Learn more:

Slot object at position $POSITION is of incorrect type.

Issue

An invalid slot object was included in an array passed to clear() or refresh() at the specified position.


Details

A slot object at position $POSITION in an array passed to either PubAdsService.clear() or PubAdsService.refresh() was invalid. This usually indicates that the slot object was previously destroyed via a call to destroySlots().

Slots cannot be cleared until service is enabled.

Issue

The PubAdsService.clear() method was called before the service was enabled.


Details

GPT ad slots start out empty and cannot be filled until:

  1. Services are enabled via enableServices().
  2. Ads are requested via a call to PubAdsService.display() or PubAdsService.refresh().
Prior to this, calls to PubAdsService.clear() have no effect.

See the control ad loading and refresh guide for more information.

getName on googletag.Slot is deprecated and will be removed. Use getAdUnitPath instead.

Issue

getName on googletag.Slot is deprecated.


Details

The Slot.getName() method is no longer supported and might be removed in a future release. You can use Slot.getAdUnitPath() as a direct replacement.

Unsupported: Slot.getName()

 var slot = googletag.defineSlot('/1234567/sports', [160, 600],
   'div-1').addService(googletag.pubads());
 var name = slot.getName(); // name is '/1234567/sports'

Supported: Slot.getAdUnitPath()

 var slot = googletag.defineSlot('/1234567/sports', [160, 600],
   'div-1').addService(googletag.pubads());
 var path = slot.getAdUnitPath(); // path is '/1234567/sports'

setConfig key $COMPONENT is deprecated and $ALTERNATIVE should be used instead.

Issue

The specified setConfig() property is deprecated and should not be used. Use the recommended alternative, instead.

setCorrelator has been deprecated. See the Google Ad Manager help page on "Creative selection for multiple ad slots" for more information: https://support.google.com/admanager/answer/183281.

Issue

The setCorrelator() method is deprecated.


Details

References to this method should be removed from your code. This method is no longer supported and may be removed in a future release.

updateCorrelator has been deprecated. See the Google Ad Manager help page on "Creative selection for multiple ad slots" for more information: https://support.google.com/admanager/answer/183281.

Issue

The updateCorrelator() method is deprecated.


Details

References to this method should be removed from your code. This method is no longer supported and may be removed in a future release.

Information messages

Message Description

An IAB Global Privacy Platform Consent Management Provider was detected. Attempting to retrieve consent information.

An attempt to retrieve consent information from the IAB Tech Lab Global Privacy Platform user consent API is being made.

An IAB Transparency & Consent v2 Consent Management Provider was detected. Attempting to retrieve consent information.

An attempt to retrieve consent information from the IAB Tech Lab Consent Management Platform API is being made.

An IAB Transparency & Consent v2 Consent Management Provider was detected. Interaction with this CMP $STATUS, though this does not guarantee downstream validation passes. Currently, failures may result in non-personalized ads, but may be rejected in the future.

The result of an attempt to retrieve consent information from the IAB Tech Lab Consent Management Platform API.

An IAB US Privacy Consent Management Provider was detected. Attempting to retrieve consent information.

An attempt to retrieve consent information from the IAB Tech Lab U.S. Privacy User Signal API is being made.

Associated service "$SERVICE" with slot "$AD_UNIT_PATH".

The specified slot was associated with the specified service.

Cannot find targeting attribute "$KEY" for "$SERVICE_OR_SLOT".

The targeting key for the specified service or slot could not be found.

Cleared slot targeting.

All targeting key-values have been cleared for a specific slot.

Cleared targeting attribute "$KEY" for $AD_UNIT_PATH.

All targeting for key "$KEY" has been cleared for the specified slot.

Cleared targeting attribute "$KEY" for $SERVICE.

All targeting for key "$KEY" has been cleared for the specified service.

Clearing all page level ad category exclusions

All ad category exclusions have been cleared at the page-level.

Clearing all slot level ad category exclusions

All ad category exclusions have been cleared for a specific slot.

Clearing slot contents.

The contents of a slot or slots are being cleared in response to a clear() request.

Clearing targeting for service "$SERVICE".

All targeting key-values have been cleared for the specified service.

Completed rendering ad for slot: $AD_UNIT_PATH.

An ad response has been processed for the specified slot. This does not necessarily indicate that a creative has been rendered. See SlotRenderEndedEvent for details.

Created service: $SERVICE.

The specified service was created.

Created slot: $AD_UNIT_PATH.

A slot has been created with the specified ad unit path.

Destroyed slot: $AD_UNIT_PATH.

The specified slot has been destroyed.

Enabling collapsing of containers when there is no ad content. Collapse before ad fetch: $COLLAPSE_BEFORE_AD_FETCH.

Enabling automatic collapsing of slot divs in response to a collapseEmptyDivs request. This indicates that slot divs will be collapsed if they cannot be filled. The current collapseBeforeAdFetch setting is also provided.

Fetching ad for slot: $AD_UNIT_PATH.

An ad is being fetched for the specified slot.

Invoked queued function. Total: $NUM_INVOKED. Errors: $NUM_ERRORS.

A user-defined function (or collection of functions) which was previously added to the GPT command queue has been invoked. The number of total invocations and errors encountered are provided.

Receiving ad for slot: $AD_UNIT_PATH.

An ad response was received for the specified slot.

Refresh for slot $DIV_ID pending googletag.enableServices.

A request to refresh() a slot or slots was made prior to enabling services. The request will be queued and executed after services have been enabled.

Refreshing ads.

The contents of a slot or slots are being refreshed in response to a refresh() request.

Rendering ad for slot: $AD_UNIT_PATH.

An ad response is being processed for the specified slot. This does not necessarily indicate that a creative has been received.

Service $SERVICE is already associated with slot $SLOT.

Attempted to associate the specified service and slot, but an association already existed. A slot cannot be associated with a service more than once.

Service is already enabled

Attempted to enable a service that was already enabled. Services cannot be enabled more than once.

Set $ATTRIBUTE=$VALUE.

The specified attribute has been set to the specified value.

Set attribute $KEY=$VALUE for $SERVICE.

An AdSense attribute has been set for the specified service.

Set targeting attribute $KEY=$VALUE for $SERVICE_OR_SLOT.

A targeting key-value has been set for the specified service or slot.

Setting page level ad category exclusion: $CATEGORY_EXCLUSION.

The specified ad category exclusion has been set at the page-level.

Setting slot level ad category exclusion: $CATEGORY_EXCLUSION.

The specified ad category exclusion has been set for a specific slot.

Using $REQUEST_MODE mode to fetch ads.

The specified ad request mode has been enabled.