Moscow isn't selling Russia to Germans. It's selling them their own anger.

Between June and September 2026, Vinesight followed 150 of the most suspicious accounts in Germany's pro-Russian online ecosystem across three social media platforms. It read their 133,103 political posts and sorted them into 21 recurring narratives. They rarely argue for Russia. They argue against Berlin, and they let the case for Moscow ride along.

The first goal is a weaker German state

The dominant message is domestic. One in five political posts says the Merz government is failing and must go. Another 14% says the media lie, 14% that the establishment is persecuting the AfD, and 9% that migrants are bringing crime while the authorities look away. Only about one in five posts from the long-monitored accounts touches Russia or the war at all.

Most of what these accounts post is about Berlin, not Moscow

  1. Merz must go19.2%
  2. Media lie14%
  3. AfD persecuted13.5%
  4. Migrant crime9.2%
  5. Russophobia / hear Russia8%
  6. Climate & Greens madness7.1%
  7. Germans fleeced6.9%
  8. Dragged into war6%
  9. Ukraine corrupt, aid wasted5.8%
  10. COVID was a crime3.1%
  11. Old parties are traitors3%
  12. Globalist elites2.5%
  13. Western hypocrisy2.3%
  14. Two-tier justice1.9%
  15. Gender ideology1.8%
  16. Russia is winning1.7%
  17. Peace is being blocked1.7%
  18. Sanctions hurt Germany1.4%
  19. Free speech dismantled1.3%
  20. EU is a regime1%
  21. Russian threat invented0.8%
  • About German politics
  • About Russia and the war
Figure 1. Share of the 150 accounts’ 133,103 political posts carrying each of 21 narratives, 1 June to 29 September 2026. A post can carry more than one narrative, so the shares overlap.

That imbalance is the strategy. A Germany that distrusts its government, press and courts struggles to sustain anything costly: support for Ukraine, rearmament, sanctions, a hard line on hybrid attacks. The grievances already exist; the job is to amplify them.

The timing shows the same logic. As state elections approached in Saxony-Anhalt and Mecklenburg-Western Pomerania, the share of posts attacking the government rose from 17% in June to 23% in September. Posts presenting the AfD as a persecuted opposition rose from 11% to 15%.

Attacks on the government rose into the state elections

0%5%10%15%20%25%JunJulAugSep17%23%Government failing, must go11%15%AfD persecuted
Figure 2. Share of each month’s political posts carrying each narrative, June to September 2026.

The war is recast as a German betrayal

When these accounts do talk about the war, they talk about Germany. Merz becomes the "war chancellor". Elites are "dragging Germany into a war with Russia" through rearmament, conscription and Taurus missiles. Ukraine is a corrupt regime swallowing "billions" of German taxpayers' money. Russia's invasion drops out of the story.

The second move is to price the war in household terms. Sanctions and the loss of Russian gas are blamed for wrecking German industry. In late September one German influencer relayed Putin's assurance that a Nord Stream 2 line was undamaged and could immediately deliver 27.5 billion cubic metres of cheap gas if Berlin only said yes. The offer is framed as relief a German government is withholding, not as Russian leverage.

The aim is not to win the argument about Ukraine. It is to make support for Ukraine feel like a choice between Kyiv and one's own heating bill.

Denial is the line that lands best

The most efficient narrative in the set is also one of the smallest: the claim that the "Russian threat" is invented. It accounts for under 1% of posts, yet each post earns two and a half times the average engagement. Its share nearly tripled between July and September.

The smallest narrative lands best

00.5×1.0×1.5×2.0×2.5×0%5%10%15%20%Share of political posts carrying the narrative →Interactions per post, against the average →Average for all political postsMigrant crimeMerz must goAfD persecutedDragged into warUkraine corrupt, aid wastedRussian threat invented: 0.8% of posts, 2.5× the interactionsMedia lieRussophobia / hear RussiaTwo-tier justice
  • About German politics
  • About Russia and the war
  • Dot size: how many of the 150 accounts carry it
Figure 3. Each dot is a narrative: its share of political posts against the interactions each of its posts earns, relative to the average for all political posts. Dot size is the number of accounts that posted it at least five times. 1 June to 29 September 2026.

The drone incident at Leipzig airport shows how it works. On 1 September, a journalist posted that the chancellor had "no evidence or false evidence". On 2 September, the Russian ambassador published a statement rejecting the accusation of a terrorist attack. On 15 September, Alina Lipp, a German-language blogger reporting from Russia, posted an "airport employee's" claim that the drone was a hobby model from an electronics chain and that the explosive in newspaper photos was added afterwards. That post drew 61,616 interactions.

The sequence is a template: raise doubt, issue the official denial, then supply a witness who makes the denial feel like a leak. The goal is to protect Russia's freedom to operate in Europe's grey zone.

Doubt, denial, then a witness

00.4%0.8%1.2%1.6%1 Jun15 Jun29 Jun13 Jul27 Jul10 Aug24 Aug7 Sep21 Sep123
  1. 11 SepA journalist says the chancellor has “no evidence or false evidence”
  2. 22 SepRussia’s ambassador rejects the accusation of a terrorist attack
  3. 315 SepA German-language blogger in Russia relays an “airport employee” saying it was a hobby drone (61,616 interactions)
Figure 4. Weekly share of political posts claiming the Russian threat is invented, weeks beginning 1 June to 21 September 2026. The numbered markers are the three steps of the Leipzig drone sequence.

Russia is sold as a victim, not a model

The single most engaged post in four months had nothing to do with politics on its face. It showed a young Russian gymnast winning gold and receiving her medal "without a flag, without an anthem... just because she is Russian". It drew 149,290 interactions.

The busiest day in four months was about a gymnast

0100k200k300kInteractions per day1 Jun1 Jul1 Aug1 SepABCDE
  1. A12 JunA post about an Afghan migrant’s knife attack on a teenage girl in England · 76k interactions
  2. B18 JunA post claiming left-wing extremists attacked an AfD politician at his home · 15k interactions
  3. C24 JunA post claiming George Soros is working to destroy Western civilisation · 19k interactions
  4. D16 AugA post saying a Russian gymnast received her gold “without a flag, without an anthem” · 149k interactions
  5. E9 SepA post claiming the chancellor cancelled a call with Trump because Trump praised the AfD · 17k interactions
Figure 5. Interactions on the accounts’ political posts per day, 1 June to 28 September 2026 (UTC). The lettered markers are the five busiest days, each with what its most engaged post said.

Few posts claim Russia is a better society. Many claim Russians are victims of Western "Russophobia", and that Moscow only wants peace. A viral Putin quote told Germans "we don't want to attack you — why would we?" In August the embassy published a letter from a "German mother" asking Putin to pass on that German women do not want war, word for word on two of its official accounts.

The goal is to separate sympathy for Russians from judgement of the Kremlin, and to cast Russia as the party of peace. German anti-war sentiment runs deep and has an honourable history. These posts are designed to borrow it.

State channels write the script, German voices perform it

Russia's official voices are prolific: RT DE's main channel posted over 5,000 political messages in four months. The reach sits elsewhere. Two German-language influencers each drew around 1.2 million interactions on their political posts, more than six times the Russian embassy's main account.

What connects them is uptake. In the wider German conversation about Russia over the same period, Vinesight found 1,725 posts that closely matched a post by RT DE, TASS's German service, the embassy or a known pro-Kremlin channel published up to 48 hours earlier. Talking points leave the state channel, lose their label and come back in a German voice, often within hours. Where the label cannot be removed, it is routed around: accounts still link to RT DE mirror sites such as dert.site and de-rtnews.com, built to survive the EU's ban.

Russia's messaging in Germany works best when it does not look Russian. The embassy supplies the position, the mirror sites supply the article, and German accounts with real audiences supply the credibility.

Lessons for the response

First, fact-checking Russian claims addresses the smallest part of the problem. The bulk of this ecosystem's output is about German politics, and much of it builds on real grievances over energy prices, migration and trust in institutions. Treating all of it as foreign disinformation confirms the story of an establishment that dismisses its citizens.

Second, the denial playbook is predictable, so it can be anticipated. The next sabotage or drone incident will meet the same sequence of doubt, official rebuttal and "insider" witness. Authorities who publish what they know early, and say plainly what they cannot yet prove, leave less room for it.

Third, watch the relay, not only the source. Banning RT DE did not remove its content from German feeds; it changed who carries it. What matters is how fast state talking points reach domestic accounts.

Moscow's bet in Germany is modest and patient. It does not need Germans to side with Russia, only to doubt their own side a little more each month. On this evidence, it is investing accordingly.

Method note: narratives were identified by coding 133,103 political posts from 150 accounts, 1 June to 29 September 2026. Shared narratives and relayed talking points show alignment and uptake; they do not by themselves prove direction from Moscow.

Tap the image to zoom