Meta Ads Manager says your campaign drove 47 purchases this week. You open GA4, filter to facebook / cpc and instagram / cpc over the same range, and find 12. The other 35 sit in (direct) / (none) or under a mollie.com / referral row nobody put there on purpose.
Nothing is broken in your tags. It is a structural problem in how Meta opens links, how payment providers behave on mobile, and how GA4 reads cookies.
When someone taps a link inside Facebook or Instagram, Meta does not open Safari or Chrome. It opens its own embedded browser: a WKWebView on iOS, a Chromium-based one on Android.
That browser has its own cookie jar, fully sandboxed from the system browser. Cookies set in one cannot be read by the other. They behave as if they belong to different devices. Meta keeps users in-app because it preserves session metrics and produces first-party signal, which matters more since App Tracking Transparency gutted IDFA-based measurement.