Get Campaign Targeting Locations
get_campaign_targeting_locationsWhere a campaign actually TARGETS, by channel, with the platform's location ids resolved to country and state names.
KEYWORDS: campaign, targeting, location, geo, country, region, where, targets, germany, dach, emea, market, geographic
WHEN TO USE:
- "Which campaigns target <country>?" / "Do we run anything in Germany?"
- "Where is this campaign targeted?" before editing or launching it
- Any question about geographic TARGETING
DO NOT ANSWER GEO TARGETING FROM demographic_country_stats. That tool reports where ads were SERVED (delivery); this one reports where they are AIMED. The two disagree routinely, and answering a targeting question from delivery data is how the agent once told an account with 68 Germany campaigns that it had none.
RETURNS:
- campaigns: [{campaignId, name, status, channels[], summary}]
- channels[]: {channel, enabled, geoSource, targeting{resolved, countries[{id,name}], states[], ...}, exclusions}
geoSource is "search_ad_location" (Google/Microsoft, held on the channel) or
"native_audience" (LinkedIn/Meta/Reddit, held on the attached audience).
- summary: {countries[], unresolvedIds[], partial}
- query: {countryFilter, scanned, matched, unreadable[]}
- limitations: []
READING THE RESULT - these three distinctions are the whole point:
- countries: [] means nothing is targeted. targeting.resolved false means it could NOT BE READ. Never report the second as the first.
- exclusions.readable is ALWAYS false: the platform offers no GET for negative locations. Never state that a campaign excludes, or does not exclude, anywhere.
- summary.partial true means this answer is incomplete. Say so rather than presenting it as a full list.
- If `limitations` mentions truncation, you have NOT seen the whole account. Re-call with a higher max_campaigns before answering "there are none".
PARAMETERS:
- campaign_ids: specific wizard campaign ids (optional)
- country_names: filter to campaigns targeting these, e.g. ["Germany"] (optional). Names must match the platform catalog; unmatched names are reported, never silently dropped.
- max_campaigns: cap when scanning the account (default 25, max 100)
With neither campaign_ids nor country_names, returns the most recent campaigns up to max_campaigns.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_ids | No | Wizard campaign ids to read. Omit to scan the account. | |
| country_names | No | Filter to campaigns targeting these countries, e.g. ["Germany", "Austria"]. | |
| max_campaigns | No | Cap on campaigns read when scanning (default 25, max 100). |