# 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](/de/docs/connecting-data-sources/#google-ads), 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](https://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](/images/docs/service-account/cloud-new-project.png)

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](https://console.cloud.google.com/apis/library/analyticsdata.googleapis.com) **und** [Google Analytics Admin API](https://console.cloud.google.com/apis/library/analyticsadmin.googleapis.com) |
| Google Search Console | [Google Search Console API](https://console.cloud.google.com/apis/library/searchconsole.googleapis.com) |
| Google Tag Manager | [Tag Manager API](https://console.cloud.google.com/apis/library/tagmanager.googleapis.com) |
| Google Ads | [Google Ads API](https://console.cloud.google.com/apis/library/googleads.googleapis.com) |

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](/images/docs/service-account/cloud-api-library-search.png)

Ö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](/images/docs/service-account/cloud-enable-google-ads-api.png)

## 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](/images/docs/service-account/cloud-create-service-account.png)

## 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`:

```json
{
  "type": "service_account",
  "project_id": "aidata-connections",
  "client_email": "aidata-stream@aidata-connections.iam.gserviceaccount.com",
  ...
}
```

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](/images/docs/service-account/cloud-create-json-key.png)

## 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](https://analytics.google.com/) 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](/de/docs/annotations/) 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](https://search.google.com/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](https://tagmanager.google.com/) 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

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

1. Öffnen Sie in [Google Ads](https://ads.google.com/) 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](/images/docs/service-account/google-ads-sa-add-access.png)

*Bild aus der [Google Ads API-Dokumentation](https://developers.google.com/google-ads/api/docs/oauth/service-accounts), 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](/de/docs/connecting-data-sources/#google-ads).

## 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](#schritt-2-apis-aktivieren). 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](/de/docs/connecting-data-sources/#google-ads) 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

- [Datenquellen verbinden](/de/docs/connecting-data-sources/) - alle Verbindungstypen und die Anleitung zum Google Ads Entwickler-Token
- [Ein Gespräch mit Ihren Daten starten](/de/docs/using-ai-chat/)
- [BYOK verstehen](/de/docs/byok-explained/) - dieselbe Idee eigener Zugangsdaten, angewendet auf KI-Anbieter
