HomeGuidesRecipesAPI
HomeGuidesAPILog In

Analytics Module

❗️

Contact your sales representative if you are interested in obtaining a license for the Analytics Module for your SmartIQ environment

The Analytics module is responsible for the collection and presentation of both the raw question response data (captured at submission time) and user interaction with a form, their location, and device information. This raw produce usage data is maintained in the SmartIQ database, and accessed as Data Objects through the SmartIQ Data Source, for consumption in other projects like a reporting dashboard.

📘

Analytics is not access to System Data

The API is the only integration point to retrieve the system data pertaining to Transaction Data, Projects, Published Projects, Project Results, Workflow, SmartIQ Users, and User Groups.

📘

Interface Feature Availability

Data being captured is of the Produce web interface only.

Analytics Data Objects

These data objects are accessible through the SmartIQ Data Source

Analytics Project Results

Project Results refers to the actual data captured by form submissions. This data can be consumed by multiple methods;

Method
SmartIQ Data SourceAn SmartIQ data source allows Designers to retrieve and output responses to screen and output documents.
Project Results APIPart of the REST API endpoint where client application can request the responses as JSON data as needed
Project Results DocumentAt generation SmartIQ builds a JSON representation of the responses document that can be passed to third-party systems for consumption.
Project Results to SQLAn Action that creates and populates a relational database structure that is available for easy consumption by external reporting resources.

This can be used to create projects based on the results of submissions of other projects.

The "Data Object Name/Definition" field can be used to define a Project Name in the SmartIQ instance. Projects whose titles start with the same sequence will be displayed in the drop-down menu for selection. The Available Filter Fields for the Data Source are the Answers in that particular Project. If the project has Repeaters, the repeated data elements will appear in the pages panel.

Other Filter FieldsDescription
CompletedCompleted = 1 if the form was completed, otherwise 0 Note: A response report will return Completed forms when "Completed = 1" Completed forms are forms that have been completed.
CompletionTimeUTCThe UTC time when the form was completed
CurrentStateThe current state of the form
UsernameUser Name who Completed the project
WorkflowInProgressWorkflowInProgress = 1 if the form was completed, otherwise 0 Note: A response report will return WorkflowInProgress forms when "WorkflowInProgress = 1" WorkflowInProgress forms are forms that have been submitted atleast once throughout the workflow.

📘

Default Filter Field values are, Completed = 1 and WorkflowInProgress = 0

Analytics Device Log

🚧

Web Only

Device and Location Log data is captured via the Produce App only

The device (location) log captures information about the user interacting with the system, such as GPS location data and more general region data from IP such as country, city and time zone. Device data includes information such as devices, operating systems, browsers, versions, and language.

Location data is categorized into high and low accuracy readings. SmartIQ always adds a low accuracy record by default and then attempts a second high accuracy reading where the SmartIQ application is hosted on a secure server and the user has agreed to do so, usually by answering yes to a browser pop-up.

Regardless of the low or high accuracy reading SmartIQ can attempt to convert the IP address into a more reportable regional field such as Country, City, Region, etc. SmartIQ must request regional information from an external service. By default, SmartIQ makes requests to https://ipapi.co over a secure SSL connection.

Free services generally have a small daily limit (eg: 1000 requests) if you wish to use the location log for a large number of calls you will need to sign up to one the paid services.

🚧

Where it is not appropriate to make a call to a location service, the feature can be disabled from Retention Settings, deselecting the Store Location Data option.

FieldNotes
BrowserUser's Browser e.g.: Chrome, Edge, Android, Chrome Mobile, IE, Firefox etc
BrowserVersionMajor and BrowserVersionMinorBrowser Version eg: for Edge 15.15063 the major version is 15 and 15063 is the minor.
Country and Country CodeRetrieved Country Full name and two digit code
DeviceUsers Device eg: Apple, Samsung etc.
IPAddressThe external facing IP address of the client device that the user is logged in at.
LanguagesList of languages available in the user's current browser
Longitude and LatitudeUser's Longitude and Latitude
LocationAccuracyLow accuracy reflects a location sourced only from an IP address. High accuracy uses device GPS if available or other network location information. A user must agree on their device for high accuracy information to be recorded.
LoginTimeUtcThe time the current login session was created in Coordinated Universal Time (UTC).
MetroCodeThe code for the local metro area the user is located in, if available (usually only for USA)
ModelThe model of the device the user is logged in at e.g: iPad
OSOS The operating system for the device
OSVersionMajor and OSVersionMinorThe version of the OS of the user's device e.g. for Android 7.1 major is 7 and minor is 1.
PlatformThe platform of the device the user is logged in to e.g. WinNT
PostalCodePostal/zip code of the location of the user
Region and RegionCodeThe region, state, county or province the user is located.
TimeZoneThe timezone the user is located in if available
UserGuidUser identifier
UsernameUsers login username

📘

Raw Device Log Data

To access the raw device log data the following query can be run against the SmartIQ Database.

SELECT TOP (1000) [IPAddress],[OS],[OSVersionMajor],[OSVersionMinor],[City],[Country],[CountryCode],[Region],[RegionCode],[PostalCode],[TimeZone],[Browser],[BrowserVersionMajor],[BrowserVersionMinor],[Device],[Model],[Platform],[Latitude],[Longitude],[Languages],[UserGuid],[LoginTimeUtc],[LocationAccuracy]
FROM [Analytics_DeviceLog]

Analytics Interaction Log

The interaction log captures every user interaction within a form allowing detailed analysis of a users journey through the form, including the navigation path, time spent on each question, or page, drop-offs, save points, every key stroke and click made by the user during a form, etc

🚧

The interaction log is stored as unencrypted raw text

Any personally identifiable information (PII) that makes its way into the interaction log will not be encrypted.

The interaction log can contain Layout Block names which can contain question references. If these question references contain PII it will be as unencrypted raw text.

To enable this data gathering the 'Form Interaction Log' Publish Option must be enabled.

Due to the large volumes of data captured by the interaction log configuration to record data for only particular forms is possible.

Records are added to the interaction log in batch asynchronously as the user makes their way through the form.

FieldDescriptionExamples
Log_GuidAn identifier that groups interactions from the moment a user open's a form.
A new log_guid is generated each time a user opens a form including when they return to an in progress save and between workflow steps.
CF27B290-49ED-4A42-BF34-08109D6A1A8A
ControlIDAn identifier for the control that is being selected or manipulated.btnNextTop, fName_q2.2, btnSubmit, goToHome
FocusTimeUTCThe moment the user started the interaction.2020-01-01 02:05:25.000
BlurTimeUTCThe moment the user finished the interaction. For controls such as buttons this will be the same as the focus time, whereas controls like text boxes this will be the moment the user left the control2020-01-01 02:05:25.000
EventTypeThe type of event that occurred using the specified control.pageOpen, dataGridSort LastUpdatedUtc, next
Page TitleThe Page the control resides on.

As the interaction log is a capture of everything, records from are usually filtered to answer a specific question or populate a graph. Some inbuilt queries are provided to answer generic questions like drop-offs or average time spent on each page.

All possible events are listed in the table below, where a control can do multiple things an event type is used to describe the specific event.

EventTypeDescriptionControl/Occurs When
createNewOpen a new formForm Open
openAssignedOpen an assigned task for the first timeForm Open
resumeSavedresume an in progress itemForm Open
questionHelpClicked question help iconAll Question Types
tabSelectAccordionAn accordion was selectedAll Question Types
buttonToggleChanged a toggle buttons position to on/offMultiple Choice Question
questionOpenCommentClicked open comments iconAll Question Types
contentTxtSearchClicked into the search box of a content library text boxContent Libray/File Upload
contentBtnSearchClicked the content library search buttonContent Libray/File Upload
contentOpenOpened a content library itemContent Libray/File Upload
tabSelectSelect a tabProduce
contentOpenDoucmentOpened a content library documentContent Libray/File Upload
contentPreviewPreviewed a content library itemContent Libray/File Upload
contentOpenDocumentOpened a content library docuemntContent Libray/File Upload
contentImagePreviewHoverHover the preivew of an imageContent Libray/File Upload
contentClearClear uploade filesContent Libray/File Upload
fetchDataClicked the data search text box (usually after entering a filter)Data Source
dataGridSortSorted a data grid column, includes the column name that was sortedData Source
dataGridSearchentered the data grid search text boxData Source
popupOpenOpened a data Source pop up. Usually containing a table of data that required the whole screen.Data Source
inkUploadUpload an image to an Ink question.Ink
inkClearClear the drawn content entirely within an ink questionInk
inkEraserUse the eraser within an ink questionInk
inkZoomIn, inkZoomOutZoom the ink question in or out so it fills the entire screen, for easier editing.Ink
saveClick save buttonProduce
next, backWent back or forwards within a formProduce
submitSubmitted/Approved a form buttonProduce
rejectRejected a form buttonProduce
pageAddUser added a repeating pageProduce
pageDeleteDeleted a repeating pageProduce
pageDuplicateDuplciated a repeating pageProduce
sectionChkRowSelected a repeating section rowProduce
sectionAddAdded a repeating SectionProduce
sectionDeleteDeleted a repeating SectionProduce
sectionDuplicateDuplicated a repeating SectionProduce
sectionMoveRowMove a section rowProduce
sectionModalCloseCloses a section presented in a modalProduce
sectionExport, sectionIMportImport or export a section into or from a CSV file.Produce
displayModalOpens a modalProduce
buttonGoToUrlClick of a go to url buttonProduce
buttonGoToPageClick of a go to page buttonProduce
buttonGoToProjectclick of a go to project buttonProduce
buttonRefreshClick of a refresh buttonProduce
resumeClick the resume buttonProduce
temporaryUserReassignClick the temporary user reassign buttonProduce
saveAnswerFileYes, saveAnswerFileNoUser makes a selection indicated whether to save an answer FileProduce Finish Page
answerFileDescriptionUser typing an answer file destiptionProduce Finish Page
dataClearClearing raw dataAll data questions
dataUploadUploading a raw dataAll data questions
geolocationManually detect your locationGeoloaction
runActionButtonRun Action button clickedRun Action Button

Analytics Interaction Time Log

Returns the time of each interaction together with a calculated 'Interaction Time' column. The interaction time column is the time span between the interaction with the current interaction and the next interaction.

NameDescription
(See interaction Log for generic Columns)
InteractionSecondsTime in seconds between the current interaction and the next interaction.

Analytics Drop-off Log

Returns forms that were forcibly exited. It includes the last page the user was on together with the last question the user interacted with. If no questions were interacted with on the page question columns will resolve to null.

A drop-off is defined as a form that is exited in a manner that is NOT: Submitted, Reassigned, Go to Project (Tile Question), or Saved (A saved form can be exited without counting as a drop off).

NameDescription
FormName of the Fortm
Log_GuidID for the session
PageDrop of Page
PageFocusTimeUTCWhen the user navigated to the drop off page (UTC)
QuestionLast question the user interacted with before drop off
QuestionFocusTimeUTCWhen the user interacted with the above question

Analytics Save Log

When projects was last saved together with the total amount of saves.

Returns when projects were last saved together with the total amount of saves.

NameDescription
FormThe form the user saved
LastSavePageThe page the user did the most recent save on
LastSaveTimeUTCThe time the user did the most recent save
Log_GuidThe log_guid of the form session
SaveCountHow many times the user saved in total

Analytics Page Log

Which pages were visited during a form and how much time was spent on each page. Note the endpoint of being 'on' a page is either going to another page or as per the list above.

Returns which pages were visited during a form and how much time was spent on each page. Note the endpoint of being 'on' a page is either going to another page or: Submitted, Reassigned, Go to Project (Tile Question), or Saved (A saved form can be exited without counting as a drop off).

NameDescription
FormName of the form
PageName of the Page
FocusTimeUTCWhen the user opened the page
SecondsOnPageHow long the user spent on the page