Meta ads in the EU: the DSA beneficiary and payer fields, and how to stop them blocking your launches
Since the EU Digital Services Act, every ad that can be shown to people in the EU has to name who benefits from it and who pays for it. Miss the fields and the ad set will not deliver in the EU. Here is how to handle it once instead of per launch.
What the fields are
The EU's Digital Services Act requires platforms to show, for every ad, on whose behalf it is presented and who paid for it. Meta implements this with two values on the ad set:
- Beneficiary: the person or organisation that benefits from the ad. For most advertisers, the brand.
- Payer: the person or organisation that pays for the ad. Often the same as the beneficiary; for agency-run accounts it can be the agency or the client, depending on who Meta invoices.
Meta shows these to people in the EU in the ad's "Why am I seeing this" details and in the Ad Library.
When they are required
Whenever an ad set can deliver to anyone in the European Union. That includes:
- targeting one or more EU countries,
- worldwide targeting,
- broad European targeting that happens to include EU members.
It applies regardless of where your business is. A US brand targeting Germany needs the fields; a Dutch brand targeting only the US does not, though setting them anyway costs nothing.
What happens when they are missing
The ad set is not eligible to deliver in EU countries. Depending on the interface state you either cannot publish the ad set, or it publishes and then quietly does not deliver in the EU while the rest of the targeting runs. The second case is the expensive one: reviewed, active, spending elsewhere, and a whole region silently excluded.
Where to set them
Ads Manager: at the ad set level, in the section about the audience or the EU transparency requirements (the label has moved between interface versions; look for "beneficiary" and "payer"). Meta remembers recently used values per account, which helps when you always use the same entity and hurts when you manage several clients from one login.
Marketing API: on the ad set object, as dsa_beneficiary and dsa_payor. Both are plain strings naming the entity. Any tool that creates ad sets for you must pass them; a tool that only creates ads inside an existing ad set inherits whatever that ad set already has.
The agency problem
With several clients, the "recently used" list is a liability: it offers you the last client's legal name as the first suggestion. The DSA fields therefore belong on the same per-account checklist as the pixel, the Page and the UTM template, see managing multiple Facebook ad accounts. Decide once per account which legal entity is the beneficiary and which is the payer, write it down, and make every new ad set read from that record.
How Adlio handles it
Adlio stores the DSA beneficiary and payer per ad account as part of the account's identity settings. When Adlio creates a new ad set for a launch, it writes both values from those settings; when you launch into an existing ad set, the ad set's own values stand. The values are never shared or suggested across accounts, so client A's entity cannot end up on client B's ad set.
Because every ad lands paused, "DSA fields present and correct" is simply check number 9 on the pre-launch QA checklist, done before any EU impression is bought.
Quick checklist
- Beneficiary and payer decided per ad account and written down.
- Every ad set that can deliver in the EU has both values.
- New ad sets created by any tool receive them automatically.
- Spot-check one ad set per batch before setting the batch live.
Free for your first 15 ads, no card. See how bulk upload works and pricing.
Frequently asked questions
Who needs to fill in the beneficiary and payer?+
Any advertiser whose ad sets can deliver to people in the European Union, regardless of where the advertiser is based. If your targeting includes any EU country, or is worldwide, Meta requires both values.
What is the difference between beneficiary and payer?+
The beneficiary is the person or organisation the ad promotes or benefits, typically the brand. The payer is who pays Meta for the ad, which for an agency-run account can be the agency or the client depending on the billing setup. They are often the same entity for a brand running its own ads.
Where do the values live in the Marketing API?+
On the ad set, as dsa_beneficiary and dsa_payor. When a tool creates a new ad set for you it has to pass both; when it launches into an existing ad set, the values already on that ad set apply.
Why did my ads pass review but show no delivery in the EU?+
Missing or invalid DSA values are one of the common causes: the ad can exist and be approved while the ad set is not eligible to deliver in EU countries. Open the ad set and check both fields.
Adlio team
Built by media buyers who launch Meta ads in volume. Questions or corrections: support@adlio.ai.
Topic cluster
Launch hygiene and QA
Naming, UTMs, identity, DSA and the paused review that makes a bulk batch safe to set live.
- Meta ads naming convention: a template you can copy, and how to apply it to every ad
- UTM parameters for Meta ads: set them once per account, apply them to every ad
- The pixel and conversion event per ad account: set once, verify on every launch
- Instagram account not showing in Ads Manager: the causes, and when you do not actually need it
- Adding ads to an existing ad set: what it does to the learning phase, budget and delivery
- Facebook ad review when you publish in bulk: timing, re-review triggers, and the paused-ads advantage
- Rolling back a bulk launch: pause many ads at once without resetting learning
- Managing multiple Facebook ad accounts: how to keep client A's settings out of client B's ads
- Meta ads in the EU: the DSA beneficiary and payer fields, and how to stop them blocking your launches