If the third party will be manually entering the info, then your method is probably the best. If your campaigns aren't running concurrently, you could just update the hidden field when one ends and another begins, that way you don't have to clone a bunch of times. Alternatively, if the third party knows what campaign they're coming from, you could create a drop down field with different options that they select.