Datenquellen

Google mit einem Dienstkonto verbinden

Richten Sie ein Google-Cloud-Dienstkonto ein, um Google Analytics, Search Console, Tag Manager und Google Ads mit begrenztem Zugriff und eigenem API-Kontingent zu verbinden.

Ein Dienstkonto (Service Account) ist ein Google-Konto für Software statt für eine Person. Es hat eine eigene E-Mail-Adresse, die auf iam.gserviceaccount.com endet, und Sie gewähren ihm Zugriff auf Ihre Google-Properties genauso wie einem Kollegen: indem Sie diese Adresse als Nutzer mit der gewünschten Rolle hinzufügen.

Dies ist der einzige Weg, Google Ads zu verbinden, und für Agenturen und technische Nutzer der empfohlene Weg für die übrigen Google-Dienste. Im Vergleich zu „Mit Google verbinden“ (OAuth) bietet ein Dienstkonto:

  • Präzise begrenzten Zugriff. Die Verbindung sieht nur genau die GA4-Properties, Search-Console-Websites, Tag-Manager-Container und Google-Ads-Konten, die Sie mit ihr teilen - nichts anderes aus dem persönlichen Konto einer Person.
  • Keine Bindung an eine Person. OAuth-Verbindungen brechen, wenn die angemeldete Person das Team verlässt, ihr Passwort ändert oder den App-Zugriff widerruft. Ein Dienstkonto funktioniert weiter.
  • Ihr eigenes API-Kontingent. OAuth-Anfragen laufen über die gemeinsame AI-Data-Stream-Anwendung, intensive Nutzung teilt sich also einen Pool. Dienstkonto-Anfragen werden Ihrem Google-Cloud-Projekt zugerechnet, mit eigenen Limits.
  • Eine Einrichtung für alles. Erstellen Sie das Dienstkonto einmal und verwenden Sie denselben JSON-Schlüssel für GA4, Search Console, Tag Manager und Google Ads über alle Ihre Properties hinweg. Agenturen können pro Kunde ein eigenes Konto anlegen, um eine strikte Trennung zu erreichen.

Der Preis dafür: etwa 15 Minuten einmalige Einrichtung in der Google Cloud Console. Diese Anleitung führt durch jeden Schritt.

Google Ads nur per Dienstkonto. Google verknüpft ein Google-Cloud-Projekt dauerhaft mit dem ersten Google Ads Entwickler-Token, das damit verwendet wird. Ein Token lässt sich deshalb nur aus einem Projekt nutzen, mit dem es verknüpft ist - Ihrem. Eine Verbindung über eine gemeinsame Anmeldung scheidet damit aus, mit einem echten Vorteil: Ihr Token bleibt an Ihr eigenes Projekt gebunden statt an unseres. Die Google Ads API verlangt weiterhin bei jedem Aufruf ein Entwickler-Token, egal wie Sie sich authentifizieren.

So funktioniert es

Die gesamte Einrichtung besteht aus drei Ideen:

  1. Erstellen Sie ein Dienstkonto in einem eigenen Google-Cloud-Projekt. Google stellt Ihnen eine JSON-Schlüsseldatei aus - die Zugangsdaten des Dienstkontos.
  2. Teilen Sie Ihre Properties mit der E-Mail-Adresse des Dienstkontos (im JSON unter client_email zu finden), über die normale Nutzerverwaltung jeder Plattform.
  3. Fügen Sie das JSON beim Anlegen einer Verbindung in AI Data Stream ein. Wir rufen die für das Dienstkonto sichtbaren Properties ab, Sie wählen eine aus, fertig.

Das Dienstkonto kann nur lesen, was Sie ausdrücklich geteilt haben, und alle Zugangsdaten werden verschlüsselt gespeichert.

Schritt 1: Google-Cloud-Projekt erstellen

Wenn Sie bereits ein Google-Cloud-Projekt haben, können Sie es wiederverwenden und diesen Schritt überspringen.

  1. Gehen Sie zu console.cloud.google.com
  2. Melden Sie sich mit einem beliebigen Google-Konto an (dieses Konto besitzt nur das Projekt; es braucht keinen Zugriff auf Ihre Analytics-Daten)
  3. Klicken Sie auf die Projektauswahl in der oberen Leiste, dann auf Neues Projekt
  4. Vergeben Sie einen wiedererkennbaren Namen wie aidata-connections und klicken Sie auf Erstellen
  5. Stellen Sie sicher, dass das neue Projekt in der oberen Leiste ausgewählt ist, bevor Sie fortfahren

Alle hier verwendeten APIs sind kostenlos - für keine dieser Verbindungen fallen Kosten pro Aufruf an. Je nach Konto kann Google Sie beim Anlegen des Projekts dennoch bitten, ein Rechnungskonto zu verknüpfen (bei Organisations- und Workspace-Konten ist das häufig der Fall). Eine Verknüpfung bedeutet nicht, dass Ihnen diese APIs in Rechnung gestellt werden.

Formular „Neues Projekt“ in der Google Cloud Console mit eingetragenem Projektnamen und der darunter erzeugten Projekt-ID

Der Name ist nur eine Bezeichnung - wählen Sie, was Sie später wiedererkennen. Gehört Ihr Konto zu einer Google-Cloud-Organisation, wird zusätzlich eine übergeordnete Ressource abgefragt; bei einem privaten Konto bleiben diese Felder leer.

Schritt 2: APIs aktivieren

Die APIs müssen im selben Projekt wie das Dienstkonto aktiviert werden. Aktivieren Sie nur die, die zu den geplanten Verbindungen passen:

Verbindung Zu aktivierende API
Google Analytics 4 Google Analytics Data API und Google Analytics Admin API
Google Search Console Google Search Console API
Google Tag Manager Tag Manager API
Google Ads Google Ads API

Für jede API:

  1. Öffnen Sie den obigen Link (oder gehen Sie zu APIs und Dienste → Bibliothek und suchen Sie nach dem Namen)
  2. Prüfen Sie, ob in der oberen Leiste das richtige Projekt ausgewählt ist
  3. Klicken Sie auf Aktivieren

GA4 braucht beide APIs: Die Data API beantwortet Reporting-Abfragen, die Admin API listet Ihre Properties auf und verwaltet Anmerkungen.

Suchergebnisse für „google ads api“ in der Google-Cloud-API-Bibliothek, darunter die Google Ads API

Öffnen Sie die gewünschte API aus den Ergebnissen und klicken Sie auf Aktivieren:

Die Produktseite der Google Ads API in Google Cloud mit der Schaltfläche Aktivieren

Schritt 3: Dienstkonto erstellen

  1. Gehen Sie in der Cloud Console zu APIs und Dienste → Anmeldedaten und klicken Sie auf Anmeldedaten erstellen → Dienstkonto (IAM und Verwaltung → Dienstkonten → Dienstkonto erstellen führt zum selben Formular)
  2. Füllen Sie das erscheinende Formular aus
  3. Vergeben Sie einen Namen wie aidata-stream - die unter dem Namensfeld generierte E-Mail-Adresse ist die Adresse, mit der Sie Ihre Properties teilen werden
  4. Klicken Sie auf Erstellen und fortfahren
  5. Überspringen Sie beide optionalen Schritte („Diesem Dienstkonto Zugriff auf das Projekt gewähren“ und „Nutzern Zugriff gewähren“) - das Dienstkonto benötigt keine Rollen in Ihrem Cloud-Projekt. Sein Zugriff ergibt sich vollständig aus dem Teilen in Schritt 5.
  6. Klicken Sie auf Fertig

Das geöffnete Menü „Anmeldedaten erstellen“ in Google Cloud mit der Option Dienstkonto unter API-Schlüssel und OAuth-Client-ID

Schritt 4: JSON-Schlüssel erstellen

  1. Klicken Sie auf der Dienstkonten-Seite auf das gerade erstellte Konto
  2. Öffnen Sie den Tab Schlüssel
  3. Klicken Sie auf Schlüssel hinzufügen → Neuen Schlüssel erstellen
  4. Wählen Sie JSON und klicken Sie auf Erstellen

Eine .json-Datei wird auf Ihren Computer heruntergeladen. Diese Datei ist das Passwort des Dienstkontos - wer sie besitzt, kann alle Daten lesen, die Sie mit dem Dienstkonto teilen. Bewahren Sie sie wie jedes andere Zugangsdatum auf und committen Sie sie nicht in ein Code-Repository.

Öffnen Sie die Datei in einem Texteditor und suchen Sie das Feld client_email:

{
  "type": "service_account",
  "project_id": "aidata-connections",
  "client_email": "[email protected]",
  ...
}

Diese E-Mail-Adresse fügen Sie im nächsten Schritt jeder Plattform hinzu.

Fehler „Schlüsselerstellung ist deaktiviert“? Neuere Google-Cloud-Organisationen blockieren Dienstkonto-Schlüssel standardmäßig (die Richtlinie iam.disableServiceAccountKeyCreation). Der Administrator Ihrer Organisation kann die Schlüsselerstellung für dieses Projekt erlauben. Persönliche Google-Konten sind nicht betroffen.

Der Tab Schlüssel des Dienstkontos mit geöffnetem Menü „Schlüssel hinzufügen“ und der Option Neuen Schlüssel erstellen

Schritt 5: Zugriff auf jeder Plattform gewähren

Fügen Sie die client_email-Adresse überall dort als Nutzer hinzu, wo die Verbindung Zugriff haben soll. AI Data Stream ist rein lesend, daher genügt überall die niedrigste Leserolle.

Google Analytics 4

  1. Öffnen Sie in Google Analytics die Property und gehen Sie zu Verwaltung
  2. Klicken Sie in der Spalte Property auf Zugriffsverwaltung für die Property
  3. Klicken Sie auf +Nutzer hinzufügen
  4. Geben Sie die E-Mail-Adresse des Dienstkontos ein
  5. Deaktivieren Sie Neue Nutzer per E-Mail benachrichtigen (ein Dienstkonto kann keine E-Mails empfangen)
  6. Wählen Sie die Rolle Betrachter und klicken Sie auf Hinzufügen

Die Betrachter-Rolle deckt alles ab, was die KI für Analysen braucht. Wählen Sie Bearbeiter nur, wenn die Anmerkungen von AI Data Stream als native Anmerkungen nach GA4 synchronisiert werden sollen - deren Erstellung erfordert Bearbeitungsrechte.

Google Search Console

Sie müssen Inhaber der Search-Console-Property sein, um Nutzer hinzufügen zu können.

  1. Wählen Sie in der Search Console die Property aus
  2. Gehen Sie zu Einstellungen → Nutzer und Berechtigungen
  3. Klicken Sie auf Nutzer hinzufügen
  4. Geben Sie die E-Mail-Adresse des Dienstkontos ein
  5. Wählen Sie die Berechtigung Uneingeschränkt und klicken Sie auf Hinzufügen

„Uneingeschränkt“ bleibt für unsere Zwecke rein lesend und hält alle Funktionen einsatzbereit, einschließlich der URL-Prüfung. Eingeschränkt funktioniert ebenfalls, wenn Sie nur Suchleistungsdaten benötigen.

Google Tag Manager

  1. Gehen Sie im Tag Manager zu Verwaltung
  2. Klicken Sie in der Spalte Konto auf Nutzerverwaltung
  3. Klicken Sie auf +Nutzer hinzufügen
  4. Geben Sie die E-Mail-Adresse des Dienstkontos ein
  5. Setzen Sie die Kontoberechtigung auf Nutzer
  6. Vergeben Sie unter den Container-Berechtigungen Lesen für die Container, die Sie verbinden möchten
  7. Klicken Sie auf Einladen - Dienstkonten werden hinzugefügt, ohne dass eine Einladung angenommen werden muss

Google Ads akzeptiert Dienstkonten als direkte Nutzer - keine E-Mail-Einladung, die angenommen werden müsste.

  1. Öffnen Sie in Google Ads das Werbekonto und gehen Sie zu Verwaltung → Zugriff und Sicherheit
  2. Klicken Sie im Tab Nutzer auf +
  3. Geben Sie die E-Mail-Adresse des Dienstkontos ein
  4. Wählen Sie die Zugriffsebene Nur Lesezugriff - sie deckt das gesamte Reporting ab
  5. Klicken Sie auf Konto hinzufügen

Google-Ads-Einladungsformular mit eingetragener Dienstkonto-Adresse und hervorgehobenen Zugriffsebenen

Bild aus der Google Ads API-Dokumentation, verwendet unter CC BY 4.0.

Fügen Sie das Dienstkonto zum Werbekonto selbst hinzu, nicht nur zum darüberliegenden Verwaltungskonto - für Verwaltungskonten lassen sich keine Berichte abrufen. Sobald der Zugriff besteht, listen wir die erreichbaren Konten auf und Sie wählen aus einer Liste aus. Die Kundennummer müssen Sie also nicht selbst heraussuchen.

Zur Erinnerung: Beim Anlegen der Verbindung benötigen Sie weiterhin ein Entwickler-Token mit Basic-Zugriff.

Schritt 6: In AI Data Stream verbinden

  1. Gehen Sie zu Ihrer Property und klicken Sie auf Verbindung hinzufügen
  2. Wählen Sie den Verbindungstyp (Google Analytics 4, Search Console, Tag Manager oder Google Ads)
  3. Wählen Sie Dienstkonto als Authentifizierungsmethode - bei Google Ads entfällt dieser Schritt, da es keine andere Methode gibt
  4. Öffnen Sie die heruntergeladene .json-Datei in einem Texteditor, kopieren Sie den gesamten Inhalt (einschließlich der äußeren { }-Klammern) und fügen Sie ihn in das Zugangsdaten-Feld ein
  5. Nur für Google Ads: Geben Sie zusätzlich Ihr Entwickler-Token ein. Das Auflisten der Konten ist selbst ein API-Aufruf, ohne Token erscheint daher nichts
  6. Wir listen alle Properties auf, die das Dienstkonto sehen kann - wählen Sie eine aus und klicken Sie auf Verbindung hinzufügen

Wiederholen Sie das für jeden Verbindungstyp. Dasselbe JSON funktioniert für alle, solange die passende API aktiviert und der Zugriff gewährt wurde.

Zugriff widerrufen

Sie behalten auf beiden Seiten die Kontrolle und können jederzeit widerrufen:

  • Eine Plattform entfernen: Löschen Sie den Nutzereintrag des Dienstkontos in GA4 / Search Console / Tag Manager / Google Ads. Die Verbindung verliert sofort den Zugriff auf diese Plattform.
  • Den Schlüssel stilllegen: Öffnen Sie in der Cloud Console den Tab Schlüssel des Dienstkontos und löschen Sie den Schlüssel. Alle Verbindungen mit diesem JSON funktionieren dann nicht mehr.
  • Die Verbindung löschen: Das Entfernen der Verbindung in AI Data Stream löscht die gespeicherten Zugangsdaten auf unserer Seite.

Fehlerbehebung

„Keine Properties gefunden“ beim Verbinden

  • Dem Dienstkonto wurde noch kein Zugriff gewährt, oder der Zugriff wurde auf dem falschen Konto eingerichtet - prüfen Sie, ob Sie exakt die client_email-Adresse aus dem JSON hinzugefügt haben
  • Nach dem Hinzufügen des Nutzers kann es einige Minuten dauern, bis der Zugriff wirksam wird - warten Sie kurz und versuchen Sie es erneut
  • Stellen Sie für GA4 sicher, dass die Google Analytics Admin API aktiviert ist (sie ist für das Auflisten der Properties zuständig)
  • Prüfen Sie bei Google Ads, ob das Entwickler-Token eingetragen ist - ohne es können wir nichts auflisten. Verwaltungskonten selbst erscheinen nie in der Liste: Für sie lassen sich keine Berichte abrufen, nur für die darunterliegenden Werbekonten

„Ungültiges JSON-Format“

  • Fügen Sie den vollständigen Dateiinhalt ein, von der öffnenden { bis zur schließenden } - ein teilweises Einfügen oder nur der private Schlüssel wird nicht akzeptiert

Fehler mit „API has not been used in project … or it is disabled“

  • Die API für diese Verbindung ist im Projekt des Dienstkontos nicht aktiviert - siehe Schritt 2. Die Fehlermeldung enthält einen direkten Link zur richtigen Seite.

„Permission denied“ bei einer bestimmten Abfrage

  • Die Rolle des Dienstkontos wurde auf der Plattformseite reduziert oder entfernt - prüfen Sie dort erneut den Nutzereintrag

Google-Ads-Fehler zum Entwickler-Token

  • Dienstkonten ändern nichts an den Token-Anforderungen: Ein Token mit Testzugriff kann keine echten Kampagnendaten lesen. Siehe die Anleitung zum Entwickler-Token für den Basic-Zugriff.

Google Ads DEVELOPER_TOKEN_PROHIBITED

  • Ihr Entwickler-Token und das Cloud-Projekt mit dem Dienstkonto sind nicht miteinander verknüpft. Ein Token wird dauerhaft an das erste Cloud-Projekt gebunden, aus dem es verwendet wird: Nutzen Sie das Dienstkonto also in genau diesem Projekt - oder, falls das Token noch nie verwendet wurde, stellt dieser erste Aufruf die Verknüpfung her.

Nächste Schritte