PayPal express purchase event
-
hi, we’ve PayPal express on product/cart pages that redirect customers to the order page to confirm shipping and the order (order review). It appears when the order review is completed, the purchase event may not be firing.
There appears to be missing sales between woo and analytics/google ads. Is there any recommendations to ensure the purchase event triggers with express checkouts? I’m considering adding pending and awaiting payment status as purchases.
-
Hi @rainsey,
Thank you for the details. GTM4WP sends the purchase event on the WooCommerce order received page, which it recognizes from the order number and the order key in that page’s address. The PayPal Express review step happens before the payment, so nothing is sent there by design, and once the customer confirms the order the flow should end on the regular order received page, where the event fires like for any other payment method. The plugin cannot fire anything on pages that PayPal itself shows, so the first thing worth checking for one of the missing orders is where the customer ended up: whether they came back to your site at all after paying, or closed the PayPal window instead. Customers who never return are a known cause of missing purchases with PayPal, and I described it, together with the other usual causes, in this article: https://gtm4wp.com/google-tag-manager/missing-purchase-event-in-ga4.html#gateway-does-not-redirect
I would not add Pending payment to the tracked statuses. That status is what an order has while the payment is still open, so every abandoned PayPal session would be counted as a sale. The default list, Processing, On hold and Completed, already covers a successful PayPal payment. What can help is the “Reliable purchase tracking” option on the Purchase tracking tab of the WooCommerce section in the plugin settings, available in the 2.0 line: when a customer lands somewhere other than the order received page, for example on the order pay page, the purchase event is sent on the next page they view in the same session instead. It is marked experimental and it still needs the customer to load one more page on your site. Please let me know which GTM4WP version you are running and what you find for one of the missing orders, and I am happy to help further.
Hi @rainsey,
I would like to come back to your question about adding Pending payment to the tracked order statuses, since GTM4WP 2.0.3 was released today and it changes the answer. It now handles an order that is still Pending payment when the customer arrives on the order received page, which happens when the payment provider confirms the payment a moment later. With Reliable purchase tracking turned on (WooCommerce section, Purchase tracking tab), such an order is remembered and checked again on the next pages the customer views, and the purchase is reported once the order reaches one of the tracked statuses.
So if the PayPal orders that go missing on your site are the ones that are still pending when the customer comes back, this should cover them without adding Pending payment to the list, which would still count unpaid orders as sales. It needs at least one more page view from the customer after the payment is confirmed, so it cannot help when the customer never returns to your site from PayPal.
The update may take a few hours to appear in your dashboard, but you can download it from the plugin page on wordpress.org right away. If you try it, please let me know whether the numbers get closer.
Thanks @duracelltomi ,
I’ve installed the update and kept the settings as recommended. I also had the following option enabled and have disabled it.
Do not flag orders as being tracked
i was wondering about the cache option with litespeed cache, but I’ll leave it disabled for now.
thanks for the assistance
hi @duracelltomi, I’ve tested the new update in live and purchases made by PayPal payments advanced credit card are missing in our tag data. Other payment options, including PayPal, show in google analytics transactions.
ive enabled pending payment status as a workaround to improve data quality for google AI bids.
Just to provide an update, it appears our paypal webhooks are being received slower for advanced card payments. The customer lands on our thank you page and the order status is pending payment when the dom loads.
Hi @rainsey,
Thank you for testing it and for finding the webhook timing. That explains why only the card payments are missing. When the order is still Pending payment on the thank-you page, GTM4WP does not send the purchase there. With Reliable purchase tracking turned on, 2.0.3 remembers the order and sends the purchase on a later page view once the status has changed, but this needs the customer to open at least one more page on your site after the webhook has arrived. Many customers close the tab on the thank-you page after a card payment, so for these orders that page view often never happens, and the browser has no chance to send the purchase.
Adding Pending payment to the tracked statuses is a reasonable workaround in your case, but it has a cost. The purchase is then sent on the thank-you page for every order that reaches it while still pending, so a card payment that fails afterwards would still be counted as a sale. Since you turned off “Do not flag orders as being tracked”, the plugin marks the order as tracked when it sends the purchase, so the later change to Processing does not send the purchase a second time. I would compare the WooCommerce orders with Google Ads for a few days to see whether the numbers get close without extra conversions.
A proper solution for this case is to send the purchase from the server when the payment is confirmed, so that it does not depend on the customer’s browser. This is planned for a release after 2.0. Please let me know how the numbers look after a few days.
You must be logged in to reply to this topic.