> 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/integraties-websites/woocommerce.md).

# WooCommerce

Hoe je server-side tagging instelt voor een WooCommerce-webshop

***

## Server-side tagging instellen voor WooCommerce

Dit artikel leidt je door de volledige configuratie van server-side tagging in een WooCommerce-webshop: het genereren van je Google Tag Manager-templates, ze importeren, je ID's invullen, ze testen en ten slotte de oude trackingkoppelingen binnen de WooCommerce-webshop verwijderen.

### Voordat je begint

Dit artikel sluit aan op waar **Aan de slag** het vorige artikel is gebleven. Zorg ervoor dat alle stappen in het artikel AdPage-container instellen zijn gevolgd. Dat betekent dat:

* [ ] Je **AdPage-container** is aangemaakt.
* [ ] Je AdPage-container is **verbonden met je GTM-servercontainer**.
* [ ] De **CNAME-record** is toegevoegd in je DNS-instellingen, zodat tagging draait op je eigen (sub)domein.
* [ ] De **AdPage WooCommerce-module** is geïnstalleerd in je webshop.

{% hint style="warning" %}
Als een van deze stappen nog openstaat, rond die dan eerst af. Alles hieronder gaat ervan uit dat je servercontainer bereikbaar is op je eigen domein en dat de AdPage Tagging-plugin data naar de dataLayer pusht.
{% endhint %}

***

### Meertalige omgevingen (WPML)

{% hint style="danger" %}
Als je WooCommerce-webshop in meerdere talen draait via WPML, behandel dan elke taal als een eigen omgeving. De AdPage Tagging Pixel wordt niet automatisch gedeeld tussen talen, dus die moet per taal afzonderlijk worden ingevuld (en per domein, als je WPML-configuratie een apart domein per taal gebruikt).

Een taal overslaan laat de storefront van die taal achter zonder werkende Tagging Pixel, waardoor aankopen en andere gebeurtenissen die in die taal worden gedaan nooit je GTM-containers bereiken.

![](https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2FWyuPrdMVYppLHnpvE2XZ%2Fimage.png?alt=media\&token=d3b89cc2-4976-455a-9a39-d8a9eae881de)

Om te controleren of elke taal correct is geconfigureerd:

1. Open in de WordPress-backend de taalswitcher in het bovenste menu.
2. Schakel één voor één naar elke taal.
3. Open voor elke taal de instellingen van de Tagging Pixel en controleer of de Website-URL en de GTM Web Container ID zijn ingevuld.
4. Sla je wijzigingen op en plaats een testbestelling in die taal om te bevestigen dat gebeurtenissen nog steeds correct worden gevolgd.
   {% endhint %}

### Stap 1: Genereer je templates in de Template Library

Je hoeft je tags, triggers en variabelen niet handmatig op te bouwen. De Template Library van AdPage genereert voor jou een complete, geteste Google Tag Manager-configuratie voor WooCommerce.

1. Ga naar [data.adpage.io/template-library](https://data.adpage.io/template-library).
2. Selecteer de marketingplatformen waarnaar je data wilt sturen, bijvoorbeeld Google Ads, Meta Ads, TikTok Ads, LinkedIn Ads of Pinterest Ads.
3. Selecteer het Consent Management Platform dat je gebruikt op je WooCommerce-webshop.
4. Genereer de templates. Je krijgt **twee JSON-bestanden**: één voor je GTM **web** container en één voor je GTM **server** container.
5. Download beide bestanden en houd ze bij de hand.

<figure><img src="https://1274044937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2Fo4nPmZrjh5NFMGAYOnPp%2Fimage.png?alt=media&#x26;token=a8b98f2d-df97-4c6a-9a20-c91350247029" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Selecteer alleen de platformen die je echt gebruikt. Elk platform dat je toevoegt, maakt extra tags en constante variabelen aan die je later nog moet invullen.
{% endhint %}

***

### Stap 2: Importeer de webcontainer-template

1. Open je **GTM-webcontainer**.
2. Ga naar **Beheerder** en klik op **Container importeren**.
3. Selecteer het **web** JSON-bestand dat je hebt gedownload.
4. Kies een werkruimte.
   * Als je niet-gepubliceerde wijzigingen hebt in je standaardwerkruimte, raden we aan te importeren in een **nieuwe werkruimte** zodat je import gescheiden blijft van ander werk in uitvoering.
5. Kies de importoptie:
   * **Samenvoegen en conflicterende tags, triggers en variabelen hernoemen** voor een container die al een configuratie bevat. Niets bestaande wordt verwijderd.
   * **Overschrijven** alleen voor een gloednieuwe, lege container.
6. Controleer de voorbeeldweergave van de wijzigingen die GTM je laat zien en klik dan op **Bevestigen**.

<figure><img src="https://1274044937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2F3CKvxX1mSb1O2JBpcE4Q%2Fimage.png?alt=media&#x26;token=ee12042d-41d9-4406-95f9-9e2eaf8d3bc1" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Publiceer je GTM-webcontainer nog niet. De tags in de import missen nog steeds je ID's, die vul je in bij stap 4.
{% endhint %}

***

### Stap 3: Importeer de servercontainer-template

Herhaal dezelfde stappen in je **GTM-servercontainer** met het **server** JSON-bestand.

1. Open je **GTM-servercontainer**.
2. Ga naar **Beheerder** en klik op **Container importeren**.
3. Selecteer het **server** JSON-bestand.
4. Importeer in een nieuwe werkruimte en kies **Samenvoegen en conflicterende tags, triggers en variabelen hernoemen**.
5. Controleer de voorbeeldweergave en klik op **Bevestigen**.
6. Ga naar **Clients** en controleer of er een extra GA4-client is ingesteld. Zo ja, verwijder dan de geïmporteerde GA4-client.

<figure><img src="https://1274044937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2FyhuHijhZUYGKSi2cG86j%2Fimage.png?alt=media&#x26;token=fbe37ee9-0cec-4291-8c7d-b9f5569cb1d6" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
Publiceer je GTM-servercontainer nog niet. De tags in de import missen nog steeds je ID's en tokens, die vul je in bij stap 4.
{% endhint %}

***

### Stap 4: Vul de constante variabelen in

Beide templates zijn opgebouwd rond **constante variabelen**. Alle ID's, tokens en instellingen staan op één plek, zodat je nooit individuele tags hoeft te openen om iets te wijzigen.

1. Ga in je GTM-webcontainer naar **Variabelen**.
2. Open elke constante variabele, die je herkent aan de "@" in de naam. Vul per variabele de juiste waarde in. Zie de onderstaande tabel om te weten welk ID of token je moet invullen.
3. Sla elke variabele op.
4. Ga in je GTM-servercontainer naar **Variabelen**.
5. Open elke constante variabele, die je herkent aan de "@" in de naam. Vul per variabele de juiste waarde in. Zie de onderstaande tabel om te weten welk ID of token je moet invullen.
6. Sla elke variabele op.

Afhankelijk van de platformen die je hebt geselecteerd, vul je meestal het volgende in:

<table><thead><tr><th width="118">Container</th><th width="240">Variabele</th><th>Waarde</th></tr></thead><tbody><tr><td>Web</td><td>Servercontainer-URL</td><td>Het taggingdomein uit je CNAME-record, bijvoorbeeld: <code>https://tagging.domain.com</code></td></tr><tr><td>Web</td><td>GA4 Measurement ID</td><td>De Measurement ID van je GA4-property:<br><code>G-XXXXXXXXXX</code></td></tr><tr><td>Web</td><td>Meta Pixel ID</td><td>Je Pixel-ID uit Meta Events Manager</td></tr><tr><td>Web</td><td>TikTok Pixel ID</td><td>Je Pixel-ID uit TikTok Events Manager</td></tr><tr><td>Web</td><td>Pinterest Tag ID</td><td>Je Pinterest Tag ID, te vinden in de Tag Manager van je Pinterest Ads-account</td></tr><tr><td>Web</td><td>LinkedIn Partner ID</td><td>Je LinkedIn Partner ID, te vinden in de Signals Manager van je LinkedIn Ads-account</td></tr><tr><td>Web</td><td>Cookiebot Domain Group ID</td><td>De Domain Group ID uit je Cookiebot-account</td></tr><tr><td>Server</td><td>GA4 Measurement ID</td><td>De Measurement ID van je GA4-property:<br><code>G-XXXXXXXXXX</code></td></tr><tr><td>Server</td><td>Meta Pixel ID</td><td>Je Pixel-ID uit Meta Events Manager</td></tr><tr><td>Server</td><td>Meta API-token</td><td>Het API-token van je Pixel uit Meta Events Manager</td></tr><tr><td>Server</td><td>TikTok Pixel ID</td><td>Je Pixel-ID uit TikTok Events Manager</td></tr><tr><td>Server</td><td>TikTok API Token</td><td>Het API-token van je Pixel uit TikTok Events Manager</td></tr><tr><td>Server</td><td>Google Ads Conversion ID</td><td>Je Google Ads Conversion ID:<br><code>AW-XXXXXXXXXX</code> min de <code>AW-</code> deel</td></tr><tr><td>Server</td><td>Google Ads-conversielabels</td><td>Nieuwe aanmaken <code>purchase</code>, <code>add_to_cart</code>, en <code>begin_checkout</code> conversies in Google Ads. Zodra ze zijn ingesteld, kun je hun conversielabels vinden.</td></tr><tr><td>Server</td><td>Pinterest-adverteerders-ID</td><td>De adverteerders-ID uit je advertentieaccount. Deze ID begint meestal met 549.</td></tr><tr><td>Server</td><td>Pinterest API Token</td><td>Het API-token dat je vindt in je Conversions API-instellingen van je Pinterest Business-account.</td></tr><tr><td>Server</td><td>LinkedIn API Token</td><td>Het API-token dat je kunt genereren in LinkedIn Campaign Manager onder Sources.</td></tr><tr><td>Server</td><td>LinkedIn-conversie-ID's</td><td>Nieuwe aanmaken <code>purchase</code>, <code>add_to_cart</code>, en <code>begin_checkout</code> conversies in LinkedIn Ads. Zodra ze zijn ingesteld, kun je hun conversie-ID's vinden in de URL van de conversie.</td></tr></tbody></table>

{% hint style="info" %}
Laat nooit een constante variabele leeg. Een lege ID betekent dat tags afgaan zonder bestemming, wat later zichtbaar wordt als ontbrekende conversies of mislukte uitgaande verzoeken.
{% endhint %}

***

### Stap 5: Test in previewmodus

Je hebt zojuist container-templates geïmporteerd met volledige tracking voor GA4 en de marketingplatformen die je hebt geselecteerd. Dat betekent dat alles wat je nodig hebt nu aanwezig is in je GTM-containers, en alles wat daar al stond voor hetzelfde doel is een duplicaat.

#### **Schakel eerst je oude tags uit**

Loop de tags in je webcontainer na en pauzeer of verwijder elke tag die iets meet dat je nieuwe configuratie nu afhandelt. In de praktijk is dat je oude GA4-configuratietag, alle GA4-gebeurtenistags voor e-commercestappen zoals `add_to_cart` en `purchase`, je Meta Pixel-tags, je Google Ads remarketingtags en alle custom HTML-tags die data rechtstreeks naar een platform sturen.

Als je niet zeker weet of je een oude tag later nog nodig hebt, pauzeer hem dan in plaats van hem te verwijderen. Je kunt hem altijd in een latere versie verwijderen zodra de nieuwe configuratie zich heeft bewezen. Oude triggers en variabelen kunnen blijven staan; die doen op zichzelf niets.

Sla dit over en de previewmodus laat twee keer alles zien, en na het publiceren worden je conversies dubbel geteld.

#### Test beide containers

1. Open de **Previewmodus** in je GTM-webcontainer en vul de URL van je webshop in.
2. Open de **Previewmodus** in je GTM-servercontainer ook, zodat je dezelfde hits server-side binnen ziet komen.
3. Doorloop de volledige klantreis en controleer dat elke stap één keer afgaat, met de juiste e-commerceparameters:
   * `page_view`
   * `view_item_list`
   * `view_item`
   * `add_to_cart`
   * `view_cart`
   * `remove_from_cart`
   * `begin_checkout`
   * `add_shipping_info`
   * `add_payment_info`
   * `purchase`
4. Controleer voor elke gebeurtenis in de **server** container of de GA4-gebeurtenisanvraag binnenkomt en of je platformtags afgaan en een succesvolle reactie teruggeven.

***

### Stap 6: Opruimen en publiceren

Voordat je publiceert, zorg ervoor dat je WooCommerce-site niet langer de tracking-scripts laadt die nu via je servercontainer draaien. Als je Meta Ads via server-side tagging hebt ingesteld, moet de basiscode van de Meta Pixel weg. Hetzelfde geldt voor een gtag.js-fragment voor GA4 of Google Ads, een TikTok-pixel, een Pinterest-tag of elke andere pixel die nu vanuit de servercontainer wordt afgevuurd. Controleer je themabestanden, de functions.php van je child theme, eventuele scriptvelden in de header of footer en de plugins die je gebruikt, want pixels worden vaak via een marketing- of conversieplugin ingevoegd in plaats van handmatig.

Verwijder ook het standaard GTM-fragment als dat nog ergens aanwezig is. De AdPage-plugin laadt zelf de koppeling met de GTM-webcontainer, dus een tweede fragment betekent problemen met het laden van scripts.

Publiceer daarna je web- en servercontainer. Gebruik een versienaam en beschrijving die je later herkent, bijvoorbeeld "AdPage server-side tagging", zodat je kunt terugkeren naar de vorige versie als iets toch verkeerd blijkt te zijn.

Sluit af met een testbestelling op je live site en controleer in de AdPage-interface en het GA4-realtime rapport of de gebeurtenissen aankomen en de conversies één keer worden geregistreerd. Elke koppeling die WooCommerce nog rechtstreeks onderhoudt met een advertentieplatform zal dezelfde gebeurtenis een tweede keer versturen, wat leidt tot dubbele conversies en opgeblazen omzet in je rapporten.

***

### Hulp nodig?

Zie je na het volgen van deze stappen nog steeds ontbrekende gebeurtenissen, dubbele conversies of niet-toegewezen verkeer? Neem contact op met ons supportteam en we kijken er samen naar.


---

# 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/integraties-websites/woocommerce.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.
