> For the complete documentation index, see [llms.txt](https://docs.adpage.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adpage.io/documentation/documentation-nl/optimaliseer-je-installatie/google-cloud-serviceaccount-koppelen.md).

# Google Cloud-serviceaccount koppelen

Gebruik Firestore, BigQuery en andere Google Cloud-services vanuit je GTM-servercontainer door een serviceaccount uit je eigen Google Cloud-project te koppelen.

### Wanneer heb je dit nodig?

Sommige server-side tags en variabelen lezen van of schrijven naar Google Cloud. Veelvoorkomende voorbeelden:

* **Firestore Lookup** variabele — verrijk gebeurtenissen met gegevens die zijn opgeslagen in Firestore, bijvoorbeeld om een extra conversieactie te bouwen op basis van klant- of ordergegevens.
* **Firestore Writer** tags — sla gebeurtenisgegevens op in Firestore.
* **BigQuery** tags — stream trackinggegevens naar je eigen BigQuery-dataset.

Deze tags verifiëren zich met de Google-gegevens van de servercontainer. Omdat je gegevens zich bevinden in **je eigen** Google Cloud-project, maak je in dat project een Service Account aan en koppel je die aan je AdPage-container. AdPage geeft geen gedeelde Service Account uit waaraan jij toegang verleent: jij blijft eigenaar van het account, de rechten en de sleutel.

{% hint style="info" %}
In het AdPage-dashboard heet deze instelling **Google BigQuery**, maar de Service Account die je daar uploadt, wordt gebruikt voor alle Google Cloud-toegang vanuit je servercontainer, inclusief Firestore.
{% endhint %}

### Stap 1: maak de Service Account aan

{% stepper %}
{% step %}

#### Open IAM in je Google Cloud-project

In de [Google Cloud Console](https://console.cloud.google.com/), selecteer het project dat je Firestore-database (of BigQuery-dataset) bevat en ga naar **IAM & Admin → Service Accounts**.
{% endstep %}

{% step %}

#### Maak het account aan

Klik op **Service account maken** en geef het een herkenbare naam, bijvoorbeeld `adpage-sgtm`.
{% endstep %}

{% step %}

#### Geef de rollen toe

Geef het account alleen de rollen die je tags nodig hebben:

| Gebruikssituatie                      | Rol                                                                                                    |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Firestore Lookup (alleen lezen)       | `Cloud Datastore Viewer` (`roles/datastore.viewer`)                                                    |
| Firestore Writer (lezen en schrijven) | `Cloud Datastore User` (`roles/datastore.user`)                                                        |
| BigQuery                              | `BigQuery Data Editor` (`roles/bigquery.dataEditor`) en `BigQuery Job User` (`roles/bigquery.jobUser`) |

Heb je zowel Firestore als BigQuery nodig? Geef de **zelfde** Service Account alle rollen die je nodig hebt. Een container bevat tegelijk één Service Account (zie [Dingen om te weten](#things-to-know)).
{% endstep %}

{% step %}

#### Maak een JSON-sleutel aan

Open de Service Account, ga naar **Keys → Add key → Create new key**, kies **JSON** en download het bestand.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Kun je geen sleutel aanmaken? Mogelijk dwingt je organisatie het beleid `iam.disableServiceAccountKeyCreation`af. Vraag je Google Cloud-beheerder om een uitzondering voor dit project.
{% endhint %}

### Stap 2: koppel de Service Account in AdPage

{% stepper %}
{% step %}

#### Open de containerinstellingen

In de [AdPage-dashboard](https://data.adpage.io), ga naar **Containers**, open je container en klik op **Instellingen**.
{% endstep %}

{% step %}

#### Upload het JSON-bestand

Kies in het menu links **Google BigQuery**. Sleep het JSON-bestand naar het uploadgebied (of klik om het te selecteren) en klik op **Opslaan**.

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2FEqQT6eJORlBQC7tPnEIw%2Fdata-streams-bigquery-export-en.webp?alt=media" alt="BigQuery export screen with the Service Account upload area"><figcaption><p>BigQuery-export: upload de JSON-sleutel van je Service Account.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Controleer de status

Wanneer de upload is geslaagd, laat de sectie zien dat er een Service Account is gekoppeld.
{% endstep %}
{% endstepper %}

{% hint style="danger" %}
Het JSON-bestand bevat een privésleutel. Upload het alleen in het AdPage-dashboard en verstuur het niet via e-mail of chat. Verwijder het gedownloade bestand zodra het is geüpload.
{% endhint %}

### Stap 3: gebruik het in je GTM-servercontainer

Voor een **Firestore Lookup** variabele:

1. Ga in je GTM-servercontainer naar **Variabelen → Nieuw** en kies **Firestore Lookup**.
2. Voer het collectiepad en het documentpad of de query in.
3. Onder **Geavanceerd**, schakel **Project-ID overschrijven** in en voer de ID in van het Google Cloud-project dat je Firestore-database bevat. Zonder dit kijkt de variabele in het project waarin de servercontainer draait, niet in dat van jou.

Hetzelfde geldt voor Firestore- en BigQuery-tags uit de Community Template Gallery: voer altijd je eigen project-ID in.

{% hint style="success" %}
Test het in de GTM Preview-modus. Open een verzoek dat de variabele gebruikt en controleer of deze een waarde teruggeeft. Een permissiefout betekent meestal dat een rol ontbreekt of dat de project-ID onjuist is.
{% endhint %}

### Dingen om te weten

* **Eén Service Account per container.** Het uploaden van een nieuw JSON-bestand vervangt het vorige. Als je de container zowel voor BigQuery als Firestore gebruikt, gebruik dan één Service Account met alle rollen die het nodig heeft.
* **De sleutel roteren.** Maak een nieuwe sleutel aan in Google Cloud, upload deze in AdPage, controleer je tags in Preview-modus en verwijder pas daarna de oude sleutel in Google Cloud.
* **Toegang intrekken.** Het verwijderen van de sleutel of de Service Account in Google Cloud stopt de toegang onmiddellijk. Tags die ervan afhankelijk zijn zullen dan falen.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.adpage.io/documentation/documentation-nl/optimaliseer-je-installatie/google-cloud-serviceaccount-koppelen.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
