Consider the situation in which you give a link to someone (over, let's say, a privately encrypted chat room).
Problems like link sharing aside, how can you track exactly what he is viewing (the whole navigation path, along with timings & co) if he starts navigating with the link you gave him?
You have full control over how the link looks like, and the website might be a SPA and most of the pages don't require user authentication.
I would guess one has to start with a query parameter in the URL, and invalidate it for future use, but how to make the fact that the user first found out about your site from the link you gave him stick with that particular user? And that even after he closes the browser (and the query parameter from the URL gets lost).
We're not talking "adwords campaign" here, as that means sharing the link with a group of people.
I'm not targetting tech savvy computer users with this, just regular users for which it works reliably most of the time.