var s_account = "Prod reportsuite";
var s_c_charSet = "UTF-8";
Whenever I setup a purchase event I also ensure I capture a transaction ID (most systems should have one). This is key as a purchase event alone in my opinion is not enough info to perform forensic reporting analysis of online sales. The beauty of transaction ID is it would allow a 1 to 1 comparison of a backend data base and give you more detail in finding the root cause here.
What I suspect you may be seeing is users whose browsers have DO NOT TRACK set to on. Also make sure your purchase success event is not firing on a page reload. The java script version as mentioned above could be crashing in some cases as well. Since browser based data collection is subject to many browser and network factors when trying to match 100% to a backend system be prepared for discrepancies.
Looks like you have all you need to see if a transaction is indeed being captured correctly between 2 data based. I recommend you pick a complete day in teh past. Pull a report by transaction ID(on both ends ) Then see what is disparate. You should pull adobe data with thinks like browser vers, Ip address, product type. These may allow you to see if there is any external factors that may lead to discrepency.
I forgot to ask what is your system platform running on? Angular, PHP, some other type?
I took a quick look at it and I do see several issues that are unrelated to purchase that I may point out later but for now, is there a way I can place test purchases without having to charge my card, can I use a test card or will you be able to cancel my purchase or is there a development environment?
I need to step through to see what's happening otherwise I'll just be throwing random maybe responses at you and I get it if it may be sensitive details so please feel free to message me directly with details.
It will be super hard to determine the cause as more details will be needed. Are you using the same version?
First and foremost the sample script you provided is sending scOpen instead of the purchase event but let's say that you just provided a random sample code - in that case to answer your question it shouldn't make any difference. Although we encourage everyone to move to DTM, we still have work with several parties that are using the hard-coded script on pages and you should be able to hit the same level of discrepancy as DTM.
If you could provide more details such as links to both sites, I'll be able to help further but you are most likely having a technical issue but it will be hard to say for example is the sample code above embedded within other code on the site that could potentially crash, etc...