← ClaudeAtlas

ads-geolisted

Set up location targeting for OpenAI Ads — postcodes, regions, countries. Use this skill for geo targeting, local customers, catchment area, service radius, location, region, postcode, or whenever ads should only appear in certain areas.
devaimani/openai-ads-mcp · ★ 0 · AI & Automation · score 76
Install: claude install-skill devaimani/openai-ads-mcp
# Location targeting ## Available levels Verified against the live API on 2026-09-04 for Germany: | Type | Example | ID | |---|---|---| | `country` | Germany | `1000056` | | `region` | Baden-Württemberg | `2000346` | | **`postal_code`** | 10115 Berlin | `10015849` | **`postal_code` appears in no documentation but works.** Postcode-level targeting is therefore possible. **`dma` does not exist for Germany.** It never appeared in any query and looks US-specific. **Radius targeting does not exist.** Model a catchment area as a list of postcodes. In practice that is more precise, because it follows municipal boundaries rather than a circle. With no location set, the campaign runs across every available area. ## Three pitfalls **Umlauts are mandatory.** | Input | Results | |---|---| | `Muenchen` | 0 | | `München` | 78 | | `Koeln` | 0 | | `Köln` | 48 | The `search_geo` tool rewrites ae/oe/ue automatically and tries both forms. Calling the API directly requires handling this yourself. **English exonyms find nothing German.** `Munich` returns two results, none with `country_code: DE`. Same for `Cologne`. **Districts and localities do not exist.** A German `Landkreis` returns no results, and neither do sub-municipal localities — those are covered by the parent town's postcode. **Duplicate names.** `Birkenfeld` exists three times: 55765, 75217 and 97834. Always select by postcode, never by name. ## Procedure ``` 1. search_geo("Karlsruhe", country="DE") -> collect IDs 2.