What's the right way override the default source on a contribution page?
One of our clients has done something similar to this answer:


How can I pass in the contribution amount via URL?


but using a campaign selector or a custom field on the contribution page. Not sure from memory whether they did it with JS or Smarty, but the end result was an invisible field which tracked this.