I also recommend looking at stats, as in Stephen's first example.
<your search> gclid=* | stats list(uri_location) as multi_uri by clientip | search multi_uri="success"
And the other way I recommend looking at uses the transaction command, which can take little search expressions in the startswith and endswith arguments.
<your search> gclid=* | transaction clientip endswith="uri=success" | search uri=success
and the search on the end is to filter out some unwanted fragment transactions that dont end in success. This may be unnecessary but i think if transaction A ends with success, the transaction command will open another transaction B for that clientip, even though that transaction may never end in success...
At any rate there are some advantages to using transaction over stats, one being that you can do maxspan to appropriately count the same clientip more than once over the range.
However it's good to get really comfortable with stats because it's generally more powerful and generally has better performance than the alternatives.
... View more