---
title: "Targeting card reference"
description: "Every editor the Targeting and Pre-targeting card opens, dimension by dimension — fields, defaults, bounds, how each value is read, and the refusal messages — the companion to Add, edit, and remove targeting rules."
type: "reference"
audience: [network-manager, publisher, advertiser, developer]
keywords: [targeting editor, targeting fields, relation, version, screen width bands, IP range, time range, client local time, cookie value, API JSON field, risk score, preset group, location picker, DMP segment]
ui_path: "Account → Advertisers → advertiser → campaign → Targeting"
---

Fetch the complete documentation index at: https://epom.com/ad-server/docs/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Targeting card reference

Reference for [Add, edit, and remove targeting rules](https://epom.com/ad-server/docs/guides/targeting/add-targeting.md): what each editor on the
Targeting / Pre-targeting card asks for. For what each dimension matches on an ad request, see the
[targeting dimension reference](https://epom.com/ad-server/docs/reference/targeting-dimensions.md).

The editor keeps its hints out of the row, so the fields stay level: the ⓘ beside a field's label
says how that value is read, and for the one-box dimensions (Domain, Channel, App Package) the ⓘ
sits beside the dimension's name above the box.

## Pickers

| Editor | Dimensions | What you see |
|---|---|---|
| Multi-select | Country, Browser Country, Language, Mobile Carrier, Day of Week, Device Format, Device Vendor, Protocol, Proxy, Connection Type, Traffic Source | One searchable list; every value you tick becomes its own rule. Country and Browser Country also offer world regions and your custom country groups at the top of the list; a region or group is expanded into one rule per country when saved. Countries and world regions are named in your console language and sorted in it; typing the English name finds them too. The Mobile Carrier list comes from the geo service: while that service is not answering, the picker says *Carriers could not be loaded: the geo service is unavailable. Try again later.* instead of showing an empty list. |
| Operating System | Operating System | Multi-select of systems. Select **exactly one** and a **Relation** (`=`, `<`, `>`, `>=`, `<=`) and a **Version** list appear; both are optional. Selecting a second system clears the version and resets the relation to `=`. |
| Browser | Browser | Multi-select of browsers. Select exactly one that the platform can version-parse and **Relation** plus a numeric **Version** (0–999) appear; both optional. Version-parseable browsers: Chrome, Chrome Mobile, Safari, Mobile Safari, Firefox, Firefox Mobile, Microsoft Edge, Microsoft Edge Mobile, Opera, Opera Mini, Samsung Browser, UC Browser, Yandex, QQ Browser and Baidu Browser. Every other browser is targeted as a whole. |
| Screen width | Screen width | **Quick pick** bands — Phone ≤ 767, Tablet 768–1023, Laptop 1024–1439, Desktop ≥ 1440 px; neighbouring bands join into one range — or your own **From** / **To** in px, where an empty box means no limit. **More: limit height** adds a height range. A line under the fields says what the rule matches (*Matches: screens 1024 to 1439 px wide*). Click a saved rule to reopen it as a range; saving replaces it. See [where the screen size comes from](https://epom.com/ad-server/docs/reference/targeting-dimensions.md#device-and-browser). |
| Preset group | Preset Domains, Preset IP Ranges, Preset App Packages | One preset group per rule. Empty if no group of that kind exists yet — see [Preset groups](https://epom.com/ad-server/docs/guides/targeting/presets.md). |
| Location | Location | Country, then **Region**, then **City**, each revealed by the one above. Only the country is required; leaving region or city empty targets the whole country or region. The country is named in your console language; regions and cities keep the geo database's English names. A region or city the geo database does not know is refused on save with *Unknown region: …* or *Unknown city: …*, as over the REST API. |
| DMP | DMP | Provider, then a segment; picking a segment reveals its children. Only the first level is required — the deepest segment you pick is the one targeted. |
| Day and Time | Day and Time | **Day of Week** (required) plus the same **From** / **To** / **Client local time** controls as Time Range. |

## Typed values and yes/no

| Editor | Dimensions | What you see |
|---|---|---|
| Relation + number | Device Release Year, Device RAM, Browser Rank, Hardware Rank, Platform Rank, Price Band | A **Relation** and one number. Defaults: `>=` for Device Release Year, Device RAM and Price Band; `<=` for the three ranks. |
| IP range | IP Range | **From** and **To**, both required, IPv4 or IPv6. Both ends are included, so for one address enter it in both; **From** must not be higher than **To**, and leading zeros (`194.222.012.001`) are fine. One range per rule — for a saved list use Preset IP Ranges. A malformed address is caught in the page (*"Enter a valid IPv4 or IPv6 range."*, buttons greyed out); a **To** lower than **From** passes the page and is refused by the server with the toast *"Please enter valid IP range (Sample: from 194.222.012.001 to 194.223.07.01, …)"*. |
| Time window | Time Range | **From** and **To** times plus a **Client local time** toggle. Both start at 00:00, and **Include** / **Exclude** stay disabled until the two differ — for the whole day use 00:00 to 23:59. From later than To is the overnight window. Without the toggle the window is network time; with it, the visitor's `tz` offset, falling back to network time for requests without one (VAST, CTV, server-to-server) and for a `tz` beyond ±15. |
| Single text field | Domain, App Package, Channel | One box (labelled **Channel(s)** for Channel). **Domain** takes one host or top-level domain per rule (`example.com`, `co.uk`), without `https://` or a path; it matches that domain and every subdomain of it, ignoring case, and a URL or a list is refused. **App Package** takes one package or bundle ID, matched whole and case-sensitively; a comma is not a separator there, so a typed list becomes one rule that never matches. **Channel** splits on commas and semicolons (`news, sport; tech` becomes three chips) and each channel is matched whole and case-sensitively. For a list of domains or packages use **Bulk add** — see [Target a list you already have](https://epom.com/ad-server/docs/guides/targeting/target-a-list.md). |
| Two text fields | Cookie Value | Cookie **Name** and **Value**, both required. One value per rule: the name must match exactly, the value is compared whole but ignoring case. Several rules on one name are alternatives; between names the list's **or ▾ / and ▾** connector decides. |
| Three text fields | API JSON Field | **API URL**, **JSON field** and **Value**, all required. The ad server fetches the URL as typed, without macros, and keeps the answer for a minute; **JSON field** is a name, not a path, and every field of that name at any depth is checked; **Value** must equal its text exactly, case included. |
| Custom Parameter | Custom Parameter | A **Type**; choosing *Expression* asks for one free-text expression, any other type asks for **Parameter**, **Operator** and **Value**. A parameter registered as a list offers **has all of**. See [Custom parameter targeting](https://epom.com/ad-server/docs/guides/targeting/custom-parameter-targeting.md). |
| Risk score | Traffic Risk Score | **Relation** (defaults to `>=`), a required **Risk level**, and an optional **Category** multi-select — leaving it on *All categories…* covers every category. |
| Nothing to fill | Wi-Fi Traffic, Is Web App, Incognito Mode | Yes/no dimensions. The editor is empty and **Include** / **Exclude** are the whole control: Include means "only this traffic", Exclude means "never this traffic". |

## Permissions

| Permission | Lets you |
|---|---|
| Edit rights on the entity (owner, or a **Can Edit** / **Is Owner** share) | Switch targeting on, add and remove rules. |
| Per-dimension targeting permission (demand side) / pre-targeting permission (supply side) | See that dimension in the list and remove its rules. A rule of a dimension you lack is shown without ✕. |
| **Manage Operation Between TargetingRule Types** | See the **Between rule types** strip and the **or ▾ / and ▾** connectors. |
| **Blocked by** (full or Read-only) | See blocks contributed by the other side or inherited from the campaign or site; the full grant adds the ✕. |

## Over the API

- `POST /rest-api/{entity}/{id}/targeting/match-mode` with `type` (`COOKIE_VALUE`, `CUSTOM`,
  `DMP` or `API_JSON_FIELD`), `rule` (`INCLUDE` / `EXCLUDE`) and `matchMode` (`ANY` / `ALL`)
  switches one list's connector; any other type is refused with 400. Rules of these types read
  back with `matchMode` and, when they share a group, `matchGroup`.
- An equal Time Range (From = To) and an unknown region or city are refused by the API with the
  same messages as the card.
- Everything else — one endpoint per dimension and entity — is in
  [Targeting rules via API](https://epom.com/ad-server/docs/api/targeting-api.md).

## Related

- [Add, edit, and remove targeting rules](https://epom.com/ad-server/docs/guides/targeting/add-targeting.md)
- [Targeting FAQ](https://epom.com/ad-server/docs/guides/targeting/targeting-faq.md)
- [Target a list you already have](https://epom.com/ad-server/docs/guides/targeting/target-a-list.md)
- [Targeting dimension reference](https://epom.com/ad-server/docs/reference/targeting-dimensions.md)
- [Targeting rules via API](https://epom.com/ad-server/docs/api/targeting-api.md)