Browse the help center

Targeting dimension reference

All 43 targeting rule types — enum value, id, picker, rule options and corner cases — grouped as the Targeting card groups them.

Reference network manager advertiser Account → entity → Targeting / Pre-targeting

The platform defines 43 rule types. 38 of them are dimensions you pick from the add-rule list on the Targeting card; the remaining 5 are blocked-entity types that no picker offers — they are created by blocking actions and are listed at the bottom of this page.

Every dimension below is available at all six entity levels — site, zone and placement on the supply side (where the card is called Pre-targeting), advertiser, campaign and banner on the demand side. Each is permission-gated twice, once per side: a dimension missing from your add-rule list means your role lacks that grant, not that the dimension does not apply here.

Note: the order below is the add-rule list order. Saved rules on the card are grouped in a slightly different order, so a dimension can sit in a different position there.

How to read the tables

  • Value · id — the rule type’s name and its numeric id. Both are stable; the REST API takes the value as type=. Ids run 1–44; 6 is not in use.
  • Picker / values — what the add-rule editor shows, and where its option list comes from.
  • Rule options — controls beyond the Include / Exclude choice. Relation operators are always the same five: =, <, >, >=, <=.

Geographic

DimensionValue · idPicker / valuesRule optionsNotes / corner cases
CountryCOUNTRY · 1Multi-select: custom country groups, then world regions, then individual countries — one searchable list—Groups come first because the server concatenates them in that order; regions carry a REG prefix, custom groups a CUSTOM one
Browser CountryBROWSER_COUNTRY · 43The same combined list as Country—Country derived from the browser’s time zone (tzn, sent by the JS loader) rather than the visitor’s IP location — so a VPN does not change it. Requests without tzn (VAST, Direct URL, API) have no browser country
LocationLOCATION · 7Cascading single-select: Country → Region → CityRegion and city optional — stop at any level to target the whole country or regionThe server needs all three parts, so a level you skip is sent as -
LanguageLANGUAGE · 2Multi-select of browser/device languages—
Mobile CarrierMOBILE_CARRIER · 10Multi-select of carrier / ISP names—

Corner case: Country, Location and Mobile Carrier all read their option lists from the geo service. When it is unavailable the picker is simply empty — there is no error — so a blank list means “cannot reach the data”, not “no options exist”.

Temporal

DimensionValue · idPicker / valuesRule optionsNotes / corner cases
Time RangeTIME_RANGE · 8From / To time inputsClient local time toggleLeft off, the window is evaluated in UTC — not the ad server’s local zone and not your account’s reporting zone. With it on, in the visitor’s UTC offset — which only the JS loader sends (tz); a VAST, Direct URL or API request without tz is evaluated in UTC. Both ends are inclusive; a range whose end is before its start runs over midnight (22:00–06:00)
Day of WeekDAY_OF_WEEK · 9Multi-select of weekdays—Evaluated in the visitor’s local time, from the time-zone offset the ad tag reports; a request that reports none falls back to UTC. There is no toggle: a standalone Day of Week rule is always visitor-local, unlike Time Range
Day and TimeDATE_TIME · 25Weekday multi-select + From / To timeClient local time toggleOne rule = the picked days combined with the one time window; same UTC default as Time Range

Device and Browser

DimensionValue · idPicker / valuesRule optionsNotes / corner cases
Operating SystemOPERATING_SYSTEM · 5Multi-select of OS familiesWith exactly one OS picked: Relation + Version single-selectPicking a second OS clears the version narrowing — the server only reads a version when a single OS was sent
BrowserBROWSER · 4Multi-select of browsersWith exactly one version-capable browser picked: Relation + numeric Version, 0–999Only browsers whose version string the platform can parse offer the field; the server re-checks that before saving the versioned rule
Device FormatDEVICE_FORMAT · 13Multi-select (desktop / mobile / tablet, …)—
Device VendorDEVICE_VENDOR · 14Multi-select of device manufacturers—Only vendors the detection database marks as targetable are listed
ResolutionRESOLUTION · 18Single-select of common screen sizes, plus a Custom… entryRelation always required; Custom reveals Width + Height, 0–9999 eachOne rule per add — repeat the add for several sizes
ProtocolPROTOCOL · 21Multi-select (HTTP / HTTPS)—
Wi-Fi TrafficWIFI_TRAFFIC · 11None — a yes/no dimensionInclude = Wi-Fi only, Exclude = non-Wi-Fi only
Is Web AppIS_WEB_APP · 38None — a yes/no dimensionInclude = in-app / WebView traffic, Exclude = ordinary browser
Incognito ModeINCOGNITO_MODE · 42None — a yes/no dimensionInclude = private-browsing traffic, Exclude = normalDetection is best-effort in the ad tag; a request where it could not be determined counts as not incognito

Device scores and specs

All six take one number and a relation. The scores come from the device-detection database.

DimensionValue · idInputDefault relationNotes
Device Release YearDEVICE_RELEASE_YEAR · 33Year>=
Device RAMDEVICE_RAM · 37RAM in MB>=
Browser RankBROWSER_RANK · 34Rank<=Lower rank is better, so the default keeps the top browsers
Hardware RankHARDWARE_RANK · 35Rank<=Same direction as Browser Rank
Platform RankPLATFORM_RANK · 36Rank<=Same direction as Browser Rank
Price BandPRICE_BAND · 39Price in USD>=Approximate device price tier

How device, OS and browser are detected

Every hit is detected on its own: the ad request, the impression pixel and the click each go through device detection with the headers that hit arrived with. The detection reads, in this order:

  1. a clientUa parameter on the request (server-to-server API calls pass the visitor’s user agent here),
  2. the X-Device-User-Agent header (server-side ad insertion stitchers forward the viewer’s user agent in it),
  3. otherwise the request’s own User-Agent header plus its client hints (Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Model, Sec-CH-UA-Full-Version-List and the other Sec-CH-UA-* headers).

The detected device type maps to Device Format: phones, small screens and watches → Mobile; tablets and e-readers → Tablet; desktops and kiosks → Desktop; TVs, consoles, media hubs, VR headsets, smart speakers and car displays → Smart TV. When detection gives no device type, the device format is taken from the operating system parsed from the user agent. IoT devices and routers get no device format at all. A request whose format (or OS, browser, vendor) is unknown fails an Include rule of that dimension and passes an Exclude rule.

Why does a report show mobile traffic when the campaign excludes mobile?

Targeting is decided once, on the ad request. The device you see in a report row comes from the hit that was counted — an impression is logged with the device detected from the impression pixel’s own request, a click with the click’s. The two can disagree:

  • Different evidence. Chromium browsers send only a reduced user agent (no phone model, frozen OS version) plus low-entropy client hints. The detailed hints (model, OS version) are sent only after the browser has seen the ad server’s Accept-CH answer and only where the page allows them, so two requests of the same page view can carry different evidence — the ad request classified as Tablet, the impression pixel as Mobile, or the other way round.
  • A different client fired the hit. A video player SDK, a server-side stitcher or a third-party wrapper may request the VAST or fire the impression pixel from somewhere other than the viewer’s browser. Unless it forwards the viewer’s user agent (X-Device-User-Agent or clientUa), the hit is detected as the player or the server.

A small share of such rows is expected. A large one means the tag or the player is not passing the viewer’s user agent.

Client hints: what publishers can add for better device data

Every ad-server response carries an Accept-CH header asking the browser for Sec-CH-UA, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform and Sec-CH-UA-Platform-Version. A browser sends the high-entropy ones (model, platform version, full version list) to a third-party ad domain only when the publisher’s page delegates them. The publisher adds a response header on its pages, for example:

Permissions-Policy: ch-ua-model=(self "https://<ad-serving-domain>"), ch-ua-platform-version=(self "https://<ad-serving-domain>"), ch-ua-full-version-list=(self "https://<ad-serving-domain>")

with your network’s ad-serving domain in place of <ad-serving-domain>. Without it the Device Vendor, model-based specs and OS-version rules have less to work with on Chromium browsers.

Targeting a range of OS versions (all iOS 17 and newer)

There are no version groups — pick one operating system in the Operating System editor and set Relation >= and the Version: one rule covers every newer version too. For a band (Android 12 to 14) add an Include rule >= 12 and an Exclude rule >= 15.

Content and Apps

DimensionValue · idPicker / valuesRule optionsNotes / corner cases
DomainDOMAIN · 17Free-text domain—One domain per rule. Matches the host and its subdomains (example.com also matches news.example.com), never a path. Checked against the rd parameter, the Referer, requestUrl, the request URL and the origin — any match counts. For URL paths see Can I target a URL?
ChannelCHANNEL · 16Free-text channel value(s)—A comma- or semicolon-separated list is split client-side and creates one rule per entry in a single click
App PackageAPP_PACKAGE · 30Free-text package / bundle id—
Cookie ValueCOOKIE_VALUE · 15Cookie Name + Value text fields—Matches a cookie on the visitor’s browser
Custom ParameterCUSTOM · 12Parameter-kind single-select; kind Expression shows one free-text expression, every other kind shows Operator + Parameter + ValueThe operator list depends on the picked kindMatches key-value parameters passed in the ad request — see Custom-parameter targeting

Network

DimensionValue · idPicker / valuesRule optionsNotes / corner cases
IP RangeIP_RANGE · 3From IP + To IP text fields—IPv4 and IPv6 both accepted; a single address is the same value in both fields
ProxyPROXY · 32Multi-select of proxy / VPN detection categories—
Connection TypeCONNECTION_TYPE · 41Multi-select of connection types—The UNKNOWN value is filtered out of the list, so a request whose connection type could not be determined can be matched by neither Include nor Exclude
Traffic SourceTRAFFIC_SOURCE · 44Multi-select; Header Bidding is the only value today—Names the integration a request arrived through, not anything about the visitor. An ordinary ad tag carries no traffic source, so include Header Bidding refuses tag traffic and exclude Header Bidding lets it through

Presets

All three take one admin-defined group. See Preset groups.

DimensionValue · idPicker / valuesNotes
Preset DomainsPRESET_DOMAINS · 20Single-select of domain groupsOne group per rule
Preset IP RangesPRESET_IP_RANGES · 26Single-select of IP-range groupsOne group per rule
Preset App PackagesPRESET_APP_PACKAGES · 29Single-select of app-package groupsOne group per rule

Data and API

DimensionValue · idPicker / valuesRule optionsNotes / corner cases
DMPDMP · 19Provider single-select, then a drill-down through segment levelsThe deepest segment you drilled to is what gets targetedProviders are permission-gated one by one — the segment tree of a provider your role lacks stays empty; segment levels load as you drill
API JSON FieldAPI_JSON_FIELD · 31API URL + JSON field + Value text fields—The platform calls the URL and compares the named JSON field against the value

Risk

DimensionValue · idPicker / valuesRule optionsNotes / corner cases
Traffic Risk ScoreTRAFFIC_RISK_SCORE · 40Risk-level single-select + optional risk-category multi-selectRelation, default >=Leaving the categories empty means all categories. See Invalid traffic and risk scoring

Targeting and DSP demand

Every targeting dimension applies to external DSP (RTB) demand too: targeting rules are evaluated locally, on every candidate, before any bid request is built. The rule engine makes no distinction by creative type, and the RTB pool is assembled after targeting exclusions have been applied — so a campaign or banner your rules exclude never reaches the DSP at all. Your rules are not forwarded to the DSP either; the DSP sees the ordinary OpenRTB request fields.

The one place a per-value DSP flag is real is inside the Operating System and Browser option lists, where individual values are marked DSP-capable or not. The flag is served with those lists but no screen displays it, so you cannot see it in the product today.

Where the option lists come from

Every multi-select and single-select dimension fills its list from one shared endpoint, GET /account/target/all-targets.do?type=<VALUE>, except the three preset dimensions, which each read their own group list. Dimensions with no entry in that endpoint — the yes/no ones, the numeric ones, the free-text ones and Custom Parameter — have nothing to fetch.

Blocked-entity rule types

These five appear on the card under the Blocking and is Blocked by groups, but the server strips all five out of the add-rule list for every user regardless of permission. They are created only by blocking actions — see Blocking demand and inventory.

Rule typeValue · idHeld byBlocks
Blocked BannersBLOCKED_BANNERS · 22Site / zone / placementOne banner
Blocked CampaignsBLOCKED_CAMPAIGNS · 27Site / zone / placementOne campaign and its banners
Blocked AdvertisersBLOCKED_ADVERTISERS · 28Site / zone / placementAll demand of one advertiser
Blocked PlacementsBLOCKED_PLACEMENTS · 23Banner / campaignOne placement
Blocked SitesBLOCKED_SITES · 24Banner / campaignOne site’s whole inventory

Note: blocked-entity rules keep applying even when the entity’s targeting switch is off, and creating one silently switches targeting on for the receiving entity.

Placement types

Every one of the 38 dimensions lists the same seven placement types — Site, Mobile Site, Video, Non-standard, Application, Email and Native. Click-through placements are the exception: no dimension lists them, so the type filter would return an empty list for one.

That filter only runs when the caller asks for it by placement type, and the new UI never does, so in practice the Pre-targeting card on a click-through placement shows the full list anyway. Treat targeting on a click-through placement as unsupported rather than as working.

Related pages

Please disable Adblock
Are you using adblock? Disable it and reload the page to proceed to the destination page.

A registration has already been submitted from this page. Please try again in 10 minutes.