Duplicate by City: one geo-targeted ad set per city

A list of cities in, that many localized ad sets out.

Included on the free plan Reviewed on 26 August 2026

Running local ads on Meta quickly turns into duplicating the same ad set thirty times, changing one targeting line and one word in the headline. That is exactly the kind of work a machine does better.

How it works

You paste your cities, one per line. They are resolved live against Meta’s location API, and anything that matches nothing appears in a separate report.

Each city becomes a geo-targeted ad set, named after the pattern ad set name then city name, previewed before launch. Radius is set from 1 to 200 kilometers, with a default and a per-city override.

Localizing the copy, not just the targeting

The {{city}} token works in any field: headline, primary text, description, and even the destination URL. It is replaced per city at launch, and a per-city preview shows the result before publication.

That is the difference between thirty ad sets targeting thirty cities with the same generic text, and thirty ad sets whose hook names the city the reader lives in.

What this does not solve

Localizing a text is not a local strategy. Dropping a city name into a headline replaces neither an offer adapted to that market nor a landing page that speaks to it.

Splitting by city also multiplies ad sets, and therefore divides the budget. The point holds here as it does for testing structures: thirty underfunded ad sets learn worse than one properly funded.

Frequently asked questions

Questions fréquentes

What happens if a city is not recognized?

It appears in an unresolved-cities report rather than failing the batch. You fix the spelling or remove the line.

Does the token work in the destination URL too?

Yes, as in any text field. That lets you send each ad set to a distinct local page when your site has them.

Can I set a different radius per city?

Yes. A default applies to all of them, and each city accepts its own value between 1 and 200 kilometers.

Launch 167 creatives in 47 seconds

Bulk upload, AI naming detection, campaign structure. No credit card.

Talk to Founder