Clear search
Close search
Google apps
Main menu

Simple URL tags

Simple URL tags allow you to request ads in environments where JavaScript isn't supported, such as a mobile app or video player, or as a redirect when trafficking DFP through another ad server.

Simple URL tags do not support:

Serving ads into email newsletters is not supported by any DFP tagging method.
Most email clients do not provide DFP with sufficient information for accurate ad selection. There are also technical limitations. For example, the c= parameter needs to be a randomly-generated number and many click-through URLs require information from browser cookies.

Build a simple URL tag​

  • Specify a request-type to return an image creative or raw creative code.
  • Use parameters to specify the ad unit, creative size, key-values and other information about the request. 
  • Both http:// and https:// are supported.
Use the DFP Tags Generator to generate simple URL tags.

Choose a request type

Request an image creative with /ad

To display an image creative, or trigger an internal redirect to an image creative, use the /ad request type. The /ad simple URL tag requests an image creative from DFP according to the parameters defined, and the /jump anchor tag records a click in DFP for the creative.

If there is any custom code in the winning DFP creative, such as HTML or XML, nothing will be returned.

<a href="">
  <img src="">

Request raw creative code with /adx

To request raw creative code for custom parsing and display, such as in a video player, use the /adx request type. If an ad is found, DFP returns the raw creative code associated to ad exactly as trafficked. If an ad is not found, DFP returns a 200/OK with an empty response.

If you load the /adx request type on the web, you must load it in an <iframe> so it can then execute the raw code that is returned.

When requesting raw creative code where there is no DoubleClick SDK, such as a BlackBerry mobile app, or for another custom environment, such as a set-top box, adhere to the following principles to request an ad from DFP:

  • 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 HTTP request to DFP.
  • Inspect the response status to find "HTTP 200/OK", indicating that the request was well-formed.

We recommend performing a small load test (1-2% of anticipated volume) to validate the request before going live.

Specify the parameters of your ad request

Required parameters

Parameter Description

DFP ad unit code, including your DFP network code. To include multiple levels, use the slash (/) character as a separator.



Creative size. To include multiple sizes use the pipe (|) character as a separator between them.

sz=320x50 for a single size
sz=320x50|300x50 for multiple sizes


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.



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 (iu=) and correlator (c=) values on the same page.

<img src="">
<img src="">

For safety, we recommend escaping the pipe (|) character in simple URL tags by encoding it as %7c. For example, the following URL:|300x50|320x50&c=4845709


Optional parameters

Parameter Description

Delayed impression toggle. If enabled, impression counting upon request is disabled and either the viewed impression macro in the returned creative or the information from the d_imp_hdr parameter is used to record an impression, but not both. Learn more

d_imp=0 (This is the default value for DFP impression counting.)


Delayed impression header information toggle. If enabled, the view URL to be used for impression counting is returned in the HTTP header. By default, this header information is not defined. The publisher then needs to ping this view URL to count an impression. Learn more

  • The Google-Delayed-Impression header contains the DFP impression URL.
  • The Google-3rdParty-Delayed-Impression header contains the third-party impression URL, if present in the creative.

d_imp_hdr=0 (Explicitly disables delayed impression header information.)


Slot-level key-value pairs. Each key and value is separated by the equal sign = character; key-value pairs are separated by the ampersand & character. Each key and value should be URL encoded individually and then the entire string should be URL encoded. Each key within a set of key-values must be unique; if you provide the same key more than once, only one of the associated values is taken into account.

The parameter t=genre%3Daction%26movie=Mr+%2526+Mrs+Smith assigns the key "genre" to the value "action" and the key "movie" to "Mr & Mrs Smith". Note that the "&" between key-value assignments is singly encoded (%26), but doubly encoded (%2526) when it occurs within a value.

Use excl_cat as a special key for competitive exclusions.


The following characters are not permitted in keys or values: " ' ! + # * ~ ; ^ ( ) < > [ ] = . Spaces are allowed in values, escaped as %20 or +, but not in keys.

Setting the key "a" to the value "b+c" with t=a%3Db%252Bc doesn't work.


Mime-type value on the HTTP header.



Mobile ad request indicator.

mob=js (This is the only accepted value.)


Mobile device screen width, which overrides the automatic detection done by the ad server.



Mobile device screen height, which overrides the automatic detection done by the ad server.



Mobile device hardware information, which overrides the automatic detection done by the ad server.

submodel=iPhone4%2C1 (The comma to delimit the submodel value is encoded.)

Submodel values:

  • iPhone (first gen): iphone1,1
  • iPhone 3G: iphone1,2
  • iPhone 3GS: iphone2,1
  • iPhone 4 (GSM): iphone3,1
  • iPhone 4 (GSM): iphone3,2
  • iPhone 4 (CDMA): iphone3,3
  • iPhone 4S: iPhone4,1
  • iPhone 5 (GSM and LTE): iPhone5,1
  • iPhone 5 (CDMA and LTE): iPhone5,2
  • iPhone 5c: (GSM and CDMA): iPhone5,3
  • iPhone 5c (GSM and CDMA): iPhone5,4
  • iPhone 5s (GSM and CDMA): iPhone6,1
  • iPhone 5s (GSM and CDMA): iPhone6,2
  • iPhone 6 : iPhone7,2
  • iPhone 6 Plus: iPhone7,1
  • iPhone 6s: iPhone8,1
  • iPhone 6s Plus: iPhone8,2
  • iPhone SE: iPhone8,4
  • iPhone 7: iPhone9,1
  • iPhone 7 Plus: iPhone9,2 
  • 1st Gen iPod: iPod1,1
  • 2nd Gen iPod: iPod2,1
  • 3rd Gen iPod: iPod3,1
  • 4th Gen iPod: iPod4,1
  • 5th Gen iPod: iPod5,1
  • 1st Gen iPad (Wi-Fi): iPad1,1
  • 1st Gen iPad (AT&T): iPad1,2
  • 2nd Gen iPad (Wi-Fi): iPad2,1
  • 2nd Gen iPad (AT&T): iPad2,2
  • 2nd Gen iPad (Verizon): iPad2,3
  • 2nd Gen iPad (Wi-Fi): iPad2,4
  • 3rd Gen iPad (Wi-Fi): iPad3,1
  • 3rd Gen iPad (Verizon): iPad3,2
  • 3rd Gen iPad (AT&T): iPad3,3
  • 4th Gen iPad (Wi-Fi): iPad3,4
  • 4th Gen iPad (AT&T): iPad3,5
  • 4th Gen iPad (Verizon): iPad3,6
  • iPad Mini (Wi-Fi): iPad2,5
  • iPad Mini (AT&T-US; GSM & LTE 4, 17): iPad2,6
  • iPad Mini (Verizon-World; GSM, DMA & LTE 1,3,5,13,25): iPad2,7
  • iPad Mini Retina (Wi-Fi): iPad4,4
  • iPad Mini Retina (LTE): iPad4,5
  • iPad Air (Wi-Fi): iPad4,1
  • iPad Air (LTE): iPad4,2

Record downloaded and delayed impressions

To record downloaded impressions or to delay recording an impression until after creative content begins to load, use either of the options below, but not both together. Using both of the options together might cause impressions to be double-counted.

DFP is transitioning to downloaded impressions
Publishers using simple URL tags must implement one of the options below before DFP fully transitions impression counting to downloaded impressions. Learn more about this change

Use delayed impression parameters in your simple URL tag

Add the d_imp=1 and d_imp_hdr=1 parameters to your simple URL tags so that DFP 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 DFP.

  • This is required for a downloaded impression to be counted.
    If you do not include these parameters in your simple DFP tag, an "Ad server impression" is recorded immediately upon request, but an "Ad server downloaded impression" is not recorded at all. When DFP transitions to downloaded impressions, impression counting will stop altogether.
  • Do not include the viewed impression macro for creatives returned by these tags.
    If you include the viewed impression macro in a creative returned by a simple URL tag with the delayed impression parameters, an impression will be counted twice.
  • This solution is not compatible with /adx Simple URL tag requests.
    For these requests, you can include the viewed impression macro in the custom or third-party creative code snippet. Ensure these same creatives are not returned by any Simple URL tag that contains the delayed impression parameters.

Troubleshoot report discrepancies between served and downloaded impressions

Use the Request Type dimension in DFP reporting to see impression reporting by tag type.

  1. Sign in to DoubleClick for Publishers.
  2. Click Reports and then Queries.
  3. Click New query.
  4. Create a Historical query, covering dates after February 1, 2017:
  5. Click Run.
  6. Compare the Ad server impressions and Ad server downloaded impressions metric totals for rows containing the "GPT Simple-URL" request type.

    If the ratio between then is lower than 90%, or significantly lower than your network's overall average, your Simple URL tags are likely not set up correctly. Follow the best practices above to resolve the issue.

Was this article helpful?
How can we improve it?