I don't understand why it's changing the nats code.
It should just pass it verbatim; at least one part of the rebuild is removing the commas which will fuck up the code - and the & vs & looks like someone tried to outsmart a whole single line of PHP.
This does not equal
this, but since the campaign:program:site are not screwed up, I'm pretty sure NATS3 just does a simple each(blah blah blah = explode(":", ...), so it should still work fine - although extended tracking will be broke.