My day job company uses a customer relationship management (CRM) software system that would make your job a lot easier, I think. Unfortunately, it's very high end (over $100K just for the software, nevermind the beaucoup bucks we had to pay to the consultants to help us get it all set up), so I wouldn't dream of recommending this specific piece of software to a small business.
However, something using the same general concept might be useful. See, whenever a customer contacts us or we contact a customer — e-mail, phone, direct mail, whatever — that contact gets recorded in that customer's account in our CRM system database.
Any time we get a contact from a customer, we use search functionality built in to this software to see if that customer has contacted us before, so we can add the new contact to the correct existing customer record (or set up a new record, whichever is appropriate). I think generally we try to key on the customer's main phone number, but we can do partial-text searches on the company name or most any other field, so we can still do our best to match in the event we don't have a phone number associated with a given contact.
Sometimes (say, when we send out a direct mail piece), the information is automatically recorded — that is, we use the CRM system itself to select the customers to whom the mail piece will go, and the CRM system automatically records they've been selected and the piece has been mailed. Sometimes the information is "semi-automated" — when customers register their product warranty over the web, that goes into a database, which is once a week uploaded, matched and merged with the CRM system database. And sometimes it's manual — when the customer calls to talk with our direct sales staff, the person they spoke with will record the call details "by hand" in the system.
Over time, we've built up quite a lot of contact info on some of our customers. We record if we send them a direct mail piece, if they call or e-mail a sales inquiry, if they register a product warranty, if they request technical support, if we call them with post-sales follow up, when they buy replacement supplies or accessories for their product, if they upgrade to a new product, if they just call to chat. You name it, whether it was initiated by us or them, no matter what form it takes, if it's an interaction between us and a customer, it gets recorded in our CRM system.
We can specify what kind of contact it was, how it came in to us (or how we sent it out) and what the results were. And we can define various filters and run canned or custom reports so we can see (for instance) how many people who returned a direct mail response card eventually bought a product (and which product they bought). It's not foolproof by any means, but we're getting a lot better feel for what's going on out there than we used to before we installed this system.
If you can find or develop a CRM system into which you can feed your customer contacts (landing page forms filled in, phone calls received, etc.), integrate with existing automated systems and motivate/train your customer-facing employees to use this system to record all their human-generated customer contacts, you could then have a pretty good idea of which initial contact sources are bringing you the sales, how many contacts on average you need per customer to close the sale and how long your sales cycle is (and if there are differences among the different lead-gen channels).
Whether this is practical, and how sophisticated and automated such a system would need to be would depend on the volume of leads and sales you're talking about. If you're generating 20 leads a month, that's one thing. Twenty a day might be something else, and 200 a day would be another beast entirely.
Unfortunately, I don't know if there are any
affordable, user-friendly off-the-shelf solutions that will do this sort of thing. If you've got six figures to drop there are any number of "enterprise-class" CRM systems that would probably do the trick (and if that's in your budget, PM me and I'll tell you which ones we looked at). However, not too many "regular" businesses have that kind of cash to toss around. Perhaps there are others here who have some ideas?

But FWIW it seems to me that if such an animal exists and can be found (or if it doesn't exist but can be developed without costing an arm and a leg), it would get you most of the way to where you want to be.
--Torka