Analytics - Process Integration

Starting from version 1.11, eSign offers enhanced analytics capabilities that allow for more granular data collection and analysis. Specifically, the system now supports the inclusion of User Domains, User Channels, and Document Types in the analytics data.

This type of information is very business-specific, so it is up to you to populate the required information according to your use cases.

Benefits

The new features provide a more practical and efficient way to analyze analytics data with greater detail. Organizations can now:

  • Differentiate user interactions based on their origin, such as in-situ interactions versus web-based interactions.

  • Segment analytics data by various channels, including but not limited to sales and internal communications.

  • Quickly categorize and analyze documents based on their types, such as distinguishing between car insurance and home insurance plans.

Use Cases

To take full advantage of these new features you need to either add additional meta-information to the document sent to eSign, or make use of eSign’s addins to populate the additional information about your channel and users.

User Domains

By setting USER_DOMAIN as session variables, organizations can better understand user behavior within specific domains, such as Finance, HR, or Sales.

User Domains
Figure 1. User domain example in Analytics portal

User Channels

The CHANNEL document or session variable allows for the categorization of user interactions based on the channel through which they occur. This enables more targeted analytics and can inform channel-specific strategies.

Channel Distributions
Figure 2. Channel distribution example in Analytics portal

Document Types

The DOCUMENT_TYPE document variable provides a way to classify documents, making it easier to filter and analyze documents based on their purpose or content, such as contracts, invoices, or insurance plans.

Document Types
Figure 3. Document types filtering in Analytics portal

How to Use

On Document Creation

When you create a document in eSign you can pass special document variables to categorize it.

Channel

The CHANNEL variable is a special variable that can be included in the variables array when creating a document. This variable is automatically mapped to user analytics.

{
  "template": "celfocus",
  "variables": [
    {
      "name": "CHANNEL",
      "value": "web" (1)
    },

    ...

  ]
}
1 Associates document with channel "web"
The CHANNEL variable can also be set as a session variable. If both the session variable and document variable for CHANNEL are set, the session variable takes precedence.

Document Type

The DOCUMENT_TYPE variable is another special variable that can be included in the variables array. This variable is automatically mapped to artifact analytics.

{
  "template": "celfocus",
  "variables": [
    {
      "name": "Document_TYPE",
      "value": "Personal Loan" (1)
    },

    ...

  ]
}
1 Associates document with document type "Personal Loan" (can be used filtering analytics data)

Session Variables

Information such as User Domain and Channel is generally associated with the user session and not with the document itself.

You using the ISessionInformationAddin you can add user information when an authenticated user accesses a document.
This addin executes immediately after a successful authentication when the user attempts to open a document.

You can enhance the session with special parameters to determine the User Domain and Channel context.

Example of an Addin that sets channel and user domain
package novabase.connect.paperless.esign.extensions.addins;

import javax.servlet.ServletRequest;
import novabase.connect.paperless.esign.session.TokenRequest;

public class CustomSessionInformationAddin implements ISessionInformationAddin {

	@Override
	public void enhance(TokenRequest token, ServletRequest request) {
		// Your logic to add additional roles and user information to the token
		// You can also use the ServletRequest object for more context

		Map<String,String> parameters = token.getParameters();

		parameters.put("CHANNEL", "Branch"); (1)
		parameters.put("USER_DOMAIN", "Celfocus"); (2)

		token.setParameters(parameters);
	}
}
1 Assigns the user session to channel "Branch"
2 Assigns the user to domain "Celfocus"
Of course, in real use cases these values should be populated from dynamic information.