The last bullet is the most important, as a valid e-mail address is the only simple path to resolving the multiple avatar problem. People won't give you their e-mail address unless there's a good reason to do so. It's best not to ask for it until they have identified something of value that you offer them in exchange: a trial version of your product, a free book excerpt, a newsletter or podcast subscription, etc. But when you do ask them for the e-mail address, don't give them access to the offered item until they have replied to the confirmation e-mail you've sent them. Essentially, create a user account on your site so that they can get more of your offers without the bother of re-registering...and so that you know who they are even if they're just browsing without downloading.
If your web tracking software has been properly implemented, as soon as they click on the link in your confirmation e-mail, that person will be connected with the cookies or "web fingerprints" you've been collecting over time.
Every time this person contacts your company in the future, your web forms and telephone reps should be collecting just one or two more pieces of additional information (such as location or Twitter name) about them. This progressive registration approach allows you to painlessly collect data that will help build out the prospect profile in your CRM system. And the process should be endless: every conversation or e-mail exchange or download — even from an existing customer — is an occasion to enrich your understanding of the customer. No more multiple avatars: just a clearer picture with every contact.
This rosy scenario ignores an ugly reality: many companies do not have a way of unifying all the information that's coming in. Multiple registration pages, multiple call centers, sometimes even multiple CRM systems. This is the second layer of the multiple avatar problem. After having looked at several companies with millions of lead records, it's pretty clear that the most reliable unique identifier is e-mail address. Even if someone has three or more addresses, e-mail becomes the external key.
What do you do with people who use disposable e-mail addresses across your systems? Create a composite of several other CRM fields (e.g., name, phone, company name), normalize the data (removing punctuation, "inc.," and other noise characters), and use fuzzy algorithms to find the likely matches across systems. Keep the threshold for the fuzzy match fairly high, though, as false positives cause just as much of an identity crisis in your CRM system as no matches at all.