> For the complete documentation index, see [llms.txt](https://docs.exads.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.exads.com/publishers/sites-and-zones/using-tags.md).

# Using Tags

As a Publisher, you can use tags (keywords) to tell the ad server what kind of content sits on each of your pages, so the advertising you receive matches it more closely.

## Improving Your Advertising Matches

Two methods identify content on your web pages, so you get the most appropriate advertising:

### Method 1: URL Detection Matches <a href="#method-1-url-detection-matches" id="method-1-url-detection-matches"></a>

In this example, <https://www.humourgames.com/>, the detected keywords are "humour" and "games". If your URL contains any category used by advertisers on the network, you receive advertising based on this match.

### Method 2: Tags (Keywords) in Your Ad Zones <a href="#method-2-tags-keywords-in-your-a-d-zones" id="method-2-tags-keywords-in-your-a-d-zones"></a>

In many cases your URL does not match a category precisely. In these cases, you can insert 'tags' into the code in your ad zones to manually match them to the type of advertising you want.

For example, you could insert the tags 'general' and 'humour' into your ad zone code, to ensure that you receive this type of advertising.

Depending on which format you are adding tags to, there are a few different ways of doing it, from `ad_tags`, `&ad_tags`, `tags`, `&tags`, to `data-tags` and `data-ad_tags`. See the examples below for exactly how to do it for each format.

{% hint style="info" %}
**Note**: Separate multiple tags with commas.
{% endhint %}

### Notes About Tags <a href="#notes-about-tags" id="notes-about-tags"></a>

* Using the tag (keyword) method takes priority over the URL keyword method. Therefore, if the ad zone contains the tag "humour" but the URL contains the word "games", the priority for the advertising to target your site(s) is products for the "humour" keyword.
* Currently, only the URL and tag methods determine the category of advertising you receive.

## Examples of Tags in Use <a href="#examples-of-tags-in-use" id="examples-of-tags-in-use"></a>

In the examples below, the tags 'humour' and 'general' have been added to the ad zone codes for a banner ad.

## Web <a href="#web" id="web"></a>

### Banner <a href="#banner" id="banner"></a>

**Asynchronous Script**

Added `data-keywords`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://a.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

**iFrame**

Added `&tags`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<iframe src="//a.examplesite.com/iframe.php?idzone=1234567&size=300x250&tags=general,humour" width="300" height="250" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
```

{% endcode %}

### Popunder <a href="#popunder" id="popunder"></a>

When you create your **Popunder Zone HTML** tag, you can choose from two options:

* **Inline + Remote Script (Recommended)**: This is the recommended format, as it enables popunders to continue working when ad blockers are installed.
* **Remote Script Only**: This format relies only on the remote script. It does not provide an inline fallback.

**Inline + Remote Script (Recommended)**

Added `tags`='general, humour'

{% code expandable="true" %}

```html
<script type="application/javascript">
(function() {

    //version 12.0.0

    var adConfig = {
    "ads_host": "a.examplesite.com",
    "syndication_host": "syndication.examplesite.com",
    "idzone": 1234567,
    "popup_fallback": false,
    "popup_force": false,
    "chrome_enabled": true,
    "new_tab": false,
    "frequency_period": 720,
    "frequency_count": 1,
    "trigger_method": 3,
    "trigger_class": "",
    "trigger_delay": 0,
    "capping_enabled": true,
    "tcf_enabled": false,
    "agego_cross_site_enabled": true,
    "only_inline": false,
    "tags": "general,humour"
};

// Ad script runtime from the generated tag goes here, unchanged
})();


</script>
```

{% endcode %}

**Remote Script Only**

Added `ad_tags`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script type="application/javascript">
    var ad_idzone = "1234567",
    ad_popup_fallback = false,
    ad_popup_force = false,
    ad_chrome_enabled = true,
    ad_new_tab = false,
    ad_frequency_period = 720,
    ad_frequency_count = 1,
    ad_trigger_method = 3,
    ad_trigger_delay = 0,
    ad_capping_enabled = true;
    var ad_tags = "general,humour";
</script>
<script type="application/javascript" src="https://a.examplesite.com/popunder1000.js"></script>
```

{% endcode %}

### Instant Message <a href="#instant-message" id="instant-message"></a>

Added `data-keywords`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Sticky Banner <a href="#sticky-banner" id="sticky-banner"></a>

Added `data-keywords`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Desktop Fullpage Interstitial <a href="#desktop-fullpage-interstitial" id="desktop-fullpage-interstitial"></a>

Added `data-keywords`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Email Banner <a href="#email-banner" id="email-banner"></a>

**Simple Image Tag**

Added `tags`='keywords'

{% code overflow="wrap" expandable="true" %}

```html
<a href="https://s.examplesite.com/click.php?idzone=123&idnewsletter=newsletter20250321&iduniq=456" target="_blank">
  <img src="https://s.examplesite.com/ads-iframe-display.php?idzone=123&tags=keywords&idnewsletter=newsletter20250321&iduniq=456" width="300" height="250">
</a>
```

{% endcode %}

## Video <a href="#video" id="video"></a>

### In-Stream Video (VAST) <a href="#in-stream-video-vast" id="in-stream-video-vast"></a>

Added `&tags`='general, humour'

```
https://syndication.examplesite.com/v1/vast.php?idzone=1234567&tags=general,humour
```

### In-Video Banner (VAST) <a href="#in-video-banner-vast" id="in-video-banner-vast"></a>

Added `&tags`='general, humour'

```
https://syndication.examplesite.com/v1/vast.php?idzone=1234567&tags=general,humour
```

### Video Slider <a href="#video-slider" id="video-slider"></a>

**Asynchronous Script**

Added `data-keywords`='general,humour'

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="123456" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Outstream Video <a href="#outstream-video" id="outstream-video"></a>

Added `data-keywords`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://a.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

## Mobile <a href="#mobile" id="mobile"></a>

### Mobile Banner <a href="#mobile-banner" id="mobile-banner"></a>

**Asynchronous Script**

Added `data-keywords`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://a.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

**iFrame**

Added `&tags`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<iframe src="//a.examplesite.com/iframe.php?idzone=1234567&size=300x250&tags=general,humour" width="300" height="250" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
```

{% endcode %}

### Mobile Popunder <a href="#mobile-popunder" id="mobile-popunder"></a>

When you create your **Popunder Zone HTML** tag, you can choose from two options:

* **Inline + Remote Script (Recommended)**: This is the recommended format, as it enables popunders to continue working when ad blockers are installed.
* **Remote Script Only**: This format loads only the remote script, so it cannot recover ad-blocked traffic. Ad blockers often list the remote script URL, and when it is blocked no ad is served.

**Inline + Remote Script**

Added `tags`='general, humour'

{% code expandable="true" %}

```html
<script type="application/javascript">
(function() {

    //version 12.0.0

    var adConfig = {
    "ads_host": "a.examplesite.com",
    "syndication_host": "syndication.examplesite.com",
    "idzone": 1234567,
    "popup_fallback": false,
    "popup_force": false,
    "chrome_enabled": true,
    "new_tab": false,
    "frequency_period": 720,
    "frequency_count": 1,
    "trigger_method": 3,
    "trigger_class": "",
    "trigger_delay": 0,
    "capping_enabled": true,
    "tcf_enabled": false,
    "agego_cross_site_enabled": true,
    "only_inline": false,
    "tags": "general,humour"
};
// Ad script runtime from the generated tag goes here, unchanged
})();

</script>
```

{% endcode %}

**Remote Script Only**

Added `ad_tags`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script type="application/javascript">
    var ad_idzone = "1234567",
    ad_popup_fallback = false,
    ad_popup_force = false,
    ad_chrome_enabled = true,
    ad_new_tab = false,
    ad_frequency_period = 720,
    ad_frequency_count = 1,
    ad_trigger_method = 3,
    ad_trigger_delay = 0,
    ad_capping_enabled = true;
    var ad_tags = "general,humour";
</script>
<script type="application/javascript" src="https://a.examplesite.com/popunder1000.js"></script>
```

{% endcode %}

### Mobile Instant Message <a href="#mobile-instant-message" id="mobile-instant-message"></a>

Added `data-keywords`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Mobile Fullpage Interstitial <a href="#mobile-fullpage-interstitial" id="mobile-fullpage-interstitial"></a>

Added `data-keywords`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

## Native <a href="#native" id="native"></a>

### Recommendation Widget <a href="#recommendation-widget" id="recommendation-widget"></a>

Added `data-keywords`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

## Push Notification <a href="#push-notification" id="push-notification"></a>

Added `data-keywords`='general, humour'

```html
<script async type="application/javascript" src="https://a.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

## Multi-Format <a href="#multi-format" id="multi-format"></a>

Added `data-keywords`='general, humour'

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://a.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork" data-zoneid="1234567" data-keywords="general,humour"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

## Custom Targeting Tags <a href="#custom-targeting-tags" id="custom-targeting-tags"></a>

A Network Admin User can set key-value pairs for custom targeting. Once they are set up, you can pass one value per key with each ad request, and advertisers can target those keys and values in their campaigns. For example, if you pass a custom key-value of age=18, campaigns targeting that age range become eligible to serve ads in your ad zone, provided all other criteria match.

Below are examples of some custom targeting tags for different ad formats:

![](https://2421941036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoiffCg2y27CXM9bLruG3%2Fuploads%2FpMnoWVc93oUbDYYTzkWs%2Fcustom-targeting-publishers.png?alt=media\&token=ba45b694-6278-4d8d-8873-818c8e68cb36)

### Banner <a href="#banner-1" id="banner-1"></a>

**Asynchronous Script**

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://a.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

**iFrame**

{% code overflow="wrap" expandable="true" %}

```html
<iframe src="//a.examplesite.com/iframe.php?idzone=1234567&size=300x250&ex-ranges=1234&ex-car-brand=name&ex-credit-score=1234&ex-uuid=a1b2c3&ex-numbers=1234" width="300" height="250" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
```

{% endcode %}

### Popunder <a href="#popunder-1" id="popunder-1"></a>

**Inline + Remote Script (Recommended)**

{% code expandable="true" %}

```html
<script type="application/javascript">
(function() {

    //version 12.0.0

    var adConfig = {
    "ads_host": "ads.examplesite.com",
    "syndication_host": "syndication.examplesite.com",
    "idzone": 1234567,
    "popup_fallback": false,
    "popup_force": false,
    "chrome_enabled": true,
    "new_tab": false,
    "frequency_period": 720,
    "frequency_count": 1,
    "trigger_method": 3,
    "trigger_class": "",
    "trigger_delay": 0,
    "capping_enabled": true,
    "tcf_enabled": false,
    "agego_cross_site_enabled": true,
    "only_inline": false,
    "customTargeting": {
        "ex-ranges": "1234",
        "ex-car-brand": "name",
        "ex-credit-score": "1234",
        "ex-uuid": "a1b2c3",
        "ex-numbers": "1234"
    }
};

// Ad script runtime from the generated tag goes here, unchanged
})();

</script>
```

{% endcode %}

**Remote Script Only**

```html
<script type="application/javascript">
    var ad_idzone = "1234567",
    ad_popup_fallback = false,
    ad_popup_force = false,
    ad_chrome_enabled = true,
    ad_new_tab = false,
    ad_frequency_period = 720,
    ad_frequency_count = 1,
    ad_trigger_method = 3,
    ad_trigger_delay = 0,
    ad_capping_enabled = true;
    var customTargeting = { 'ex-ranges': '1234', 'ex-car-brand': 'name', 'ex-credit-score': '1234', 'ex-uuid': 'a1b2c3', 'ex-numbers': '1234' };
</script>
<script type="application/javascript" src="https://ads.examplesite.com/popunder1000.js"></script>
```

### Instant Message <a href="#instant-message-1" id="instant-message-1"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Direct Link <a href="#direct-link" id="direct-link"></a>

{% code overflow="wrap" expandable="true" %}

```html
<a href="https://syndication.examplesite.com/v1/d.php?z=1234567&ex-ranges=1234&ex-car-brand=name&ex-credit-score=1234&ex-uuid=a1b2c3&ex-numbers=1234" target="_blank">Click Here!</a>
```

{% endcode %}

### Sticky Banner <a href="#sticky-banner-1" id="sticky-banner-1"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Email Clicks <a href="#email-clicks" id="email-clicks"></a>

{% code overflow="wrap" expandable="true" %}

```html
<a href="https://syndication.examplesite.com/v1/link.php?idzone=1234567&ex-ranges=1234&ex-car-brand=name&ex-credit-score=1234&ex-uuid=a1b2c3&ex-numbers=1234" target="_blank">Click Here!</a>
```

{% endcode %}

### Desktop Fullpage Interstitial <a href="#desktop-fullpage-interstitial-1" id="desktop-fullpage-interstitial-1"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Mobile Banner <a href="#mobile-banner-1" id="mobile-banner-1"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Mobile Popunder <a href="#mobile-popunder-1" id="mobile-popunder-1"></a>

**Inline + Remote Script**

{% code expandable="true" %}

```html
<script type="application/javascript">
(function() {

    //version 12.0.0

    var adConfig = {
    "ads_host": "ads.examplesite.com",
    "syndication_host": "syndication.examplesite.com",
    "idzone": 1234567,
    "popup_fallback": false,
    "popup_force": false,
    "chrome_enabled": true,
    "new_tab": false,
    "frequency_period": 720,
    "frequency_count": 1,
    "trigger_method": 3,
    "trigger_class": "",
    "trigger_delay": 0,
    "capping_enabled": true,
    "tcf_enabled": false,
    "agego_cross_site_enabled": true,
    "only_inline": false,
    "customTargeting": {
        "ex-ranges": "1234",
        "ex-car-brand": "name",
        "ex-credit-score": "1234",
        "ex-uuid": "a1b2c3",
        "ex-numbers": "1234"
    }
};

// Ad script runtime from the generated tag goes here, unchanged
})();

</script>
```

{% endcode %}

**Remote Script Only**

```html
<script type="application/javascript">
    var ad_idzone = "1234567",
    ad_popup_fallback = false,
    ad_popup_force = false,
    ad_chrome_enabled = true,
    ad_new_tab = false,
    ad_frequency_period = 720,
    ad_frequency_count = 1,
    ad_trigger_method = 3,
    ad_trigger_delay = 0,
    ad_capping_enabled = true;
    var customTargeting = { 'ex-ranges': '1234', 'ex-car-brand': 'name', 'ex-credit-score': '1234', 'ex-uuid': 'a1b2c3', 'ex-numbers': '1234' };
</script>
<script type="application/javascript" src="https://ads.examplesite.com/popunder1000.js"></script>
```

### Mobile Instant Message <a href="#mobile-instant-message-1" id="mobile-instant-message-1"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Mobile Fullpage Interstitial <a href="#mobile-fullpage-interstitial-1" id="mobile-fullpage-interstitial-1"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### In-Stream Video (VAST) <a href="#in-stream-video-vast-1" id="in-stream-video-vast-1"></a>

{% code overflow="wrap" %}

```
https://syndication.examplesite.com/v1/vast.php?idzone=1234567&ex-ranges=1234&ex-car-brand=name&ex-credit-score=1234&ex-uuid=a1b2c3&ex-numbers=1234
```

{% endcode %}

### In-Stream Banner (VAST) <a href="#in-stream-banner-vast" id="in-stream-banner-vast"></a>

{% code overflow="wrap" %}

```
https://syndication.examplesite.com/v1/vast.php?idzone=1234567&ex-ranges=1234&ex-car-brand=name&ex-credit-score=1234&ex-uuid=a1b2c3&ex-numbers=1234
```

{% endcode %}

### Video Slider <a href="#video-slider-1" id="video-slider-1"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Outstream Video <a href="#outstream-video-1" id="outstream-video-1"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-keywords="keywords"
  data-sub="123450000"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Recommendation Widget <a href="#recommendation-widget-1" id="recommendation-widget-1"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Push Notifications <a href="#push-notifications" id="push-notifications"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### In Page Push Notifications <a href="#in-page-push-notifications" id="in-page-push-notifications"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-keywords="keywords"
  data-sub="123450000"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}

### Multi Format <a href="#multi-format-1" id="multi-format-1"></a>

{% code overflow="wrap" expandable="true" %}

```html
<script async type="application/javascript" src="https://ads.examplesite.com/ad-provider.js"></script>
<ins class="adsbynetwork"
  data-zoneid="1234567"
  data-ex-ranges="1234"
  data-ex-car-brand="name"
  data-ex-credit-score="1234"
  data-ex-uuid="a1b2c3"
  data-ex-numbers="1234"></ins>
<script>
  (AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.exads.com/publishers/sites-and-zones/using-tags.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
