[WooCommerce & Wordpress] Purchase webhooks instellen
Let op: Om de webhooks goed werkend te krijgen is het belangrijk dat je de Google Tag (GA4 configuratietag) voorziet van extra parameters genaamd de marketing.user_id, marketing.session_count, en markeing.session_id
Voeg DataLayer variabelen toe van het "trytagging_user_data" event als variabelen in je Google Tag Manager web container.
marketing.user_id

marketing.session_count

marketing.session_id

Zorg ervoor dat de Google Tag wordt afgevuurd via de "trytagging_user_data" event, anders is het niet mogelijk om de user data op te halen.

De Google Tag zal ten alle tijden afgevuurd moeten worden voor alle standaard eCommerce events. Mocht dat niet lukken, kies er dan voor om een Trigger groep te maken.
Voeg de 3 parameters toe die we hebben aangemaakt in stap 1.

Voeg 3 event data variabelen toe
session_count

sessionid

ClientId

Maak een Transformation aan met het type "Augment event"

client_id = {{ ClientId }}
ga_session_id = {{ sessionid }}
ga_session_number = {{ sessioncount }}
Zorg er nu voor dat deze Transformations worden toegevoegd aan de GA4 Tag van de Servercontainer.

Zorg ervoor dat het "purchase" event wordt ge-exclude van de GA4 trigger. Dit doen we omdat de Purchase events voortaan via de Webhooks worden gestuurd, anders krijg je dubbele data.

Voor het maken van de Dataclient maken we gebruik van de Stape Dataclient. Je kunt deze hier downloaden: https://github.com/stape-io/data-client

Ga naar templates in sGTM -> Klik op new -> Import Data Client -> en klik op "Save"

Maak Dataclient aan door naar Tags te gaan -> Klik op nieuw -> Selecteer type Data Client Accepted Path Settings -> Add Path -> Voeg de endpoint toe zoals "order_created"

Voeg de volgende Event Data variabelen toe voor de Purchase webhooks data:
ecommerce.value

ecommerce.currency

ecommerce.transaction_id

ecommerce.items

ecommerce.tax

ecommerce.shipping

ecommerce.coupon

marketing_data.session_id

marketing_data.session_count

marketing_data.user_id

timestamp

page_location (depends on your CMS)

Voeg vervolgens deze variabelen toe als parameters in de Purchase Tag

Maak een de Purchase Tag aan en zorg dat je de volgende parameters toevoegt als purchase tag.
value = {{ ecommerce.value }}
currency = {{ ecommerce.currency }}
transaction_id = {{ ecommerce.transaction_id }}
items = {{ ecommerce.items }}
tax = {{ ecommerce.tax }}
shipping = {{ ecommerce.shipping }}
coupon = {{ ecommerce.coupon }}
ga_session_id = {{ marketing_data.session_id }}
ga_session_number = {{ marketing_data.session_count }}
client_id = {{ marketing_data.user_id }}
event_time = {{ timestamp }}
page_location = {{ page_location }}
Engagement_time_msec = 1564
Page_hostname = domain.com
page_title = thank you page title
Let op! Zorg ervoor dat je de variabelen checkt of deze gevuld worden in preview modus en check ook of het de juiste parameters zijn. Bijvoorbeeld: als page_location een andere URL heeft dan in werkelijkheid dan zul je deze variabelen moeten aanpassen.

Maak vervolgens een Trigger aan die wordt afgevuurd op basis van:
Client Name equals Data Client
Event Name equals trytagging_purchase

Ga vervolgens een test doen door live orders te testen of door zelf een order te plaatsen. Via het volgende artikel kun je zien hoe je deze test kan doen:
Webhooks testen via de sGTM
Volg onderstaande stappen om de Google Tag in de webcontainer aan te passen:
Voeg DataLayer variabelen toe van het "trytagging_user_data" event als variabelen in je Google Tag Manager web container.
marketing.user_id

marketing.session_count

marketing.session_id

Zorg ervoor dat de Google Tag wordt afgevuurd via de "trytagging_user_data" event, anders is het niet mogelijk om de user data op te halen.

De Google Tag zal ten alle tijden afgevuurd moeten worden voor alle standaard eCommerce events. Mocht dat niet lukken, kies er dan voor om een Trigger groep te maken.
Voeg de 3 parameters toe die we hebben aangemaakt in stap 1.

Configuratieparameter | Variable | Variabele Configuratie |
---|---|---|
x-fb-ck-fbc | x-fb-ck-fbc | 1st-Party Cookie |
x-fb-ck-fbp | x-fb-ck-fbp | 1st-Party Cookie |
first_party_collection | true | - |
send_page_view | false | - |
user_data | User-Provided Data | template |
server_container_url | @ Server URL | Constant |
clientId | marketing.user_id | Data Layer Variable |
sessionId | marketing.session_id | Data Layer Variable |
session_count | marketing.session_count | Data Layer Variable |
Volg onderstaande stappen om de servercontainer aan te passen:
Voeg 3 event data variabelen toe
session_count

sessionid

ClientId

Maak een Transformation aan met het type "Augment event"

client_id = {{ ClientId }}
ga_session_id = {{ sessionid }}
ga_session_number = {{ sessioncount }}
Zorg er nu voor dat deze Transformations worden toegevoegd aan de GA4 Tag van de Servercontainer.

Zorg ervoor dat het "purchase" event wordt ge-exclude van de GA4 trigger. Dit doen we omdat de Purchase events voortaan via de Webhooks worden gestuurd, anders krijg je dubbele data.

Voor het maken van de Dataclient maken we gebruik van de Stape Dataclient. Je kunt deze hier downloaden: https://github.com/stape-io/data-client

Ga naar templates in sGTM -> Klik op new -> Import Data Client -> en klik op "Save"

Maak Dataclient aan door naar Tags te gaan -> Klik op nieuw -> Selecteer type Data Client Accepted Path Settings -> Add Path -> Voeg de endpoint toe zoals "order_created"

Voeg de volgende Event Data variabelen toe voor de Purchase webhooks data:
ecommerce.value

ecommerce.currency

ecommerce.transaction_id

ecommerce.items

ecommerce.tax

ecommerce.shipping

ecommerce.coupon

marketing_data.session_id

marketing_data.session_count

marketing_data.user_id

timestamp

page_location (depends on your CMS)

Voeg vervolgens deze variabelen toe als parameters in de Purchase Tag

Maak een de Purchase Tag aan en zorg dat je de volgende parameters toevoegt als purchase tag.
value = {{ ecommerce.value }}
currency = {{ ecommerce.currency }}
transaction_id = {{ ecommerce.transaction_id }}
items = {{ ecommerce.items }}
tax = {{ ecommerce.tax }}
shipping = {{ ecommerce.shipping }}
coupon = {{ ecommerce.coupon }}
ga_session_id = {{ marketing_data.session_id }}
ga_session_number = {{ marketing_data.session_count }}
client_id = {{ marketing_data.user_id }}
event_time = {{ timestamp }}
page_location = {{ page_location }}
Engagement_time_msec = 1564
Page_hostname = domain.com
page_title = thank you page title
Let op! Zorg ervoor dat je de variabelen checkt of deze gevuld worden in preview modus en check ook of het de juiste parameters zijn. Bijvoorbeeld: als page_location een andere URL heeft dan in werkelijkheid dan zul je deze variabelen moeten aanpassen.

Maak vervolgens een Trigger aan die wordt afgevuurd op basis van:
Client Name equals Data Client
Event Name equals trytagging_purchase

Ga vervolgens een test doen door live orders te testen of door zelf een order te plaatsen. Via het volgende artikel kun je zien hoe je deze test kan doen:
Webhooks testen via de sGTM
Bijgewerkt op: 30/08/2024
Dankuwel!