Your competitors' Facebook ads are public. So are yours.
European law requires a public register of advertising, with seven categories of information, kept for a year after the ad last ran. Meta's technical reference delivers 28 fields, six of which do not exist outside the European Union and the United Kingdom. We counted them on 4 September 2026.

Almost everyone knows Meta has an ad library, and almost everyone thinks it is the political-ads archive. Inside the European Union it is not. Regulation (EU) 2022/2065 — the one people write as „DSA” — requires very large platforms to keep a public register of every ad, not just political ones, for a year after the ad was last shown.
It is not for everyone. If you already have campaigns that work and someone looking at them weekly, the register tells you nothing new. It earns its hour in two moments: before you start, when you want to see your market from the outside, and after somebody asks what can be found out about your company without calling you.
We ran a count anyone can repeat in twenty minutes: the 28 fields in the library's technical reference, laid onto the seven categories the law requires. Six fields exist only for ads delivered in the EU and the UK. One of the seven categories has no field at all.
- See what a competitor is running right now, with the full copy and the date it started.
- Find out which ages and locations they picked — ad by ad, not in general.
- Know what anyone can read about you, before you hear it from someone else.
- You will not learn what anyone spends, and it is better to start there than to hope otherwise.
You open your phone, search a competitor's name, and in under a minute you have every ad they are running on Facebook and Instagram in front of you. The full copy. The start date. And, if the ad is delivered in the European Union: which ages they ticked, which locations they included, and how many people it reached. This is not a tool somebody sells. It is a legal obligation the platform meets with a public page.
The part that goes down hardest is the symmetry. The same fields are filled in for your ads, and your competitor has the same spare minute.
What the field list gives away
Start with the count, because the count is the argument. The page Meta publishes for developers lists the fields returned for an archived ad. There are 28 of them. Six, in their own descriptions, name the European Union or the United Kingdom.
Six fields exist only for ads delivered in the EU
Every field description says where it applies. Six of them name the European Union or „UK & EU” outright: who pays, which ages, which genders and which locations were picked, how many people were reached inside the EU, and how that reach breaks down by country, age and gender.
Source: the ArchivedAd reference on developers.facebook.com, read on 4 September 2026 · cittago.com
| fields | |
|---|---|
| Outside the EU | 22 |
| Inside the EU | 28 |
They are beneficiary_payers (who pays and on whose behalf), target_ages, target_gender, target_locations (the ages, genders and locations chosen at targeting), eu_total_reach (how many people were reached across the EU) and age_country_gender_reach_breakdown (the same people, split by country, age and gender). The description of beneficiary_payers reads „Available only for ads delivered to the EU”; the other four read „in the UK & EU”.
In the European Union, Meta's Ad Library holds every ad rather than political ones alone, and its technical reference delivers six fields that exist nowhere else in the world.
The same reference says it from the other direction, about ads that never reached the EU: „Ads that did not reach any location in the EU will only return if they are about social issues, elections or politics.” Outside the Union, in other words, the library really is the political-ads archive everyone thinks it is. Inside, it is something else.

What the law asks for, word for word
Article 39(1) requires „a repository containing the information referred to in paragraph 2, for the entire period during which they present an advertisement and until one year after the advertisement was presented for the last time on their online interfaces”. The repository has to allow „multicriteria queries” and be reachable through application programming interfaces, not only by eye.
Two things in that sentence matter in practice: the year, and the words „for the last time”. An ad switched off today does not disappear today. It stays for a year from its last delivery, and if it was restarted in between, the clock restarts too. There is no delete button.
| Letter | What the text requires |
|---|---|
| (a) | the content of the advertisement, including the name of the product, service or brand |
| (b) | the natural or legal person on whose behalf the advertisement is presented |
| (c) | the natural or legal person who paid for it, if different from the person in point (b) |
| (d) | the period during which the advertisement was presented |
| (e) | whether it was aimed at particular groups and, if so, „the main parameters used for that purpose”, exclusions included |
| (f) | the commercial communications identified pursuant to Article 26(2) |
| (g) | the total number of recipients reached and, where applicable, aggregate numbers by Member State |
Point (e) is the one nobody believes until they see it: not the content of the ad, but the decision behind it. The targeting parameters, exclusions included. What you ticked, not what you wrote.
The rule we used to compare the two lists is plain and repeatable: every field on the ArchivedAd reference page, read in English on 4 September 2026, each counted once, placed under the closest letter. We published the result whichever way it came out.
Six letters out of seven have fields. The seventh has none.
We took the 28 fields in the library's technical reference and laid them, one at a time, onto the seven lettered categories of Article 39(2). Each field is counted once, under the closest letter.
Source: Regulation (EU) 2022/2065, Article 39(2), and Meta's ArchivedAd reference, both read on 4 September 2026 · cittago.com
| fields | |
|---|---|
| (g) recipients reached | 7 |
| (a) content of the ad | 6 |
| (e) targeting parameters | 4 |
| (b) on whose behalf | 2 |
| (c) who paid for it | 2 |
| (d) period it ran | 2 |
| (f) commercial communications | 0 |
Point (f) refers to Article 26(2), which is about something other than paid advertising: the disclosure owed by someone publishing a commercial communication on the platform. We found no matching field in the list. We are not saying the information is missing from the repository — we are saying that no field on the reference page we read corresponds to it. Those are two different claims, and only the second can be checked from outside.
What the library does not show
This is where the hours go, so it is worth putting plainly, in a list:
- It does not show what anyone spends on an ordinary commercial ad. Money fields exist in the reference —
spend,currency,impressions— but Article 39 asks for no amounts. If somebody sells you „your competitor's budget” pulled from there, ask which field it came from. - It does not show what works. An ad running for four months may be a good ad or an ad somebody forgot about. The register cannot tell the two apart, because it holds no results.
- It does not show why something stopped. Budget gone, seasonal campaign, rejected at review: the end date looks identical.
- It does not show strategy, it shows delivery. You see what ran, not what was tested and killed straight away.
- It is not proof of compliance. We counted fields on a documentation page. We did not assess whether the repository meets the regulation; regulators do that, we do not.
We read Article 39 in English, Romanian and Italian on EUR-Lex the same morning. The English version says „repository” throughout, the Italian „registro” and „registri”. The Romanian version uses „registru” in paragraph 1 and „repertoriilor” in the article's closing sentence, for the same thing. It changes nothing in law — but if you have ever searched a regulation by keyword and come back empty, this is why the second word is worth trying.
How many people are actually on the other side
The register tells you who advertises. The other half of the question is how big the room is. DataReportal's „Digital 2026” reports, with figures from October 2025, put Romania at 18.9 million people and 17.7 million internet users, and Italy at 59.1 million people and 53.1 million internet users.
Instagram reaches half of Italy and under a third of Romania
Potential advertising reach as a share of the total population, as reported by DataReportal for the two markets we work in every day. The figures are from October 2025.
Source: DataReportal, „Digital 2026: Romania” and „Digital 2026: Italy”, October 2025 figures · cittago.com
| % of the population | |
|---|---|
| Romania · Facebook | 54.3% |
| Italy · Instagram | 50.5% |
| Italy · Facebook | 48.1% |
| Romania · Instagram | 31.8% |
The two markets flip the order. In Italy, Instagram reaches 50.5% of the population against Facebook's 48.1%; in Romania, Facebook reaches 54.3% and Instagram 31.8%. These are potential advertising reach figures reported by the platform, not counts of real people, and we treat them that way: good for orders of magnitude, poor for anything fine-grained.
The practical consequence is dull and expensive: library research done on one of those markets says almost nothing about the other. When we build Meta Ads campaigns for a company selling in both, the first half hour goes on exactly that question — which platform is the big room, in which country.

What you need to open it
- A browser. The public page asks for no ad account and no relationship with the company you are searching.
- The exact Facebook page name, not the registered company name. They often differ, and search works on the first.
- The country. You search one market at a time; what runs in Italy will not appear in a search on Romania.
- Patience with short names. A company named after a common word returns dozens of results that are not it.
- For volume, the API. The
ad_reached_countriesparameter is passed as „ALL or by ISO country code”, andad_typehas five values, only one of which is for political and issue ads. That is developer work, not browser work.
How to check, in order
- Search yourself first. Five minutes, before any competitor. If you have live ads and do not recognise one of them, you have already found something worth finding.
- Write down the start date, not the ad count. Twenty variants that all started on the same day are a test. One ad running since February is something else.
- Read the targeting parameters, not the copy. Copy is easy to lift and the least useful part. The ages and locations picked are the decision, and the decision is the information.
- Compare the same company across two countries, if it sells in two. The gap between the two lists teaches more than either list does.
- Write down what you saw, with the date. The register changes daily. A dated screenshot from three months ago beats an undated memory.
- Only then draw a conclusion. And write it as a hypothesis, not a fact: you have seen no results, you have seen a delivery.
Who does not need any of this
If you already run campaigns that work and someone reviews them weekly, the register gives you nothing operational. Read it once, to know what is public about you, then close it. If you sell into a market where your competitors do not advertise on Facebook, the list will be empty, and an empty list interprets to nothing. And if you work in a field where advertising is limited by a law of its own, your real questions live in that law, not here.
The companies this is written for are the ones about to start with no reference points at all: they do not know whether their market advertises, with which messages, or for how long. For them, an hour in the register replaces a month of guessing — and it is the only market research in digital marketing that costs nothing and asks nobody's permission.
Glossary
| Term | What it means |
|---|---|
| Ad repository | The public page a large platform must publish the ads it shows on. Meta calls it the Ad Library. |
| DSA | The short name of Regulation (EU) 2022/2065 on digital services. Article 39 is the one about the ad repository. |
| Very large online platform | The legal category carried by services with many users in the EU. Article 39 applies only to them. |
| Targeting parameters | What the payer chose: ages, genders, locations, exclusions included. Point (e) of Article 39(2). |
| Reach | How many people saw the ad at least once. Not the same as impressions, which repeat on the same person. |
| Potential advertising reach | The platform's estimate of how many people could be reached. A planning number, not a count. |
Three thresholds, so you can see how much this concerns you
- You have not started. One hour in the register, across five competitors, before the first euro. You are not looking for copy ideas; you are looking for whether your market advertises, and since when.
- You have been running for a few months. Open it once a quarter and look at what is new. A competitor who started in January and is still running in September has found something that works for them.
- You have a brand people search for. Here the register is read the other way round: what other people run on your name. It is the only check on this list with a clock on it — the later you run it, the more expensive whatever you find.
Every number above was read on 4 September 2026, on pages that change without notice. Let's talk about this again in 3-6 months 😉
Questions nobody has actually asked us
These are the ones we asked ourselves while laying the field list over the text of the regulation.
Is every ad really in there, not just political ones?
In the European Union, yes. The API reference says it from the other side: „Ads that did not reach any location in the EU will only return if they are about social issues, elections or politics.” The political-only restriction applies to ads that did not reach the EU. For ads that did, it does not exist.
How long does an ad stay in the repository?
Article 39(1) requires it „for the entire period during which they present an advertisement and until one year after the advertisement was presented for the last time”. The operative words are „the last time”: if an ad is restarted, the year runs from the new stop, not the first one.
Can I have an old ad of mine taken out?
The regulation makes no provision for that on the advertiser's side. The one case where the text says information is not included is paragraph 3, and it is a different situation: where the platform itself removed the ad for alleged illegality or breach of its terms, points (a), (b) and (c) are replaced by information about the removal decision.
Can I see what my competitor spends?
Not on ordinary commercial ads. Article 39 asks for no amounts, and the seven categories in paragraph 2 say nothing about money. The technical reference does contain spend and currency fields, but a field existing in documentation does not mean it is populated for every ad.
What are „targeting parameters” in practice?
The ages, genders and locations chosen by whoever paid for the ad, exclusions included. The reference carries three separate fields — target_ages, target_gender, target_locations — each described „in the UK & EU”. You do not see interests or uploaded audiences; you see the demographic skeleton of the decision.
Is it legal to look at competitors' ads this way?
The repository is public by law, and the stated purpose of Article 39 is that it can be consulted. What you do with what you see falls under other rules — copyright in images and copy, unfair competition — and there the question goes to your own lawyer, not to an agency.
Why have I never heard about this?
Because it came into force without anyone having to press a button. The obligation sits with the platform, not with the advertiser, so no email arrived. The repository appeared, and with no notification most companies found out about it by accident, from a competitor.
Do I need a paid tool to use it?
For a handful of companies, no: the public page is enough and searching is free. Paid tools add history, alerts and export, which earn their keep when you follow dozens of competitors across several countries. For a single-city shop, the spend is hard to justify before opening the free page at least three times.
Does it cover ads on WhatsApp or Messenger?
The repository covers ads shown on the platform's interfaces, and the reference describes publisher_platforms as „a list of Meta technologies where the archived ad appeared, such as Facebook or Instagram”. The documentation gives examples rather than a closed list, so we are not claiming full coverage on that basis.
What do I do if I find an ad using my company's name?
Save the page with the date, then follow the platform's reporting route. The register helps here because it hands you dated evidence the other side does not control — and because the information stays for a year after the ad stops, so it does not vanish while you decide.
Last updated: 4 September 2026. The text of Article 39 comes from EUR-Lex, from the English, Romanian and Italian versions of Regulation (EU) 2022/2065, downloaded on 4 September 2026. The list of 28 fields and their mapping onto the seven letters come from the ArchivedAd reference page on developers.facebook.com, read in English the same day; each field is counted once. The quote about ads that did not reach the EU comes from the ads_archive reference. Reach figures for Romania and Italy are published by DataReportal in its „Digital 2026” reports, with data from October 2025. We update this page when the field list changes or when a new edition of those reports appears.
Sources: Regulation (EU) 2022/2065, Article 39 (EN) · Regulamentul (UE) 2022/2065, articolul 39 (RO) · Regolamento (UE) 2022/2065, articolo 39 (IT) · Meta, ArchivedAd reference · Meta, Ad Library API — ads_archive · Meta Ad Library · DataReportal, Digital 2026: Romania · DataReportal, Digital 2026: Italy


