How do you want the distributed links to look, i.e. do you want a querystring, or just a path? Either is possible. Path just requires one extra step.
Do you need to track the links through to a conversion action like a button click or a form submission?
At what point are you wanting to capture the tracking a the server side, and where/how will you track that for accounting purposes?
I build solutions like this for clients if you’d like help setting up the whole thing. But the basic elements aren’t complex if you have some scripting and automation knowledge.
REFERRAL CAPTURE PIECE
Pick a page like /referral
Write a script that takes the URL querystring, e.g. ?refer=XXX and stores it is a cookie or localSession var
It then redirects to a desired page, probably, depending on your desired nav flow
INBOUND REFERRAL REDIRECT
Choose a referral-specific path structure, like /refer/referer01
Add a 301 redirect from that pattern to a querystring e.g. /referral/?refer=referer01
FORMS PAGE
Retrieve the cookie referrer if it exists, populate a form hidden field with it