When I have done these type of surveys in the past, I have a parent child relationship. One Campaign has many Campaign Questionnaires, and one Campaign Questionnaire has many Questionnaire Questions. When the Campaign is set up, presumably you know the type of Questions which need to be asked. So that selection would flow down to the Campaign Questionnaire.
Then there will be a table of Standard Questions.
Then when the Campaign Questionnaire is created a Pipeline would fire to search for Standard Questions which are tagged in say a multi select field that include the type needed by the Campaign. The the result of that search would either be created in a for each loop, or more effiently with a bulk upsert (if there are going to be a lot of questions, say like more than 20 ish) or else try out the new Import to Quickbase step which should be perfect for this situation.
Now this presumes that the format of the questions is always the same, for example, a question and then a free form text box. If you have other question types, which have a yes/no answer or some kind of rating answer then what I have done in the past is to have say three question types and then that would be selected on the standard question as to what question type it is and then when they're imported across as questionnaire questions, form rules will show and hide the appropriate fields.
Feel free to post back if you have any questions.