Tracking User Activity Using JavaScript
To support analysis of detailed user activity within CLM content, content can be coded to capture specific user actions performed on HTML5 content using the updateRecord JavaScript function. These actions can include button selections or certain gestures (clickstream data), or generic data capture, such as updating an HCP’s email address on the account object. See the CLM JavaScript library for more information on the available functions.
Who can use this feature?
- CRM Desktop (Windows), iPad, iPhone users
- Users do not require an additional license
- Content Creator Users, End Users
Configuring User Activity Tracking

If saving tracked data into a custom object, configure the following for end users:
- Ensure Configuring CLM is complete.
- Navigate to Admin > Users & Groups > Permission Sets.
- Select the appropriate permission set.
- Select the Objects tab.
- Grant CRE object permissions to the custom object for the appropriate object types.
- Grant Edit field permissions to the fields on the custom object where data is saved.
To display the call clickstream information captured on the call report, place the clickstream_section__v app section on the call2__v layouts for the appropriate object types. This section displays a table of responses. The following fields from the call_clickstream__v object display in the table:
- answer__v
- key_message_name__v
- presentation_id__v
- product__v
- track_element_description__v
The fields displayed in the table are not configurable.
Creating Content with User Activity Tracking

Clickstream data can be used to capture custom information. By building a custom control within HTML5 content, responses can be captured and later displayed directly on the call report.
Do not use the createRecord function to create call2_key_message__v records. Doing so interferes with Veeva-defined logic for call key messages.
Additionally, the following fields on the call_clickstream__v object are automatically populated each time a record is created for a call. Manually entered values for the following fields are overwritten:
- call__v - set to the current call record ID
- product__v - product__v of the corresponding key message record
- key_message__v - record ID of the corresponding key message record
- clm_id__v - clm_id__v of the corresponding key message record
- presentation_id__v - presentation ID of the CLM presentation record
When implementing clickstream capture, content creators must be mindful of the potential amount of data captured as a part of each slide and/or presentation. Creating a large number of records on each slide increases sync times for users and cause performance degradation on online reports.