window.__lc = window.__lc || {}; window.__lc.license = 1064643; ;(function(n,t,c){function i(n){return e._h?e._h.apply(null,n):e._q.push(n)}var e={_q:[],_h:null,_v:"2.0",on:function(){i(["on",c.call(arguments)])},once:function(){i(["once",c.call(arguments)])},off:function(){i(["off",c.call(arguments)])},get:function(){if(!e._h)throw new Error("[LiveChatWidget] You can't use getters before load.");return i(["get",c.call(arguments)])},call:function(){i(["call",c.call(arguments)])},init:function(){var n=t.createElement("script");n.async=!0,n.type="text/javascript",n.data-privacy-src="https://cdn.livechatinc.com/tracking.js",t.head.appendChild(n)}};!n.__lc.asyncInit&&e.init(),n.LiveChatWidget=n.LiveChatWidget||e}(window,document,[].slice))

Knowledge Base

Custom Questions and On-the-Fly Questions

Custom Questions

Custom Questions is a powerful feature that allows developers to code their own questions tailored to collect and validate answer data using HTML and JavaScript.

With this feature, you have the flexibility to collect as much data as you want with a workflow that best suits your needs. For example, you could specify the flow of custom questions based on context or answer trees within your script.

Context variables include:

__SCAN_VALUE__

__SCAN_RESPONSE__

__SCAN_STATUS__

__USERNAME__

You can format questions in specific ways (date, zip code, phone number, etc.). Also, you can check if an answer fits an expected profile. You can ask one question or many questions with each Custom Question. The core value is that the app user’s answer (or answers) for each Custom Question is saved as part of the official scan record.

To add custom questions, you can use the API or the web UI located on the Questions page and Questions tab when creating a Service. There are two options: URL and HTML. Clearly, the most flexible is the URL option. However, the HTML option is valuable if collecting data offline or if you don’t want to use your own servers.

Here are a few Custom Question (CQ) example scripts:

  • Auto-insert the device’s date so the app-user doesn’t have to enter a date. PDF here. Note that this will always update to the device’s timestamp, even when editing scan records in-app and also when used as a session question.
  • App-user can enter any date from a drop-down menu, thus making date entries formatted, quicker to enter, and more accurate. PDF here.
  • App-user is presented with dependent questions with multiple answers recorded with each scanned record. PDF here.
  • Multiple answers with a form field when a specific answer is selected.  The custom aspect is enabling one answer (for example, “Other – Enter Answer”) to open an associated form field just for that answer option. PDF here.
  • How to capture the Username scan property as a Question Answer. PDF here.

Please look here for basic instructions and here for code examples for the __SCAN_VALUE__ and __SCAN_RESPONSE__ variables.

Note: Photo Collect and Signature Capture are not supported within a Custom Question. Instead, you will need to use Custom On-the-Fly Questions.

Custom ‘On-the-Fly’ Questions

In addition to the standard no-coding options for conditional questions, we offer programmers the option to create ‘On-the-Fly’ questions when using our Postback URL feature. You only need to show the app-user these questions when you choose to based on the context. Whereas, with a Custom Question the app user always sees the option to answer a question after a scan.

An On-the-Fly question works like this:

  1. The scan record is posted in real-time to your server
  2. Your server will see the barcode value scanned and any answers to questions made by the app-user before submitting the scan.
  3. Your script can process that information and present the app-user with more questions to answer. Also, you can choose to not present any questions.
  4. When the app-user answers those questions, they submit it. Then, you can ask more questions. If satisfied, allow the app-user to move on to the next scan.

For instructions, please see our documentation.

Go to Top