> 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/woocommerce/generate_lead-webhooks-contactform7-and-gravityforms.md).

# generate\_lead-webhooks (Contactform7 & GravityForms)

Naast je reguliere tracking kunnen de generate\_lead-webhooks die binnenkomen in je servercontainer worden doorgestuurd naar n8n, Zapier of Make en verderop in de flow worden gebruikt.

Wanneer iemand een formulier invult op je WordPress-site, is die inzending meer waard dan alleen een naam en een e-mailadres. AdPage weet ook waar de bezoeker vandaan kwam: de campagne, de click-ID, de landingspagina, de sessie. Deze gids laat zien hoe je dit allemaal doorstuurt van je Google Tag Manager-servercontainer naar een platform naar keuze, zodat je CRM of automatiseringsflow de lead én het verhaal erachter ontvangt *en* het verhaal erachter.

{% hint style="info" %}
Dit werkt alleen met Gravity Forms of Contact Form 7 op WordPress. Andere CMS-platforms worden door deze functie niet ondersteund.
{% endhint %}

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2FJeKZbhjdzEUWSFRpLBjP%2Fimage.png?alt=media&amp;token=3531f4a7-7e92-48c4-967c-12bd06ca5c0b" alt=""><figcaption></figcaption></figure>

### Wat wordt meegestuurd in de webhook

**De lead zelf**

* Formuliervelden zoals naam, e-mailadres en telefoonnummer
* De pagina waarop de conversie plaatsvond, plus een tijdstempel
* Gedragsgegevens uit de sessie

**De marketingattributie**

* UTM-parameters: `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`
* Klik- en browser-ID's: `gclid` (Google), `fbc` / `fbp` (Meta), `ttclid` (TikTok)
* Sessiegegevens: sessie-ID, sessieaantal, user agent
* Verkeersbron: referrer-URL en landingspagina

Zodra de webhookclient zijn werk heeft gedaan, ziet de payload er ongeveer zo uit:

```json
{
  "event_name": "trytagging_generate_lead",
  "form_data": {
    "name": "John Doe",
    "email": "john-doe@example.com",
    "phone": "+31612345678"
  },
  "marketing": {
    "utm_source": "google",
    "utm_medium": "cpc",
    "utm_campaign": "summer-sale",
    "gclid": "abc123...",
    "fbp": "fb.1.1234567890",
    "user_agent": "Mozilla/5.0...",
    "ip": "192.168.1.1"
  },
  "user_data": {
    "first_name": "John",
    "last_name": "Doe",
    "email": "john-doe@example.com",
    "phone": "+31612345678"
  }
}
```

### Voordat je begint

Zorg ervoor dat u het volgende heeft:

* [ ] Een geconfigureerde server-side container van Google Tag Manager
* [ ] De AdPage-trackingimplementatie die op je WordPress-site draait
* [ ] Een webhook-endpoint van het platform waarnaar je wilt verzenden (n8n, Zapier of Make)

### Stap 1: Voeg de webhookclient toe

De client luistert naar binnenkomende leadgegevens en zet die om in de gestructureerde payload hierboven.

1. Download de [AdPage Webhook client](https://claude.ai/chat/7a409d3e-4dd5-4870-a74b-b264e50d8632#) van GitHub.
2. Ga in je GTM-servercontainer naar **Sjablonen**, maak een nieuwe **clientsjabloon**, en importeer het `.tpl` bestand dat je zojuist hebt gedownload.
3. Ga naar **Clients**, maak een nieuwe client, kies **AdPage Webhook Client** als de clientconfiguratie en sla op.

Dat is alles voor de client. Hij parseert de inkomende aanvraag automatisch, dus er is niets in te stellen.

### Stap 2: Maak de HTTP-requesttag aan

Deze tag doet het daadwerkelijke verzenden.

1. Ga naar **Sjablonen** en zoek in de galerij naar de **JSON HTTP Request** tagsjabloon. Voeg deze toe aan je werkruimte.

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2FWeFcfld7u6yhz1YLabH3%2Fimage.png?alt=media&amp;token=4cfb5125-b8b4-42d6-a849-28dd302754ac" alt=""><figcaption></figcaption></figure>

2. Maak een nieuwe tag en selecteer dat sjabloon als de tagconfiguratie.
3. Vul de velden in:

<table><thead><tr><th width="239">Veld</th><th>Waarde</th></tr></thead><tbody><tr><td>URL</td><td>Jouw webhook-endpoint (n8n, Zapier of Make)</td></tr><tr><td>Verzoekgegevens</td><td><p><code>form_data</code> → Variabele met gebeurtenisgegevens <code>{{form_data}}</code> </p><p></p><p><code>marketing</code> → Variabele met gebeurtenisgegevens <code>{{marketing}}</code></p></td></tr><tr><td>Methode (onder <em>Extra opties</em>)</td><td><code>POST</code></td></tr></tbody></table>

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2FqIQP4xW9apSL3PXPh4LV%2Fimage.png?alt=media&amp;token=132ce7d6-50f1-4ded-87d3-a57f697597f6" alt=""><figcaption></figcaption></figure>

### Stap 3: Voeg de trigger toe

De tag moet alleen afgaan wanneer leadgegevens daadwerkelijk binnenkomen.

1. Klik in de tagconfiguratie op **Activering** en vervolgens op het blauwe pluspictogram rechtsboven.
2. Kies **Aangepast** als triggertype en selecteer vervolgens **Sommige gebeurtenissen**.
3. Voeg deze twee voorwaarden toe:
   * `{{Client Name}}` **is gelijk aan** `AdPage Webhook Client`
   * `{{Event Name}}` **is gelijk aan** `trytagging_generate_lead`
4. Sla de trigger op en sla vervolgens de tag op.

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2F4I6C1MyWvK5RDB02u8Eb%2Fimage.png?alt=media&amp;token=87f6a511-eb63-4f95-abbd-776cf23e43e9" alt=""><figcaption></figcaption></figure>

### Test het met een webhook-replay

Je hoeft niet te wachten op een echte formulierinzending. Elke webhook die al is binnengekomen, kan direct opnieuw worden afgespeeld in de previewmodus.

1. Open je servercontainer in het AdPage-platform en ga naar **Webhooklogs**.
2. Zoek een `generate_lead` webhook en klik op het ronde dubbelpijl-pictogram om deze opnieuw af te spelen. Er verschijnt een pop-up die om een preview-header vraagt.
3. Om die header te krijgen: open dezelfde servercontainer in GTM, schakel over naar **Preview** modus, klik op de drie puntjes rechtsboven en kies **Verzoeken handmatig versturen**.
4. Kopieer de `x-gtm-server-preview` header, plak deze in de replay-pop-up en klik op **Opnieuw afspelen**

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2Fs4EmltpKJOVQYiXUm3SC%2Fimage.png?alt=media&amp;token=03b44252-7302-4a45-a48d-cebef116ffb1" alt=""><figcaption></figcaption></figure>

Een `trytagging_generate_lead` het verzoek verschijnt nu in je previewvenster en de JSON HTTP Request-tag zou als geactiveerd moeten worden weergegeven. Open de tag en controleer of `form_data` en `marketing` beide zijn ingevuld. Als dat zo is, ben je klaar.

### Wanneer iets niet werkt

**De tag wordt niet geactiveerd**

Controleer eerst de triggervoorwaarden, vooral of de gebeurtenisnaam exact overeenkomt. Bevestig daarna dat de client is opgeslagen en actief is in de container.

**De tag wordt geactiveerd, maar gegevens ontbreken**

Bekijk je variabeleconfiguratie en je data layer-implementatie. Als `marketing` leeg binnenkomt, worden de attributiegegevens waarschijnlijk niet vastgelegd aan de websitekant.

**Het ontvangende platform wijst de aanvraag af**

Controleer het formaat van de webhook-URL, eventuele authenticatieheaders die het platform vereist, en of het een specifieke payloadstructuur verwacht.

**Tips voor foutopsporing**

* Stel het logtype in op *Altijd naar console loggen* tijdens het testen.
* Voeg een trace-ID-header toe zodat je één aanvraag van begin tot eind kunt volgen.
* Begin met de basis en voeg velden toe zodra die correct binnenkomen.
* Let op een `200 OK` reactie; alles anders is de moeite van het onderzoeken waard.

### Het veilig houden

Stuur alleen de velden die je echt nodig hebt en gebruik een HTTPS-endpoint. Als je platform het ondersteunt, schakel webhook-handtekeningverificatie in en stel de juiste authenticatieheaders in. Als de payload gevoelige persoonsgegevens bevat, overweeg dan deze te versleutelen en beperk wie het endpoint kan bereiken.

### Een paar goede gewoonten

Configureer timeout- en retrylogica zodat een tijdelijke storing je geen leads kost, valideer gegevens voordat je ze verstuurt en stel een melding in voor mislukte webhooks. Documenteer je veldmappings ergens waar je toekomstige zelf ze kan terugvinden, en test opnieuw na elke wijziging aan het formulier of de container.


---

# 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/woocommerce/generate_lead-webhooks-contactform7-and-gravityforms.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.
