I'd like to have users be able to run a report from a URL
but be able to pass a parameter to that report via the URL.
How?
And no, a macro won't work.
I would to suggest to test the Rest Api commands, maybe this can fit your purpose.
Check out this splunk answers->
https://answers.splunk.com/answers/438244/rest-api-to-re-trigger-report-using-saved-search-w.html
For further information on Splunk Rest Api's check this document -> https://docs.splunk.com/Documentation/Splunk/7.3.2/RESTREF/RESTprolog