What do Meta's translation features do?
Meta offers two features that overlap, and recommends using one of them per ad.
Text translations in Advantage+ creative
Meta lists Translations among its Advantage+ creative enhancements, and the Help Centre calls the feature generative AI translations. You turn it on at the Translations step of ad creative set-up in Ads Manager, or through the Marketing API as text_translation in the ad's creative features (Meta for Developers).
- It translates the headline and primary text of single image, single video and carousel ads into each viewer's preferred language, impression by impression. You can't edit the translation, but the preview shows the text and the available languages before you publish.
- Supported pairs: English into Spanish, Portuguese, Chinese, French, German, Hindi, Tagalog, Vietnamese, Bengali, Arabic, Indonesian and Italian, plus German to English and Spanish to English.
- Overlay translations translate the text inside single images on Facebook Feed and Instagram Feed, from English to Spanish, Portuguese, French, German, Italian and Indonesian.
- Voice translations dub a single video's voiceover from English into 13 languages, among them German, French, Italian, Polish, Dutch and Turkish, on Facebook Feed and Instagram Feed, Reels and Stories. Meta's developer docs still list English to Spanish as the only pair through the API.
- Availability varies by region. Meta says financial services, health and special ad categories may not get its generative AI features straight away.
For a European team the language list decides most of it: Dutch, Polish, Swedish, Danish or Czech copy needs dynamic language optimization or a separate ad. Meta's older automatic translation, which did cover Dutch, Swedish and Polish, is being removed.
Dynamic language optimization
Dynamic language optimization holds several language versions in one ad. Meta shows each person their language and spreads one budget across the versions (Create an ad using dynamic language optimization). Meta is moving it from a Languages section into the same Translations step.
- You enter a headline and primary text per language, for up to 48 languages beyond the default, and can add a different image for each.
- With the traffic, engagement, leads or sales objective you can set a website URL per language. With other objectives the URL stays the same for every language.
- Only single image or single video ads. It doesn't work with dynamic creative, partnership ads, Advantage+ sales campaigns using Advantage+ creative, or Instant Experience and messaging app destinations.
- Some placements are incompatible and Ads Manager asks you to remove them. If you also customise creative by placement, the limit drops to 4 placements and 11 languages (Meta's guide).
- Ads Reporting breaks results down by language under View ad creative performance.
Which language does each person see?
Meta predicts each person's language from signals such as location, device settings and the posts they interact with (About audience language settings). Without translations, it delivers an ad to people it predicts can understand the creative's language (Advertising in multiple languages). So a German-only ad in Switzerland mostly reaches German speakers, and an ad set for Belgium with Dutch and French versions serves each person one of the two.
When is machine translation enough, and when should you recut?
Machine translation is enough when the words carry information and the picture carries the sale, as with a product shot and a price. Have a native speaker check every language in the preview, since text translations can't be edited, and move any language that reads badly to dynamic language optimization with your own copy.
Rewrite or recut when the ad contains any of these:
- Humour and slang. They rarely survive machine translation, so write a local line or drop the joke.
- Text burned into a video. Meta translates overlays on single images only, so supers and captions in a video stay in the original language.
- A voiceover outside the dubbing pairs, or a founder to camera whose own voice is the point.
- Formal or informal address. German, French, Dutch and Italian ads choose between Sie and du, vous and tu, u and je, Lei and tu, and that is a brand decision for a person to make.
- Discount or environmental claims, covered in the table below.
- Local proof, such as German customer reviews or press quotes, which carry less weight in the Netherlands.
- Currency, units and sizes inside the creative, such as “ab 19,99 €” on a card shown in Poland or UK shoe sizes in a French ad.
What else changes when a winner moves market?
The copy is the smallest part. Most of what differs between European markets sits outside the ad.
| What changes per market | How to handle it |
|---|---|
| Ad copy | Text translations where Meta supports the pair. Dynamic language optimization with your own copy for Dutch, Polish, Nordic and other languages. |
| Text in images and video | Overlay translation for single images in supported languages; for video, a recut with local supers. |
| Landing page | A page in the market's language and currency, which dynamic language optimization can set per language. Meta's text translation pages mention no per-language URL, so check that the destination handles every language you serve. |
| Catalogue | In Commerce Manager, a country feed for price, availability, links and sizes, and a language feed for titles and descriptions. Item IDs must match the main feed exactly. |
| Pixel or dataset | Firing on the new market's domain, with catalogue content IDs matching the IDs the pixel sends, as Advantage+ catalog ads require. Check Events Manager before launch. |
| Currency and number format | Through the country feed for catalogue ads. Inside the creative, a recut. |
| Discount claims | When selling goods to consumers, show the lowest price of the previous 30 days with any announced price cut, and calculate an advertised percentage discount from that price (CJEU, Aldi Süd, C-330/23, 2024). This is EU-wide under Article 6a of the Price Indication Directive, in Germany § 11 PAngV, with small national variations. |
| Environmental claims | Since 27 September 2026, generic claims such as “eco-friendly” are banned in consumer advertising across the EU unless you can show recognised excellent environmental performance. The ban applies through each country's transposition of the directive (Directive (EU) 2024/825). Make every such claim specific. |
| Proof and payment | Local reviews and press, and the payment logos people expect, such as iDEAL in the Netherlands. |
Meta Business Help Centre, EUR-Lex and gesetze-im-internet.de, checked October 2026. This is a marketer's checklist and doesn't replace legal advice for your category.
If only the language differs, one ad with dynamic language optimization keeps learning in one place. When price, offer or landing domain differ by country, run an ad set per country, so budgets and reporting stay separate and each remap above is checked once per market.
How do you know if the winner travels?
Judge it against the new market's own baseline. CPMs, conversion rates and basket sizes differ between markets, so the German CPA is the wrong bar for a Dutch launch.
Worked example. The winner runs at €24 CPA in Germany. The Dutch account's three best live ads averaged €31 over the last four weeks. After launch the winner sits at €29 in the Netherlands: worse than at home, and still the best ad the Dutch account has, so it stays and becomes the bar for the next Dutch creative.
Give it enough volume before you decide. Meta says an ad set usually leaves the learning phase after about 50 results in the week after its last significant edit (About the learning phase). Small markets often can't reach that on purchases. Read CTR first, and confirm on cost per result once the volume is there. At a 1% CTR, a 20% difference takes about 35,000 impressions on each side (sample sizes on our creative fatigue page). At a €7 CPM that is about €245 for the winner and the same for the local baseline, by our calculation.
Then watch fatigue market by market. Smaller markets saturate sooner: at the same daily budget, frequency climbs faster in Austria than in Germany. Break results down by country, and by language if you use dynamic language optimization, and read frequency and CTR for each. The checks are in the creative fatigue guide, and the TikTok version covers the same creative there.
Winners travel between markets, remapped and held for your review.
In Nupact, a creative that won in one market launches in the next with the pixel, catalogue, landing URL and copy remapped for that market. The remap waits for review like any other change, at the autonomy level you set per campaign and action type. Nupact acts on Google Ads, Meta, TikTok and Amazon Ads.
Every asset is AI-tagged on arrival with its hook, format, angle, offer and language, so you can see whether a hook that won in Germany also wins in France. Once the ad is live, Nupact reads fatigue per creative from frequency and CTR drift, and each flag says recut or replace. See creative fatigue.
What else do people ask about translating Meta ads?
Is Advantage+ creative translation the same as dynamic language optimization?
They are two features. Text translations machine-translate your headline and primary text with one toggle, and you can't edit the result. Dynamic language optimization serves copy you supply for each language, with an optional image and, for some objectives, a URL per language. Meta recommends using one of the two in an ad.
Which languages does Meta's text translation support?
From English into Spanish, Portuguese, Chinese, French, German, Hindi, Tagalog, Vietnamese, Bengali, Arabic, Indonesian and Italian, plus German and Spanish into English, according to Meta's Business Help Centre in October 2026. Dutch, Polish and Nordic markets need your own copy.
Can a Meta ad send each language to a different landing page?
Yes, with dynamic language optimization and the traffic, engagement, leads or sales objective, where you can enter a website URL for each language. With other objectives the URL stays the same for every language.