The Conversion tracking code is a client-side script that runs after the page in which it is placed has finished loading. It requires about 1 to 2 seconds to complete after that page is finished loading in your customer’s web browser. Anything that may interfere with the loading of that page, or redirecting away from that page, is a likely culprit.
We often rely on third-party payment processors to complete our ECommerce transactions. Sometimes they experiment with the process and include interaction after the payment confirmation. In those cases, we always lose some conversion tracking data and you should request an opt-out if possible.
It’s more likely that your own shopping cart process is the culprit.
We need to look at your checkout process. When a person submits the final payment confirmation, which page loads? Is there a page between your thankyou page (where you placed your tracking code) and that final payment confirmation? Perhaps a “Print Your Receipt” page? Is that page served by your payment processor or your own web server? Is there a long delay in loading that page? Are there links that allow you to navigate away before the page has loaded completely?