Replicating a grocery checkout experience via Typeform


Further Details: I am basically replicating a grocery check out experience via Type form but can’t work out how to set up the conditional logics that need to be programmed. Basically, I want to create a typeform for my grocery store.

Initially the typeform will sell Eggs, Milk, Vegetables, Fruit, Bread and Special Requests.
The user can make multiple selections on the above products ie they can order any combination of the: Eggs, Milk, Vegetables, Fruit, Bread and Special Requests.
Once they have selected a combination of the above products, we need allow them to make selections WITHIN each product.

  1. Eggs: Within eggs somebody has to choose how many eggs they want.
  2. Milk: Within milk, somebody first needs to choose what milk they want (almond or cow or soya for example) and then they must enter the amount of milk bottles
  3. Fruit: Somebody first needs to select what fruits they want (banana or grape or apple etc). And then second, for each fruit they must next select what quantity of fruit they want.
  4. Vegetables: Same as fruit
  5. Bread: The user will need to choose if they want brown bread , or white bread or seeded
  6. Special Requests: The user can then also place a special request with us, for something else apart from the above products, and then enter an amount to add to their bill.

At the end they check out using the integration with stripe.

As such the entire form has many questions and will require a lot of conditional logic to be set. What is the best way to set this up?


Answer: It looks like you’re setting up quite a simple, scaled-down shopping cart via an online form (Typeform), so the main thing you need to take into account is the conditional logic and question branching within Typeform.

The format for your simple shopping cart form should be:

  • Introduction to form and outline of process
  • Contact details (name, email, phone, address)
  • Main page – asking what item categories your customer wants to buy. This will be the main question upon which your logic will hinge.
  • Eggs – set as question group to keep the branching simple. Set logic to only show this option if this option was selected on Main Page.
  • Customer chooses how many eggs they want
  • Customer will see the next question group (Milk) only if they selected this option on the Main page. This is set via conditional logic saying show this question if chosen on Main Page, otherwise skip to next question group (Fruit)
  • The customer will keep being shown only the options they selected from the Main Page until they reach the checkout page
  • For special requests, this can be set up with the customer’s set number being added to the “Total” or you could add this as a note to be paid for later
  • For the product options above, you will need to set a “Score” for each item that is added to the “Total”
  • Upon checkout, the total is shown and the client is asked to pay via credit card on the SSL secure form
  • After checkout, the customer should be told what the next steps are i.e. delivery, times for responses etc
  • Using the in-built integration with email marketing, you can add your customer to your email marketing list upon completion
  • I’d recommend that you use photos of the items using the picture, multiple choice item within Typeform
  • I’d also recommend that you utilise a simple order fulfillment process using software like Asana or Trello with order fulfillment being defined through categories/stages.

I hope this helps.


About the author

Rich Peterson

I've spent the last 10 years planning, mapping & reimagining the processes of hundreds of SMBs. Whether the goal is more money, more time, more clarity or more customer smiles, my insightful process is worth every minute for my successful clients.
Disclaimer: I use affiliate links on my website and only recommend what I use, have used or have vetted in the best interest of my readers. I may earn a commission if you click on an affiliate link, but it won’t cost you extra.