Answered

Storing arbitrary meta-form information

  • 30 November 2021
  • 5 replies
  • 51 views

Hi, I want to store information about the form inside the form.  Specifically, I have a set of choice references, a subset of the form’s choice references, that I want to save with the TypeForm.  The choice references are strings of about 30-40 characters.

The forms I’m working with have about 50-100 multiple choice questions.  On form submission, I want to test for the presence in the response of the members of an arbitrary set/list of answer choices.  So, say 80 MC questions, and 20 answers on my list that, if selected, require some special processing of the response.  The actual processing I can do elsewhere, but I want to store the arbitrary list with the form.

What are my options for storing the set of references? I could use hidden variables, either one variable per reference string or somehow concatenate the strings, but then I get a long URL that is susceptible to user error. Twenty references, at 40 characters each, is 800 characters, and is long for a URL.

Can I just put the reference strings into the form’s JSON dictionary as the value to some custom field? Is there a preferred key for form-creator-defined values when creating forms with the form creator API?  Are there any I should avoid, even if they are permitted by the form creation API?

Is this something that I’ll have to store externally and then tie to the form’s ID?

Thanks,

Richard

 

icon

Best answer by mathio 30 November 2021, 18:04

View original

5 replies

Userlevel 7
Badge +5

Hi @Richard Clay Happy Tuesday! Thanks for stopping by the community. While you could store data within a variable in Typeform, I’m not quite sure this would be similar to what you’re looking for. Since we only collect information that is asked on the form, it isn’t possible to store other data within the form. 

@mathio may have a workaround that I’m not aware of, but hopefully this gives some clarity on what can be done within the form itself. 

Userlevel 7
Badge +5

Hello @Richard Clay and @Liz I think storing any additional data with your typeform is not possible. There might be a different approach to this issue, however I am afraid I dont understand what are the requirements here 😃 

Userlevel 7
Badge +6

@Richard Clay @Liz @mathio 

if you wanted to push the answers into a Google sheet, you would have all the details i think you are seeking to post-process. Here’s what the voices in my head are telling me: 

  • Say Liz responds to the survey and the data is pushed into the Sheet
  • Add a second tab to the sheet for ‘reporting’ and pull all the data across from the main tab where Typeform enters the data 
    • use the arrayformula() function
    • change the field header names from the ‘question text’ to something more useful to you
    • create some additional columns for data where you do some IF() logic against the 20 (sic) responses that you are looking at for post processing - one simple example: in col x -> IF(col_b=yes AND col_d=yes AND col_f gte 20) then write followup-A
      • repeat the other possible logic evals here and insert the appropriate followup-X trigger word
      • you can then look up in other sheets/tabs for additional data elements to bring into this reporting tab if you require (i do this for images related to where someone is on a maturity scale) 
    • use an add-on like Document Studio to merge the data with a report template (Docs, Slides), convert to pdf and send to recipient or internal resource for appropriate follow up
      • you can create just an email to send to someone without the report as well - so if you wanted to route the follow up to product sales rep based on which followup-X trigger was set you can do that.. 

just some thoughts on how to use the data in a Google sheet to trigger certain things. 

 

if you want to use variables inside of typeform to represent the state, based on responses, variables are also submitted as part of the response packet:

  • using typeform branching and calculation: 
    • if q1=A and q2=b and q7=e then replace v_state1 with ‘beginner’
    • if q1=C and q2=a and q7=C then replace v_state1 with ‘advanced’

that might work as well.. 

there are some ways to work around what you are thinking.. at least the way that the 7 other voices in my head are reading this. 

 

cheers

 

des

 

Thanks everyone.  I think it sounds like I need to store this information external to the form itself.

 

For future readers, I’m describing my problem more explicitly.

I’ve got x forms, where 100 < x < 1000.  Each form has q_x multiple choice questions, where 50 < q_x < 100.  Each question has 1 2 or 3 answer choices.  Each answer choice, c, has a reference ID that is unique to the choices in that form, but very likely overlaps with answer choice reference IDs in other forms.  Each response submitted by a user has a listing of all responses selected. So far this is all contained in the forms, nothing new.  

 

In my situation specifically,  I’ve got a list of choices for each form that are not right or wrong score-wise, but can be thought of as “troublesome”.  If someone gives a “troublesome” answer, I need to run a separate process on each “troublesome” answer.  The membership of the “troublesome” list depends on the form, but is not dependent on the input from the user.  So it doesn’t make sense to store the troublesome list per response, because it is not dependent on the response.  I know the “troublesome” list before the user submits her response, and I just need to test the response’s answers against that list.

Because it sounds like there is no easy/recommended way to store arbitrary information in the form, I’ll store it externally.  Thanks!

Userlevel 7
Badge +5

Thanks for adding the explanation, @Richard Clay . Very helpful! Let us know if you think of any other questions. :grinning:

Reply