The client's problem
Solve Over-Attribution Issue on Meta when using 3rd Party Checkout.
We connected a third-party checkout to our store and suddenly we are getting overinflated purchases.
For example, our CPA was supposed to be around $70+ but it's showing $30+.
My analysis
1
The best solution is to configure your 3rd-party checkout to pass to Meta the same event_id as the «Facebook & Instagram» app subsequently passes for each order.
2
A faster but lower-quality solution is to disable the 3rd-party checkout's independent integration with Meta and use only the correctly configured «Facebook & Instagram» app for integration with Meta: it receives order data directly from Shopify and therefore can independently and correctly track sales even when a 3rd-party checkout is used.
2.1
This solution is of lower quality than §1 because it leads to a drop in the Meta's «event match quality», since, when using a 3rd-party checkout, the order is created on a third-party domain, and, when it is passed via API back to Shopify, the customer's browser data are lost (_fbp cookies, _fbc click parameters).
3
I see that 2 weeks ago you had a problem with the configuration of the «Facebook & Instagram» app on Shopify: the incorrect configuration of this app could also be related to the current problem.
4
Your «Seal Subscriptions» app can also distort your data on Meta in 2 ways:
4.1
This app works in the «auto-charging» mode for recurring payments only with Shopify Payments, Authorize.net, Shop Pay and PayPal Express: sealsubscriptions.com/articles/manual#auto-charging-subscription-rules
Since you are using a 3rd-party checkout, it is necessary to enable the «recurring invoices» mode in the «Seal Subscriptions» app.
In this mode, the app does not automatically charge customers for subscription renewals but instead sends them automated invoices via email with checkout links to pay for their renewal orders.
Incorrect tracking of such a payment process may cause your problem with over-attribution (actually, sale duplication) on Meta.
4.2
Even if you enable the «auto-charging» mode in the «Seal Subscriptions» app and use one of the third-party payment providers supported by this mode (Authorize.net, PayPal Express), the payment provider integration, if configured incorrectly, may well send the Purchase event to Meta upon each subsequent monthly charge, which Meta will attribute to the currently active advertising campaigns (due to the incorrect transmission of source parameters), leading to a drop in CPA.