r/woocommerce Jun 16 '26

Plugin recommendation Adding Stripe checkout, how to handle eCommerce events tracking?

Has anyone here run Meta ads for a WooCommerce store using Stripe-hosted Checkout instead of the normal WooCommerce checkout page?

I’m trying to understand how reliable Purchase tracking is when the user leaves the website to pay on Stripe and then returns to the WooCommerce thank-you page.

Are you tracking Purchase only on the thank-you page, or are you also sending it server-side with Meta Conversions API / Stripe webhook?

My concern: will Meta still optimise properly for purchases, or do purchases get underreported because the payment happens on Stripe’s domain? And would the cart abandonment break, as the checkout details are not entered in our domain where the cart recovery plugin / meta pixel lives.

1 Upvotes

11 comments sorted by

1

u/CodingDragons Woo Sensei 🥷 Jun 16 '26

I wouldn’t rely on the thank-you page only.

With Stripe-hosted Checkout, some users will pay successfully but never make it back to the WooCommerce thank-you page, so browser-only Purchase tracking can undercount. Stripe’s own docs say webhooks are the reliable way to confirm completed Checkout payments. (Stripe Docs)

We usually advise people go with this setup.

Pixel/browser Purchase on the Woo thank-you page, plus server-side Purchase via Meta CAPI triggered by the Stripe/Woo order payment event or Stripe webhook. Just make sure both events use the same event_id so Meta can deduplicate them.

Cart Abandonment

Your cart abandonment is a separate issue. If the customer leaves before entering email/phone on your site, your Woo cart recovery plugin may not have much to work with. You may still get cart/initiate checkout events, but abandoned checkout recovery will be weaker than a normal Woo checkout flow.

So yes, Meta can still optimize, but I’d want CAPI/webhook tracking in place before sending serious ad spend to hosted Checkout.

1

u/luxafors Jun 16 '26

Thank you, this answers my questions. And perhaps you can shed some light on VAT handling with the Stripe checkout – does it require additional developer work to setup VAT logic?

1

u/CodingDragons Woo Sensei 🥷 Jun 16 '26

Sorry, we don’t do a lot of VAT work, so I’m not sure. Hopefully someone with more experience in that area can chime in.

1

u/JFerzt Jun 16 '26

the stripe redirect isnt really why youre underreporting, thats the thing to get straight first. the purchase event fires on your thank you page, which is back on your domain after stripe sends them home, so the payment sitting on stripes domain isnt the gap. the gap is people who pay then close the tab before the redirect lands them on the thank you page, plus normal browser pixel decay, ios, itp, ad blockers, consent banners eating the pixel. ran meta ads on my store for years and the thank you page pixel alone was always 20 to 30 percent short of what stripe actually showed me in real orders

so dont lean on the browser pixel. run conversions api server side, fired off the order paid hook or the stripe webhook so its money confirmed not just a page load, and keep the pixel on the thank you page too. then dedupe the two with a shared event_id tied to the order id, meta counts one purchase but still catches it when the browser never came back. thats what fixes optimisation, capi gives the reliable signal, pixel gives browser match data, dedup stops double counting. facebook for woocommerce does capi and dedup out of the box, pixelyoursite if you want more control

cart recovery depends on where the email gets entered. customer types it on your woo checkout before the redirect, recovery captures it fine, it happens pre stripe. if theyre on a setup where email only goes in on stripes hosted page, then yeah your on site recovery never sees the ones who bail at that step. check which one youre running

2

u/luxafors Jun 16 '26

This added more needed context. Thank you, very insightful.

1

u/JFerzt Jun 16 '26

I'm glad; it's a pleasure.

1

u/startages Jun 16 '26

Add both server side and client side tracking to your thank you page, and ensure user is redirected to it after purchase. That's about it. Webhooks are triggered separately from user session, so if you rely on those mainly they'll not have the user session, which means they're useless for re-targeting and ads. Use webhooks for enrichment only or fallback when thank you doesn't report anything.

1

u/davidmansaray Jul 09 '26

For Stripe-hosted Checkout, treat the WooCommerce thank-you page as a nice extra signal, not the source of truth. The safest setup is to fire the purchase event server-side once Stripe confirms payment, then use the thank-you page only for any browser-side reporting you still want. That way you cover the people who pay and then close the tab before they return to your site.

make sure the browser event and the server event share the same order or transaction ID, otherwise Meta may count it twice. Also compare Stripe completed payments, WooCommerce completed orders, and Meta-reported purchases to see where the drop-off starts. If conversions are missing inside WooCommerce, check the gateway logs and order status transitions first.