> 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/website-integraties/shopware.md).

# Shopware

Server-side tagging instellen voor een Shopware-webshop

## Server-side tagging instellen voor Shopware

Dit artikel leidt je door de volledige setup van server-side tagging op een Shopware-winkel.

### Voordat je begint

Dit artikel sluit aan op waar **Aan de slag** is gebleven. Zorg ervoor dat alle stappen in het [AdPage-container instellen](/documentation/documentation-nl/aan-de-slag/adpage-container-instellen.md) artikel 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 op je eigen (sub)domein draait.
* [ ] De **Tagging Pixel-script** is geïnstalleerd om een verbinding met de GTM-webcontainer te garanderen.

{% 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 dataLayer aanwezig is op de frontend van de webshop.
{% endhint %}

***

### Stap 1: Stel een e-commerce dataLayer in

AdPage biedt geen native dataLayer-plugin voor Shopware, dus u zult er zelf een moeten instellen. Mogelijk heeft uw winkel al een dataLayer. Zo niet, dan raden we de volgende plugin aan: [Shopware-plugininstellingen voor GA4 + remarketing](https://store.shopware.com/en/dtgs888695584742m12/google-tag-manager-ga4-remarketing.html)

Schakel binnen deze plugin alles uit behalve enhanced ecommerce en hash enhanced conversion. De plugin kan gegevens rechtstreeks naar GA4 en Google Ads sturen, maar dan niet via server-side tagging. Als u die opties ingeschakeld laat, ontstaan dubbele hits. Het enige wat deze plugin hoeft te doen, is e-commerce-events naar de dataLayer pushen, waar uw server-side tagging-opzet ze oppikt.

Zodra deze is geïnstalleerd, opent u uw winkel in de browser en controleert u of de dataLayer gevuld is. U zou gebeurtenissen moeten zien zoals `view_item`, `add_to_cart` en `purchase` verschijnen terwijl u door de winkel navigeert en een testbestelling afrondt.

*De instellingen in de plugin:*

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2FZdA5IJRT9A23Fi231nU1%2Fimage.png?alt=media&amp;token=608be43b-ea76-48c8-a762-ee6e1e231584" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2F93cCnAcG9NCNwBPRkO9h%2Fimage.png?alt=media&amp;token=2fb9e702-ba35-4188-83e0-12f6a6823e05" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2FWf7QIjXGziJ3VX1EsVMk%2Fimage.png?alt=media&amp;token=49fb3291-ba0a-48c5-a602-c758898d3409" alt=""><figcaption></figcaption></figure>

***

### Stap 2: Stel de AdPage-webhookplugin in

Stel de webhooks voor het aankoop-event in. Dit doet u door de AdPage-webhookplugin via Composer te installeren. De plugin is beschikbaar [hier](https://github.com/AdPageGroup/Shopware).

De webhook stuurt de bestelgegevens vanuit Shopware rechtstreeks vanuit de backend naar uw AdPage-servercontainer, onafhankelijk van de browser. Hierdoor is het aankoop-event betrouwbaar, zelfs wanneer een bezoeker het tabblad direct na het afrekenen sluit, wanneer de browser tracking blokkeert of wanneer er geen toestemming is verleend voor client-side tracking.

Als u de plugin niet zelf via Composer kunt installeren, vraag dan uw webdeveloper of hostingpartij dit voor u te doen.

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2Fd9GEKf5eHIgaijGTe9Z6%2Fimage.png?alt=media&amp;token=ffe13dbe-c4b9-4d93-a072-49426b2f8c46" alt=""><figcaption></figcaption></figure>

***

### Stap 3: Stel uw verkoopkanaal in

Shopware werkt met een aparte configuratie voor elk verkoopkanaal. Een verkoopkanaal kan een eigen domein zijn, maar kan ook binnen een bestaand domein vallen. Omdat plugininstellingen per verkoopkanaal worden toegepast, configureert u de AdPage-plugin voor elk kanaal afzonderlijk.

Een voorbeeld. Het verkoopkanaal "domainx" dekt [domainx.nl](http://domainx.nl/). Daarnaast is er een tweede verkoopkanaal, "domainx business", dat binnen hetzelfde domein valt en beschikbaar zal zijn op <https://www.domainx.nl/business> of <https://www.domainx.nl/workwear>. Beide hebben hun eigen configuratie nodig.

* Selecteer de verkoopkanalen waarvan u de transacties naar uw online marketingplatforms wilt doorsturen. De tagging-URL kan per kanaal worden ingesteld.
* Als u later verkoopkanalen toevoegt of wijzigt, kunt u die ook in de plugin aanpassen. Zorg ervoor dat de tagging-URL die u voor het domein invoert overeenkomt met de tagging-URL die in uw taggingplatform is geconfigureerd.

Dat laatste gaat in de praktijk het vaakst mis, dus als u wilt, kan ik dit uitbreiden tot een korte callout waarin wordt uitgelegd wat er misgaat wanneer de twee niet overeenkomen (webhooks die op een container binnenkomen die het domein niet herkent, waardoor aankopen nooit in de platforms terechtkomen).

***

### Stap 4: Stel GA4-tracking in Google Tag Manager in

Server-side tagging met een AdPage-servercontainer werkt door GA4-geformatteerde verzoeken van de client te ontvangen. Daarom moet u op de client GA4-eventtags instellen die deze verzoeken naar de URL van uw servercontainer sturen. En in uw servercontainer hebt u een GA4 Client en een GA4-tag nodig, zodat die verzoeken worden doorgestuurd naar uw Google Analytics 4-property als GA4-events.

#### **Stappen in de servercontainer van Google Tag Manager**

1. **GA4 Client.** Een Client ontvangt inkomende gegevens op de server. De GA4 Client laat de server gegevens in GA4-formaat lezen. Deze bestaat standaard al onder Clients en hoeft voor een standaardinstelling niet te worden aangepast.
2. **GA4-tag.** Ga naar Tags en maak een nieuwe tag aan met Google Analytics: GA4 als configuratie. Twee velden zijn het belangrijkst. Measurement ID bepaalt naar welke property de gegevens gaan, en als u dit leeg laat, gebruikt de tag welke Measurement ID uw webcontainer meestuurt. Event name dwingt één specifieke eventnaam af, dus laat dit leeg om inkomende eventnamen onveranderd door te geven.
3. **Trigger.** Stel de triggerconditie in op `Clientnaam` is gelijk aan `GA4` zodat alle inkomende GA4-events worden doorgestuurd. Als Clientnaam niet in de vervolgkeuzelijst staat, voeg deze dan toe via Kies ingebouwde variabele.
4. **Preview-URL.** Ga naar Admin, open Containerinstellingen en voeg uw tracking-subdomein toe onder Server container-URL's. Zonder dit wordt de previewmodus aan serverzijde niet gestart.

#### **Stappen in de webcontainer van Google Tag Manager**

1. **Overschrijf het GA4-eindpunt in de Google-tag.** De Google-tag laadt de meetbibliotheek en bevat de gedeelde configuratie voor al uw GA4-hits. Eventtags bevatten alleen de eventnaam en parameters en nemen de rest over van de Google-tag met dezelfde Measurement ID. Als u het eindpunt hier eenmaal instelt, volgen alle eventtags dat. Voeg deze drie parameters toe:
   * `server_container_url` = uw AdPage-servercontainer-URL
   * `send_page_view` = `false`
   * `first_party_collection` = `true`
2. **GA4 page\_view-eventtag.** Met `send_page_view` ingesteld op `false`, wordt de `page_view` event niet langer automatisch aangemaakt, en dat is precies wat u wilt. Een automatische `page_view` kan geen extra parameters bevatten, en `event_id` is met name nodig voor deduplicatie op de marketingplatforms. Maak een nieuwe Google Analytics: GA4 Event-tag aan, vul uw Measurement ID in en stel de eventnaam in op `page_view`. Gebruik voor de trigger het dataLayer-event dat uw Consent Management Platform op elke pagina pusht, of All Pages als die er niet is.

### **Testen vóór publicatie**

Elke bestaande GA4-eventtag met dezelfde Measurement ID loopt nu ook via uw servercontainer, inclusief aankopen, formulierinzendingen en aangepaste events. Open de previewmodus in beide containers naast elkaar, klik door uw belangrijkste interacties en controleer of elk verzoek uw trackingdomein bereikt, door de GA4 Client wordt opgepakt en met de verwachte parameters naar GA4 wordt verzonden. Publiceer pas wanneer u hebt gezien dat elk belangrijk event dat pad volledig aflegt.

***

### 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 samen met je mee.


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.adpage.io/documentation/documentation-nl/website-integraties/shopware.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
