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
403 HTTP Response: $ERROR .
Issue
A GPT ad request was rejected with HTTP 403.
An IAB Transparency & Consent Framework Consent Management Platform was detected. Interaction with this CMP failed. The ad request was blocked as a result.
Issue
The attempt to retrieve consent signals from the IAB TCF v2.0 consent management platform (CMP) failed and ad request was blocked.
Details
If you see this message, please review your implementation of the IAB TCF v2.0 Consent Management Platform (CMP) integration.
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 );
var content = '<a href="www.mydestinationsite.com">' + '<img src="www.mysite.com/img.png">' + '</img></a>' ; document . getElementById ( 'div-1' ). innerHTML = content ;
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:
- The $DIV_ID value is correct.
- Your code contains a corresponding call to
googletag.defineSlot(..., $DIV_ID )
. - The call to
googletag.display()
occurs after the call togoogletag.defineSlot()
.
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 )
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.
Missing required event listener " $EVENT " for $FORMAT slot: $AD_UNIT_PATH
Issue
An out-of-page ad format was requested without registering the required event listener for that format.
Details
This error occurs when an out-of-page ad format ( $FORMAT
) is requested, but the required event listener ( $EVENT
) for that format can't be found. In this scenario, an ad request will not be made for the affected slot ( $AD_UNIT_PATH
).
This error normally indicates that either the event listener was not added to the Publisher Ads service, or that the event listener was added after an ad was requested. To address this, ensure that the required event listener is added by calling PubAdsService.addEventListener()
before the first call to display()
or refresh()
the slot.
Applicable to:
-
OutOfPageFormat.GAME_MANUAL_INTERSTITIAL
Required event listener:
gameManualInterstitialSlotReady
-
OutOfPageFormat.REWARDED
Required event listener:
rewardedSlotReady
Warning messages
$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: Codeless ad unit request not sent because there are existing sticky elements on the page.
Issue
Codeless ad unit request not sent because there are existing sticky elements on the page.
Details
Codeless ad unit request not sent because there are existing sticky elements on the page. Add 'google-allow-overlap' attribute to the sticky elements to allow the codeless ad unit to be requested.
$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 Global Privacy Platform (GPP) Consent Management Platform was detected. Interaction with this CMP failed. User consent decisions may not be correctly respected.
Issue
The attempt to retrieve consent signals from the IAB Global Privacy Platform (GPP) Consent Management Platform failed. Ad request was not blocked but user consent decisions may not be correctly respected.
Details
If you see this message, please review your implementation of the IAB Global Privacy Platform (GPP) Consent Management Platform (CMP) integration.
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:
- The $DIV_ID value is correct.
- The page contains a
<div id="$DIV_ID">...</div>
element. - The element is defined and present on the page before the call to
display()
.
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:
- Automatically, by using a signal from an IAB TCF v2.0 consent management platform (CMP).
- Manually, by using the GPT
PrivacySettings
API .
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:
- Services are enabled via
enableServices()
. - Ads are requested via a call to
PubAdsService.display()
orPubAdsService.refresh()
.
PubAdsService.clear()
have no effect.See the control ad loading and refresh guide for more information.
This ad request is subject to Google's EU User Consent Policy. An IAB TCF signal was not received. This ad request will not be eligible for personalized ads.
Issue
The ad request is subject to Google's EU User Consent Policy. However, a valid IAB TCF signal was not received. The ad request will be served as limited ad and thus not eligible for personalization and features that require use of a local identifier.
Details
If you see this message, please implement a Google-Cerified consent management platform (CMP) .
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.
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 |
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 |
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 |
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 |
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 |
Refreshing ads. |
The contents of a slot or slots are being refreshed in response to a |
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. |