After a lot of research on the topic I finally came across some Microsoft API documentation that flat out said "for internal use only". I challenged that and attempted to do it anyway; I used Fiddler to break out the request and figure out what it was doing, what each piece of data meant to the request, etc, and then tried duplicating it.
I learned the following:
REQUEST BREAK DOWN
attributes:
a = false in both test queries
d = false in both test queries
g = site guid
h = 0 in both queries
m = hex string followed by a comma and a number... not sure what it is yet;
n = varying number; 99 on first, 131 on second... possibly number or results? 0 on a third test so probably not number results; later research shows this is the number of "high confidence results"
p = the site title (name of the search site)
q = the query we used
t = time of the search or click in UTC
u = the url clicked from (maybe always just use "http://[YOURSITE]/results.aspx"?)
v = currently a 0 in both test queries
x = possibly best bet? it shows 0 on the non-best-bet and 1 on the best bet query
inner xml (these are inner xml elements to the ... tag)
f = false in both queries
r = 1 in both queries
s = the scope used (All Sites, for example)
c = link actually clicked (ex., http://%5Bsomelink%5D)
y = best bet title if you clicked a best bet (ie., MyBestBet)
Long story short... since I couldn't figure out how to generate the "m" attribute and all attempts to post back to the server didn't record an actual click I determined that "m" is definitely a required field. I have no idea how that is generated but it is specific to the search instance not to each url. Since MS specifically says not to use it I guess they really meant it.