Diese Anleitung zeigt, wie du Meta Ads an Claude Code anbindest, sodass Claude Kampagnendaten aus der Meta Marketing API auswerten kann. Sie ist Teil einer Serie über das Anbinden von Marketing-Daten an Claude Code.
Ist das sicher für mein Werbekonto?
Diese Frage zuerst, weil sie oft kommt. Ja. Die offizielle Meta Marketing API ist dieselbe Infrastruktur, die etablierte Reporting-Tools wie Supermetrics oder Windsor.ai nutzen. Ein lesender Zugriff über einen System-User-Token birgt kein Sperr-Risiko. Das Risiko, von dem online die Rede ist, betrifft ausschliesslich das automatisierte Auslesen der Oberfläche, nicht den offiziellen API-Zugriff.
Wie es funktioniert
Wie bei den anderen Plattformen schreibt Claude Code ein Python-Script, das die Marketing API abfragt und das Ergebnis als JSON speichert. Der Zugang läuft über eine eigene Meta-App und einen System User, dessen Token nicht abläuft.
Voraussetzungen
- Ein Meta-Business-Portfolio mit Admin-Zugriff.
- Mindestens ein Werbekonto, das mit dem Business-Portfolio verknüpft ist.
- Python 3 und Claude Code installiert.
Schritt 1: Meta-App erstellen
- Öffne developers.facebook.com, dann “My Apps” zu “Create App”.
- Im Use-Case-Schritt “Create & manage ads with Marketing API” wählen.
- Die App mit deinem Business-Portfolio verbinden und benennen.
- Die App ID notieren.
Der Meta-Entwicklerbereich nutzt seit 2025 einen Use-Case-basierten Ablauf. Eine App ohne Use Case zu erstellen führt bei der Marketing API zu Problemen, also den Use Case bewusst wählen.
Schritt 2: App konfigurieren und live schalten
Unter “App Settings” zu “Basic” trägst du App-Domain, Datenschutz-URL und Kontakt-Mail ein. Eine Business-Verifizierung ist für den internen Reporting-Einsatz nicht nötig.
Danach schaltest du die App im Kopfbereich des Dashboards von Development auf Live. Das ist wichtig: Im Development-Modus zeigt die Token-Erstellung später “No permissions available”.
Schritt 3: Marketing API als Produkt hinzufügen
In der App im linken Menü unter “Products” zu “Add Product” das Produkt Marketing API einrichten. Ohne diesen Schritt stehen bei der Token-Erstellung keine Berechtigungen zur Auswahl.
Schritt 4: System User anlegen
Ein System User ist ein nicht-menschlicher Account für die Server-zu-Server-Kommunikation. Sein Token läuft nicht ab, anders als ein persönlicher Token, der nach 60 Tagen verfällt.
- Öffne die Business-Einstellungen auf business.facebook.com, dann “Users” zu “System Users”.
- “Add”, einen generischen Namen vergeben, Rolle Admin.
- Den neuen System User anklicken, “Add Assets” zu “Ad Accounts”, die relevanten Werbekonten wählen und nur “View performance” aktivieren, dann “Assign assets”.
Vergib nur “View performance”, nicht “Manage campaigns”. Für ein reines Reporting-Setup genügt Lesezugriff.
Schritt 5: System User der App zuweisen
Dieser Schritt wird oft übersehen und ist die häufigste Ursache für die Fehlermeldung “No permissions available”:
- In der App unter “App roles” zu “Roles”.
- Über “Edit roles in Business Manager” den System User mit der Rolle Developer hinzufügen.
Schritt 6: Token erzeugen
Zurück auf der System-User-Seite:
- “Generate New Token”, die App auswählen.
- Ablauf auf Never setzen.
- Als Berechtigung nur
ads_readwählen, mehr braucht Reporting nicht. - “Generate Token”, und den Token sofort kopieren. Er wird nur einmal angezeigt.
Erscheint hier “No permissions available”, liegt es an einem der drei vorherigen Schritte: Marketing API nicht hinzugefügt, App nicht live, oder System User ohne App-Rolle. Alle drei prüfen.
Schritt 7: Zugangsdaten sicher ablegen
Drei Werte brauchst du: App ID, App Secret (in “App Settings” zu “Basic” zu “Show”) und den System-User-Token. Leg sie ausserhalb des Projektordners ab, zum Beispiel in einer .env-Datei in deinem zentralen Secrets-Ordner. Nichts davon gehört in git.
Ausserdem brauchst du die Ad-Account-ID des Werbekontos. Sie steht im Meta Ads Manager und hat die Form act_ gefolgt von einer Zahlenfolge.
Schritt 8: Verbindung testen lassen
Das nötige Paket:
pip install facebook-business python-dotenv
Ab hier schreibt Claude Code das Abfrage-Script. Ein Hinweis, den Claude berücksichtigen sollte: In jeden Insights-Aufruf gehört der Parameter use_unified_attribution_setting=True. Seit Mitte 2025 richtet sich die Attribution sonst nicht nach den Vorgaben des Ads Manager, und die API-Zahlen weichen von der Oberfläche ab.
Schritt 9: Claude Code die Auswertung überlassen
Sobald die Verbindung steht, fragst du in normaler Sprache:
- “Zeig mir alle aktiven Kampagnen der letzten 14 Tage mit Spend, Impressionen, Klicks und CTR.”
- “Welche Kampagnen haben die höchsten Kosten pro Lead?”
- “Vergleiche die Performance dieser Woche mit der Vorwoche.”
Ein Detail, das Claude beim Auswerten beachtet: Das actions-Feld der API enthält viele verschiedene Aktionstypen, von Linkklicks bis Conversions, teils als Aggregat. Wer alle aufsummiert, zählt doppelt. Claude filtert gezielt auf den jeweils passenden Typ.
Häufige Stolpersteine
- “No permissions available” bei der Token-Erstellung: App im Development-Modus, Marketing API nicht hinzugefügt, oder System User ohne App-Rolle. Alle drei prüfen.
- Token abgelaufen: Du nutzt einen persönlichen Token statt eines System-User-Tokens. Nur Letzterer läuft nicht ab.
- “Permission denied” beim API-Aufruf: Entweder fehlt
ads_read, oder das Werbekonto ist dem System User nicht zugewiesen. - Keine Conversions in den Daten: Dann ist das Meta-Pixel nicht konfiguriert oder das Conversion-Event heisst anders. Im Events Manager prüfen.
Fazit
Das Meta-Setup hat einige Schritte, ist aber geradlinig, wenn man die drei Auslöser für “No permissions available” kennt. Mit dem nicht ablaufenden System-User-Token läuft die Anbindung danach dauerhaft. Damit ist die Serie komplett: Search Console, GA4, Google Ads und Meta Ads, alle vier abfragbar im selben Werkzeug.
Häufige Fragen
Riskiere ich eine Sperre meines Werbekontos?
Nein. Der Zugriff läuft über die offizielle Marketing API mit Leseberechtigung. Das Sperr-Risiko betrifft nur das automatisierte Auslesen der Oberfläche, nicht den API-Zugriff.
Warum ein System User und kein normaler Login?
Der Token eines persönlichen Accounts läuft nach 60 Tagen ab. Der Token eines System Users läuft nicht ab und eignet sich darum für eine dauerhafte Anbindung.
Welche Berechtigung braucht der Token?
Für Reporting genügt ads_read. Schreibende Berechtigungen wie ads_management sind nicht nötig und sollten weggelassen werden.