A tagless request can be used in the place of an ad tag to request the raw creative code trafficked in Ad Manager. Tagless requests are generally used when custom parsing and display is needed, such as set-top boxes or other environments without Google tagging or SDK support.
When you make a tagless request, Ad Manager returns only the raw creative code, exactly as trafficked, without executing and displaying the ad. If an ad is not found, a 200/OK
status is returned with an empty response.
Your app, player, or site must execute the code to display the ad, and activate impression tracking.
Manually create a tagless request
To construct a tagless request, begin with the base URL, include all of the required parameters, and any additional optional parameters. These parameters specify things like the ad unit, creative size, key-values and other information about the request.
Tagless requests must be made securely using SSL (https://
).
Start with a base URL
Use this base URL: https://securepubads.g.doubleclick.net/gampad/adx?
Specify the parameters of your ad request
Required parametersParameter | Description |
---|---|
iu |
Google Ad Manager ad unit code, including your Google Ad Manager network code. To include multiple levels, use the slash ( Example
When using Multiple Customer Management (MCM) with tagless requests, use the Example (MCM)
|
sz |
Creative size. To include multiple sizes use the pipe ( Example
We recommend you encode pipe ( Example
|
url |
URL of the domain hosting the initial ad request. Only required for MCM requests. Example
|
c |
Correlator (or, cache-busting) value. This must be a random number (letters are not permitted) generated by a publisher to ensure a fresh call to the ad server happens each time the page loads to avoid impression-counting discrepancies. Example
|
tile |
Position of the tag on a webpage. The value should be a unique integer. For an easier implementation, we recommend a value counting up. This is only required if multiple ad tags use the same ad unit code ( Example
tile= ) values must be triggered within 30 seconds to ensure the same creative is not selected again for the same correlator (c= ). |
Parameter | Description |
---|---|
d_imp |
Delayed impression toggle. If included, impression counting upon request is disabled and either the viewed impression macro in the returned creative or the information from the Example
|
d_imp_hdr |
Delayed impression header information toggle. If included, the view URL to be used for impression counting is returned in the HTTP header. By default, this header information is not defined. A publisher then needs to manually ping this view URL to count an impression. Learn more about impression counting and tagless requests.
Example
|
t |
Slot-level key-value pairs. Each key and value is separated by the equal sign ExampleThe parameter Use Example
The following characters are not permitted in keys or values: ExampleSetting the key "a" to the value "b+c" with |
m |
Mime-type value on the HTTP header. Example
|
mob |
Mobile ad request indicator. Example
|
ppid |
The Publisher provided identifier (PPID) parameter allows you to send Google Ad Manager an identifier for use in frequency capping, audience segmentation and audience targeting, sequential ad rotation, and other audience-based ad delivery controls across devices. Example
|
u_w |
Mobile device screen width, which overrides the automatic detection done by the ad server. Example
|
u_h |
Mobile device screen height, which overrides the automatic detection done by the ad server. Example
|
submodel |
Mobile device hardware information, which overrides the automatic detection done by the ad server. Example
Submodel values:
|
Activate impression tracking
Ad Manager can track downloaded impressions, also known as "delayed" impressions, for tagless requests. Use any of the options below, but not all together. Using all of the options together might cause impressions to be double (or triple) counted.
We recommend Option 1, but you must have access to HTTP response headers and be able to implement a header-based protocol.
Option 1: Read HTTP response header to control impression counting
Add the d_imp=1
and d_imp_hdr=1
parameters to your tagless request so that Google Ad Manager won't record an impression or a downloaded impression until you manually trigger an impression ping with the Google-Delayed-Impression
HTTP header URL. When the impression ping is triggered, an "Ad server impression" and "Ad server downloaded impression" is recorded by Google Ad Manager.
Do not include the viewed impression macro for creatives returned by tagless requests to avoid counting an impression twice.
Option 2: Use the viewed impression macro
If you can't access HTTP response headers, you must segment your inventory and add the viewed impression macro to the code snippet of every creative returned by a tagless request. This macro expands to a URL to be sent by the creative when rendering.
Make a tagless request to retrieve the creative code
Web content
Tagless requests are generally used in environments without Google tagging or SDK support. If you make a tagless request on the web, you must load it in an <iframe>
to be able to execute the raw code that is returned.
Custom environments without a Google SDK
To retrieve raw creative code in environments without Google tagging or SDK support (for example, a non-Google set-top box), refer to the following guidelines:
- Set a valid user agent in the
User-Agent
request header to ensure that targeting functions properly. - Ensure your environment can handle rich media behaviors, including JavaScript and creative expansion.
- Make an HTTPS request to Google Ad Manager.
- Inspect the response status to find "HTTP 200/OK", indicating that the request was well-formed.
Unsupported features with tagless requests
- Active View
- Ad Exchange
- Cookies or mobile app identifiers used for tracking
- Creative wrappers
- Dynamic allocation with AdSense, Ad Exchange, or AdMob
- Native inventory
- Preferred Deals
- Creative previews
Tagless requests that use gampad
/ad
in HTML image tags (<img>
) don't support JavaScript tracking code and are not supported for downloaded impression counting.
To report on these ads, use the "Total code served count" metric in Ad Manager reporting.