As part of an effort by Facebook to be more transparent about the use of their platforms for political
campaigning, they created the Facebook Ad Library,
a publicly available website that shows information about all the political ads that are run on their platforms
(i.e. Facebook and Instagram).
The Facebook Ad Library is a great resource for finding information about a single ad, but it lacks the functionality to compare multiple ads or political parties. To solve this problem, I have created a website that allows you to analyse and compare statistics about the ads by Dutch political parties.
The Facebook Ad Library provides the content of each ad and metadata about the ad. The content of an ad is the text, images and/or videos that the user sees.The Facebook Ad Library provides a lot of metadata on each ad. The most important metadata available is:
Besides information on specific ads, the Facebook Ad Library also provides some basic general information. For example, the spending tracker shows you how much each Facebook page has spent in total.
1. This data is provided as estimated ranges. For example, the Facebook Ad Library does not provide how much an ad costs, but says that between €2000 and €2999 was spend on the ad.
Identifying the Facebook pages of each political party.
Facebook ads are always linked to a Facebook page. The Facebook Ad Library allows you to search ads by Facebook page. To find all ads ran by a political party, we first need to find all the Facebook pages of that party. Political parties often do not use one Facebook page to run all their ads. Many local party branches and individual candidates have their own Facebook page. The spending tracker lists all relevant Facebook pages. We use this to find the Facebook pages of each party.
You can find a list of all Facebook pages we found on GitHub.
Downloading the ad data.
We use the lists of Facebook pages to download all ads ran by the political parties. For this we use the the Facebook Ad Library API. This API allows everyone to download ad data in an automated manner.
Analyzing the data.
Finally, we wrote an application to analyze the data. This application generates an updated version of this website. As most data that Facebook provides are estimations, we aggregate the data of one party by computing the averages of their ads.
Although an individual estimation is not that interesting (e.g. it does not tell us much that an ad was seen by a 1000 to 2000 people), combining the data does reveal patterns and makes the data of a party comparable to that of other parties.
No exact numbers are given. The numeric data is given in ranges. For example, between €2000 and €3000 was spend on an ad or the ad has between 1000 and 2000 impressions.
It is not clear when an ad was most active. For example, if an ad gained between 1000 and 2000 impressions and was active for 30 days, we do not know whether the ad was mostly shown on one day or evenly over the 30 days.
There is a nuanced difference in the information that is available through the website and the API. For example, Facebook bundles similar ads on the library website to give a better estimation of the metrics, however this information is not available through the API.
It is not publicly known how Facebook decides who sees which ad. The Facebook Ad Library only provides basic information about whom an ad was shown to. This means that the Facebook Ad Library provides only half the picture. Because we do not know how this decision is made, we do not know whether it is an explicit decision by a political party to target certain people or whether it is an automated choice by the Facebook algorithm.
If there is a (new) party with a significant Facebook ad presence that is not included, please let me know by opening an issue on GitHub.
Please open an issue on GitHub.
You can reach me at firstname.lastname@example.org.