[Magento] Setting Up Purchase Webhooks
Follow the steps below to adjust the Google Tag in the web container:
- Add DataLayer variables from the “trytagging_user_data” event.
marketing.user_id
marketing.session_count
marketing.session_id
- Ensure that the Google Tag is fired via the “trytagging_user_data” event; otherwise, it won’t be possible to retrieve the user data.
- The Google Tag should always be fired for all standard eCommerce events. If that doesn’t work, choose to create a Trigger Group.
- Add the 3 parameters we created in step 1.
ClientId = {{marketing.user_id}}
sessionid = {{marketing.session_id}}
sessioncount = {{marketing.session_count}}
Follow the steps below to adjust the server container:
- Add 3 event data variables.
sessioncount
sessionid
ClientId
- Create a Transformation with the type “Augment event.”
client_id = {{ClientId}}
ga_session_id = {{sessionid}}
ga_session_number = {{sessioncount}}
Make sure these Transformations are added to the GA4 Tag of the Server container.
- Ensure that the “purchase” event is excluded from the GA4 trigger. We do this because the Purchase events will be sent via the Webhooks from now on; otherwise, you will get duplicate data.
- To create the Data client, we use the Stape Data client. You can download it here: https://github.com/stape-io/data-client
- Go to templates in sGTM -> Click on new -> Import Data Client -> and click on “Save.”
- Create the Data client by going to Tags -> Click on new -> Select type Data Client Accepted Path Settings -> Add Path -> Add the endpoint like “order_created.”
- Add the following Event Data variables for the 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)
- Then add these variables as parameters in the Purchase Tag.
- Create the Purchase Tag and make sure to add the following parameters to it as a 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
- Create a Trigger that fires based on:
Client Name equals Data Client
Event Name equals trytagging_purchase
- Proceed with testing by running live orders or placing an order yourself. You can see how to do this test via the following article: Testing Webhooks via sGTM
Updated on: 16/08/2024
Thank you!