There can be several reasons for missing transactions in Google Analytics. The most common reasons that I have come across are:- 

 - Disabled cookies on the browser
 - Disabled javascript on the browser
 - Customers clicking away after placing the order
 - Some payment gateways do not redirect customers to the order success page
 - Conflicting with other extensions

The best solution that I have found is to resend missing transactions to Google Analytics using the Measurement protocol API.