Even though Information Tracer has many use cases, investigating coordinated online campaign is what I initially designed it for during my PhD. I use my tool on a regular basis to search for abnormal patterns on social media. Several days ago, I read a report published by Valent Projects. The report reveals a coordinated campaign that aims to block the implementation of ULEZ in London. The cost of operating this campaign is estimated to be £168,000.
I was intrigued. What is ULEZ? How do those accounts coordinate? What narratives do they spread? The Valent report includes a few examples, but fall short of details. I put "#No2ULEZ" into Information Tracer search box, and found coordinated activities not only on Twitter, but also Facebook and other platforms...
If you only have time for a tldr, here is our main findings:
▪ ULEZ stands for "The Ultra Low Emission Zone (ULEZ)" in London. ULEZ is created to reduce car pollution, yet the policy remains controversial. The Anti-ULEZ campaign started in 2022, but only broke out very in 2023.
▪ Anti-ULEZ campaign is not only active on Twitter (which Valent Projects covered), but also on Facebook, Instagram, and Youtube. The cross-platfrom behavior indicates the scale and impact of the campaign might be bigger than people realize.
▪ Anti-ULEZ Facebook groups have similar names with a pattern "Action against...", and are created in early 2023.
Anti-ULEZ Twitter accounts share large number of hashtags (#voteconservative). They share 3 campaign websites (all registered in 2023). Many accounts also share extreme views (anti-vaccine, anti-climate change).
In the end, the Anti-ULEZ campaign has a combination of genuine users and inauthentic actors. The net effect is the campaign message gets amplified when organically it won’t reach so many audiences.
An introduction to ULEZ
ULEZ means "The Ultra Low Emission Zone (ULEZ)". It is an area in London where a fee is charged for driving the most polluting vehicles. London Mayor Sadiq Khan introduced the zone early in 8 April 2019. The zone initially covered Central London. In August 2023, the zone will be extended to cover all of Greater London.
ULEZ is a controversial policy. Not everyone will be happy about this (old car owners, car dealers, etc,.). There are online campaigns to oppose ULEZ. Campaigners may coordinate the sharing of different hashtags. In general, coordinated authentic behavior is acceptable on social media platforms.
The problem starts when a campaign exhibits coordinated inauthentic behavior. In the rest of the analysis, I will show you how to use Information Tracer to understand such a complex campaign, and answer the question – is it authentic?
Part 1 - How did anti-ULEZ campaign evolve?
To get started, I identified a list of keywords often shared by anti-ULEZ accounts – stopulezexpansion, stopULEZ, ULEZscam, No2ULEZ, NoUlez, No2ULEZ. I use Information Tracer to collect social media posts with at least on keyword on Twitter, Facebook, Instagram, Youtube and Reddit. For each platform, Information Tracer collects the top 500 most interacted posts. The idea is not to capture everything, but the most important conversations.
The graph below shows the cumulative number of interactions on each platform. Y-axis is the percentage of all interactions on that platform (a normalized count). From the graph, we can immediately tell that the anti-ULEZ campaign gained traction in early 2023.
Visualize campaign evolution on Facebook
How did the campaign evolve? To answer this question, Information Tracer builds and visualize a social network, where each node is either an account, or hashtag/url. A link between two nodes indicates that this account has posted this hashtag/url.
Basically, this network graph tells us who is sharing what. I can use filters to show accounts from a specific platform, or show posts created before a specific date, or posts with at least X interactions.
For example, the following two graphs show how anti-ULEZ campaign grew on Facebook. Before 2023, there were only a few Facebook groups involved, mostly Conservative members (Councillor David Taylor). However, between January 2023 to March 2023, there was an explosion of Facebook groups, many with similar names and profiles, such as "Action against ULEZ extension", "Action Against Unfair ULEZ CAZ & LTN", "London against ULEZ", "Bromley ULEZ & Local Action Group", "khan Stop ULEZ CON-voy"..., an indication of coordination.
Visualize campaign evolution on Twitter
The next three graphs show snapshots of anti-ULEZ Twitter users on January, March and August of 2023. Similar to what happened on Facebook, there was not many activities on Twitter before 2023. People who share #stopulez are Conservatives groups such as @RomfordCA, @AndrewRosindell (The Romford Conservative Association, represented by Andrew Rosindell M.P).
Then, between March and August of 2023, a large number of Twitter accounts start to spread anti-ULEZ message. Are they bots or humans? The answer is both. When bots retweet/comment/like messages created by humans, the narrative is effectively amplified. In the next section, we will show examples of some bots.
Visualize campaign evolution on Youtube
On Youtube, we see campaigners from all kinds of backgrounds. @BrownCarGuy (Borwn Car Guy) is a car-commentator who createed lots of popular videos in which the Youtuber complained about the policy and interviewed other anti-ULEZ members.
- @TogetherDeclaration (Together Declaration) is an organization that operates multiple accounts over different platforms. According to its profile, "Together was formed with one main purpose: to unite people from all walks of life to oppose the government’s draconian response to Covid-19. We recognised the need to push back against the rapidly growing infringements on our personal freedoms."
- @RomfordDavidTaylor (David Taylor) is a Conservative Party Councillor for Romford | St Edward’s Ward
- @seanedwardfitz (Delivering Liberty) describes himself as "A common man delivering a message of liberty. Just recording my adventures."
It’s a mix of characters, so the Youtube campaign is probably not well coordinated...
Part 2 - Which account is Bot, and which is Human?
Step 1 -- Define bot behavior
Identifying bot is a very difficult problem, partly beacuse there is no single definition of "bot". We approach this problem by quantifying account behaviors and flaging an account when its behavior is abnormal. One behavior is how often an account posts.
Information Tracer calculates a metric called average post per user per platform (among the top 500 posts). From the screenshot below, you can see the average post per user (on Facebook, Instagram, and Twitter) is higher than average, an indication of message amplification.
Step 2 -- Surface and summarize suspicious accounts
To find potential threat actors, Information Tracer extracts 10% user that post most frequently. It uses large language models (LLM) to summarize account profiles. Following are characteristics of Twitter users in the anti-ULEZ campaign:
1. There are several users who identify as conservatives and support the Conservative Party.
2. Some users are involved in political activism and campaigns, such as fighting against ULEZ extension and advocating for freedom.
3. Many users have multiple interests and roles, such as being journalists, politicians, activists, or professionals in various fields.
4. Some users express skepticism towards mainstream media and government actions, and they seek alternative sources of information.
5. There is a mix of personal and professional information shared in the descriptions, including hobbies, political affiliations, and contact details.
Step 3 -- Investigate individual account
To determine if an account is bot, we need to look for other evidence. One is account creation time, because newly created account can be a red flag. For example, @AntiExtension, the most active anti-ULEZ Twitter account, was created in March 2023. @MarkDav19158616 was created in Feb 2023, with a bio "Bowel Cancer survivor. Here to spread the truth. Climate Crisis is a LIE. Unvaccinated, Untested, Unmasked, Unafraid..." Other new accounts include @BronsonYid, @Martin67616598, etc,. Further research is needed to fully audit and attribute those suspicious accounts.
Step 4 -- Check co-shared hashtags and URLs
Another useful intelligence is hashtags and URLs shared by suspicious accounts, which Information Tracer can extract. For example, we find three anti-ULEZ campaign websites often shared on social media. Further investigation shows that all three domains are registered in 2023, and two websites (anti-ulez.com and truthaboutulez.co.uk) are hosted on the same IP address. This is another indication of coordination.
|Domain||Registration Data||Domain Registrar||IP Address|
Part 3 - Visualizing sentiments
How do we visualize sentiments?
Another capability of Information Tracer is nuanced sentiment analysis. For a given dataset, our tool generates a network graph, where some nodes are entities and some are users. The color of the link between a user and an entity can be green (positive), red (negative), or gray (neutral). In our example, there are four major entities – "Saqid Khan", "Mayor of London", "ULEZ", "Stop ULEZ Campaign".
What can we learn from the sentiment graph?
In the graph below, you can see:
1. The majority of users are negative towards "ULEZ" and "Saqid Khan", while positive towards "Stop ULEZ Campaign".
2. Accounts are highly unified when it comes to expressing sentiments.
3. The sentiment graph suggests that many accounts are politically motivated.
Part 4 - Next Steps
During my investigation, I often think of this phrase: "truth, the whole truth, and nothing but the truth." What is the whole truth here? Who are operating bot accounts? Where does the money come from? Those are the missing pieces. Until some journalitss dig further, we don’t have a good answer.
If you find this analysis helpful, or want to try out Information Tracer, let us know. We will share more about other campagins as we discover them. Stay tuned.
Acknowledge: Thanks for Phyo, Swapneel, and Yuki for giving your feedback.