I'm building an open source affiliate tracking system to release as a Codeigniter Spark and to incorporate into a few of my own projects. Anyway, at a basic level this is very simple stuff. This is how I'm tracking referrals:
User is referred to a specific endpoint (e.g. /ref/293203
with 293203 being the affiliate id) that sets a cookie, sets a session, and stores information about the user (their ip address and user agent). In this case, even if cookies are disabled, I can still match them either by sessions (which don't have to be cookie based) or by useragent + ip match. There are some other edge cases which this wouldn't cover, and I was hoping some of you might be able to provide some insight:
User deletes cookies and revisits later from a different browser & ip address (ie, they check out something for the first time on their iPhone, but end up purchasing it from home on their computer)
IP address and user agents match, but this user isn't actually unique (for example, I've worked from an incubator where all 40 people in the building are using the same static IP and many are using the same browser)
Any ideas on how to address those edge cases? Any others which I have not considered?