
Before the 2017 presidential first round, one small French party drew 13% of all the engagement on party pages while its candidate won 0.9% of the vote. Engagement is not votes, and this paper shows how far apart they can be.
Between 2016 and 2019 the French party system was redrawn. En Marche won the presidency and a majority within two years of its founding, La France insoumise overtook the Socialists, and the Rassemblement National topped the 2019 European election. I wanted to know whether party pages on Facebook told the same story as the ballot box.
The result is a preprint: “Loud on Facebook: French Party Pages and the Vote, 2016 to 2020.”
The preprint
Open access, free to read, share and cite. It uses 54,226 posts from the Facebook pages of 17 French parties.
Cite as: Hotham, T. (2026). Loud on Facebook: French Party Pages and the Vote, 2016 to 2020. Zenodo. https://doi.org/10.5281/zenodo.23396232
The data
The posts come from my doctoral research and were collected through CrowdTangle. After removing duplicates, the sample is 54,226 posts and 25.0 million interactions from 2016 to 2020. I compared each party page’s share of interactions in the 30 days before an election with its share of the vote, at the first rounds of the 2017 presidential and legislative elections and at the 2019 European election. A ratio of 1.00 means a party drew exactly its vote share in engagement.
What I found
- The Rassemblement National was close to its vote. Its page drew between 0.95 and 1.20 times its vote share across the three elections, despite having by far the largest audience.
- La France insoumise was louder than its vote. It drew 1.19, 2.40 and 1.66 times its vote share at the three elections.
- The presidential majority was quieter. En Marche drew 0.85 and 0.81 times its vote share in 2017, and the Renaissance list’s pages 0.53 times in 2019. The Socialists drew between 0.28 and 0.72 times theirs.
- Small parties had the biggest gaps. The Union populaire républicaine (UPR), a small party campaigning to leave the EU, drew 13% of party-page interactions before the 2017 presidential first round, when its candidate won 0.9% of the vote. Before the 2019 European election it drew 9% of interactions, when its list won 1.2%. The Communists’ page drew 14.3% before the 2019 European election, when their list won 2.49%.
Figure 1. Engagement against votes, 2017 presidential first round
Share of party-page interactions Share of the vote
En Marche (LREM)
20.6% of interactions
24.3% of the vote
Rassemblement National (RN)
26.0% of interactions
21.6% of the vote
Republicans (LR)
12.6% of interactions
20.3% of the vote
La France insoumise (LFI)
23.6% of interactions
19.9% of the vote
Socialists (PS)
2.4% of interactions
6.4% of the vote
Debout la France (DLF)
0.6% of interactions
4.8% of the vote
NPA
0.7% of interactions
1.1% of the vote
Union populaire républicaine (UPR)
13.1% of interactions
0.9% of the vote
Lutte ouvrière (LO)
0.4% of interactions
0.6% of the vote
Why the UPR was so loud
My first suspicion was a few viral posts. That is not what the data show. The UPR’s five most-engaged posts accounted for 15% of its interactions in the month before the presidential first round and 15% before the European election, similar to the larger parties (9% to 28%). Instead, its typical post drew about as many interactions as the larger parties’. Before the presidential first round its median post drew 906 interactions, against 966 for the Rassemblement National, 985 for En Marche and 1,062 for La France insoumise, from a page with 81,000 likes against the Rassemblement National’s 452,000 and En Marche’s 115,000.
Across the whole period, the UPR’s median post drew between 5 and 8 interactions per 1,000 page likes, against about 1 for the Rassemblement National before 2020 and about 1 for the Socialists. That is consistent with a small, committed and very active audience. The data cannot rule out a few accounts engaging repeatedly, or coordinated sharing, and CrowdTangle cannot tell us how many people are behind the engagement.
Who talked about the gilets jaunes
I also counted which parties named the gilets jaunes protest movement, which began in 2018. The far left and the sovereigntist fringe did so most, while the Rassemblement National mentioned the movement in 1.9% of its posts, fewer than the Republicans (2.3%) and only slightly more than En Marche (1.4%). The paper cannot say why. It is consistent with a party choosing not to be seen to claim a movement that rejected parties, but other explanations are possible.
Figure 2. Share of party posts naming the gilets jaunes, 2018 to 2019
17.6% NPA
13.8% Lutte ouvrière
12.8% UPR
7.1% Debout la France
6.6% La France insoumise
3.2% Communists (PCF)
2.3% Republicans
1.9% Rassemblement National
1.4% En Marche
1.1% Greens (EELV)
0.7% Génération.s
0.5% Socialists
The limits
The sample holds party pages only. It leaves out the personal pages of Macron, Le Pen, Mélenchon and other candidates, which in a presidential system carry much of the online campaign, so the comparison is between party pages, not parties. The page list is curated and CrowdTangle’s historical coverage is not guaranteed to be complete. Interactions are not support: they include engagement from opponents, from people who cannot vote in France, and possibly from paid promotion. The share of interactions that were shares jumps between 2017 and 2018 on several pages, which suggests a change in how CrowdTangle recorded them, so I check the results with shares excluded. Three elections are too few to say whether any ratio is stable. The patterns mostly hold with 14-day and 60-day windows. This is observational and descriptive.
Why it matters
Ask how many people are behind the engagement before asking how much there is.
Engagement on party pages did not track the vote evenly, and the gaps were largest for small, highly engaged parties. Anyone reading Facebook engagement as a sign of electoral strength should look first at who is doing the engaging. This paper is one of a series from the same CrowdTangle export, collected during my doctoral research, and aggregated data are available from me on request.
I wrote the text, with drafting and editing assistance from Claude.
The views in this post and the paper are my own.
