Targeting FAQ
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.
The questions that come up once rules are in place. How to add and remove rules is in Add, edit, and remove targeting rules.
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). 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
rule reads any request parameter, including
requestUrl— the page URL the tag sends (set it withdata-page-urlon the tag, or let the loader send the current URL). A Substring rule “requestUrlcontains/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 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.