---
title: "Targeting FAQ"
description: "Answers to the questions that come up when targeting does not do what you expected — how include, exclude and AND / OR combine, Country versus Location, excluding a combination, targeting a URL path, routing by a page value, finding every campaign that targets a country, which time zone a Time Range uses, and reaching people behind a VPN."
type: "howto"
audience: [network-manager, publisher, advertiser]
keywords: [targeting faq, include exclude, AND OR, country or location, exclude combination, target url path, custom parameter routing, which campaigns target a country, time zone, client local time, VPN, proxy targeting, browser country]
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 FAQ

The questions that come up once rules are in place. How to add and remove rules is in
[Add, edit, and remove targeting rules](https://epom.com/ad-server/docs/guides/targeting/add-targeting.md).

## How do include, exclude and AND / OR combine?

Inside one dimension: any matching **Exclude** rule fails the dimension; otherwise, if the
dimension has **Include** rules, at least one must match (they are OR'd). **Cookie Value** is the
exception, together with Custom Parameter, DMP and API JSON Field: each of their lists can be
switched to **and**, so the visitor needs every group, or is kept out only matching every group.
The values listed for one cookie name, or one custom parameter, stay alternatives either way
([And / or between groups](https://epom.com/ad-server/docs/guides/targeting/add-targeting.md#and--or-between-groups)). Between dimensions the
entity's **AND / OR** switch applies: with **AND** every dimension that has rules must pass, with
**OR** one passing dimension is enough. Levels always stack with AND — a banner serves only if
its advertiser, campaign and banner targeting all pass (and, on the supply side, the site, zone
and placement pre-targeting).

When the visitor's value is unknown (no country detected, no domain on the request) an Include
rule fails and an Exclude rule is skipped.

## Can I target a URL or part of a URL (only /watch/ pages)?

Not with a built-in rule: **Domain** targeting matches **hosts only**, never the path — a rule on
`example.com` matches `example.com` and every subdomain (`news.example.com`), never a single
section of the site. Two ways to target pages:

- **Separate placements per page type** — the cleanest: put a different placement's tag on
  `/watch/` pages and link only the campaigns meant for them. Reports then split by placement
  too.
- **Custom parameter targeting** on the page URL. A [Custom Parameter](https://epom.com/ad-server/docs/guides/targeting/custom-parameter-targeting.md)
  rule reads any request parameter, including `requestUrl` — the page URL the tag sends (set it
  with `data-page-url` on the tag, or let the loader send the current URL). A *Substring* rule
  "`requestUrl` contains `/watch/`" matches those pages. Or have the page send its own section as
  a custom parameter (`data-cp-section="watch"`) and target that — more robust than matching URLs.

## Country or Location — which one?

Both work on the visitor's IP location. **Country** takes a list of countries (and country
groups); **Location** picks one country, region or city per rule. They are different dimensions,
so a campaign with both is combined by its AND / OR switch like any other two dimensions — use
**Country** for country lists and **Location** only when you need regions or cities. (Browser
Country is a third, separate dimension that reads the country from the browser's settings, not
from the IP.)

## How do I exclude a combination — Windows users in one city — and keep everyone else?

There is no rule for "this AND that" as one exclusion. Excluding *Windows* and excluding *the
city* on an AND entity removes **all** Windows users and **everyone** in the city. Options:

- **Split the campaign**: one copy for the country without the city, one for the city that
  excludes Windows. Each copy uses ordinary rules.
- **OR on an entity with only those two dimensions**: with the operator set to **OR**, an Exclude
  on the OS and an Exclude on the city block a request only when **both** fail — Windows *in*
  that city — because any other visitor passes one of the two. This works only while the entity
  has no other targeting dimension (under OR any passing dimension lets the request through), so
  keep the country or other limits on the campaign or advertiser level, which always stack with
  AND.

## Can I route traffic by a value my page sends?

Yes — send it as a custom parameter (`data-cp-<name>` on the tag, `&cp.<name>=` on a URL) and add a
[Custom Parameter](https://epom.com/ad-server/docs/guides/targeting/custom-parameter-targeting.md) rule on the campaign or banner that should get
that traffic. Use the **channel** (`data-channel`) when it is a traffic source you also want as a
report dimension.

## How do I find every campaign that targets a country?

There is no search across all entities by targeting value. Two practical routes: open the
placement's **Banners probability** card and filter it by the country — it lists the banners that
can serve there and their share; or run a General report grouped by **Country** and **Campaign**
to see which campaigns actually delivered in it.

## Which time zone does a Time Range use?

Without **Client local time** the window is in the **network's time zone** — UTC unless your
network has been set to another zone (`reportingTimeZone` in `GET /rest-api/network/settings.do`
names it). On a UTC network a campaign meant for 09:00–18:00 in UTC+3 needs 06:00–15:00; on a
network set to a zone with daylight saving the window follows that zone's clock through the
change. With **Client local time** it is the visitor's own clock, taken from the UTC offset the JS
loader sends (`tz`, in hours: `-5`, `5.5`). VAST, CTV, Direct URL and server-to-server requests do
not send `tz` unless you add it, so for them the "local" window falls back to network time as well —
and so does a `tz` beyond ±15, which is what an offset sent in minutes looks like.

Both ends are inclusive to the minute (09:00–17:59 ends at 17:59). A window whose end is
earlier than its start runs over midnight: 22:00–06:00 is the night. **Day and Time** applies
the same window on the picked weekdays only. **Day of Week** on its own has no toggle and always
uses the visitor-local offset, the same way as with **Client local time** on.

## Can I reach people really located in a country even when they use a VPN?

The IP is all the server sees, and behind a VPN or proxy it is the VPN's — the real IP cannot be
recovered. Two dimensions help:

- **Proxy** matches IPs the IP data provider classifies as a proxy or VPN, by category — exclude
  it to keep such traffic out, or include it to buy only that traffic.
- **Browser Country** reads the country from the browser's time zone, which a VPN does not
  change. *Proxy* included + *Browser Country* = Kazakhstan reaches VPN users whose browser
  clock is set to Kazakhstan. It needs the JS loader (it sends the time-zone name); VAST and
  Direct URL requests have no browser country.

## Related

- [Add, edit, and remove targeting rules](https://epom.com/ad-server/docs/guides/targeting/add-targeting.md)
- [Target a list you already have](https://epom.com/ad-server/docs/guides/targeting/target-a-list.md)
- [Targeting card reference](https://epom.com/ad-server/docs/guides/targeting/add-targeting-reference.md)
- [Targeting dimension reference](https://epom.com/ad-server/docs/reference/targeting-dimensions.md)
- [Custom parameter targeting](https://epom.com/ad-server/docs/guides/targeting/custom-parameter-targeting.md)