different interviewer id; site id; referrer id, etc for the same form?

Q1 - If I embed the same form on multiple websites, is there a way to determine which site was used to fill the form?

Q2 - Or, if I want to automatically capture who referred the user to the form - the URL request can contain the referrer id, but is there a way to capture that in the form?

Q3 - Or, in the field, automatically capture interviewer id?

Note that I want this to be done automatically, without the user filling the form on the web having to type anything, or interviewer having to scan a barcode or something like that.

One thing I can think of is to create several duplicates of the form, and give each one a different value for a hidden question. The problem is, if I want to make any changes to the form, it would be a nightmare.