Migrating geo targeting
AdCP 3.0 replaces implicit US-centric geo targeting with named systems that support global markets. Metro and postal targeting now require explicit system specification, and codes are grouped by system.What changed
| v2 field | v3 field | Change type |
|---|---|---|
geo_metros (string array) | geo_metros (system/values objects) | Restructured |
geo_postal_codes (string array) | geo_postal_areas (system/values objects) | Renamed and restructured |
geo_countries, geo_countries_exclude, geo_regions, geo_regions_exclude all remain simple string arrays using ISO codes.
Metro targeting
v2 — flat array of codes, assumed to be Nielsen DMAs:Metro systems
| System | Coverage | Example codes |
|---|---|---|
nielsen_dma | US designated market areas | 501 (New York), 602 (Chicago) |
uk_itl1 | UK regions | UKC (North East), UKD (North West) |
uk_itl2 | UK sub-regions | UKC1 (Tees Valley), UKD3 (Greater Manchester) |
eurostat_nuts2 | EU statistical regions | DE11 (Stuttgart), FR10 (Ile-de-France) |
custom | Publisher-defined areas | Publisher-specific codes |
metro-system.json enum: nielsen_dma, uk_itl1, uk_itl2, eurostat_nuts2, custom.
Postal targeting
v2 — flat array of codes, assumed to be US ZIP codes:geo_postal_areas, codes grouped by system:
Postal systems
| System | Coverage | Precision | Example codes |
|---|---|---|---|
us_zip | US | 5-digit ZIP | 10001, 90210 |
us_zip_plus_four | US | ZIP+4 | 10001-1234 |
gb_outward | UK | Area-level | SW1, EC2 |
gb_full | UK | Full postcode | SW1A 1AA |
ca_fsa | Canada | Forward sortation area | M5V, V6B |
ca_full | Canada | Full postal code | M5V 2T6 |
de_plz | Germany | Postleitzahl | 10115, 80331 |
fr_code_postal | France | Code postal | 75001, 13001 |
au_postcode | Australia | Postcode | 2000, 3000 |
ch_plz | Switzerland | Postleitzahl | 8000, 3000 |
at_plz | Austria | Postleitzahl | 1010, 6020 |
postal-system.json enum: us_zip, us_zip_plus_four, gb_outward, gb_full, ca_fsa, ca_full, de_plz, fr_code_postal, au_postcode, ch_plz, at_plz.
Exclusion targeting
v3 adds_exclude variants for metro and postal targeting:
Discovering seller capabilities
Before sending geo targeting, buyers should verify the seller supports the requested systems. Useget_adcp_capabilities:
geo_metros and geo_postal_areas objects use boolean properties to indicate which systems are supported. If you request a system the seller doesn’t declare, expect a validation error.
Full targeting example
A v3 targeting overlay combining geo restrictions:_exclude variants) act as AND NOT — delivery must match inclusions and must not match any exclusion.
Migration steps
Choose systems
For US-only code, use
nielsen_dma and us_zip. For international, add the appropriate systems.Targeting
Full targeting reference: audiences, contextual, geographic, and device targeting.
Related: Channels | Pricing | Creatives | Catalogs | Attribution | AdCP 3.0 overview