I have spent a fair bit on google adsense, but have been getting traffic from other sources too... trouble is, I dont know which is which, and therefore what is working and where I am wasting time / money. Is there a program which will track where customer come from, and whether they actually buy from me?
You mean Adwords, not Adsense. Always, always, always track conversions--otherwise, you're running blind and throwing money away needlessly. For tracking, you could use the built-in Google "conversion tracking" code to see which keywords are profitable, although I recommend against this. You're basically giving Google access to all your sales/conversion data, and they could use this info. against you (increasing minimum bid prices arbitrarily, etc. or using the data on an aggregate basis to increase minimum bid prices for highly converting keywords). Adtrackz Gold is one of the less expensive tracking solutions. There are a number of other 3rd party solutions. Do a search for "keyword conversion tracking."
I dont see why you dont use google analytics. It is embedded in your adwords account. Cant get simpler.