I had an eCom client whose users were redirected to a separate thank-you page after payment.

A common story.

In GA4, the funnel looked fine: begin_checkout, add_payment_info, even some purchase events were showing up. But many purchases were missing — they just disappeared.

GA4 showed a drop-off at the final step. But the real issue wasn’t with the users — it was technical.

When purchase events fire from the browser right before a redirect, several things can break:

• GA4 may not fire before the redirect happens
• Without a delay (setTimeout), the event doesn’t get sent
• navigator.sendBeacon might not help during fast navigation
• The user pays - but GA4 logs a drop-off

It looked like funnel abandonment - but it was just event loss.

In this case users were converting — just too fast for GA4 to see

The issue wasn’t behavior. The event simply didn’t arrive.

Now, whenever I see a post-payment redirect, I:

• Send the purchase event from the backend after confirmation
• Or fire it via webhook from the payment system
• Add a 300–500ms delay before redirecting (if absolutely needed)
• Reconcile GA4 vs CRM — >5–10% gaps usually mean missing events

Redirects after payment are a risk zone.

If you’re not sending the event early — or not duplicating it server-side — GA4 will think the purchase never happened. And your team will try to fix something that isn’t broken.

Want to get all my top Linkedin content? I regularly upload it to one Notion doc.

Go here to download it for FREE.