---
schema_version: "1"
id: 2093f294f07edc3a98476e7fb87dc2230ee1a266b15bd3d0e34f08e779101de6
title: Analyzing CPQ Processing with Vlocity Tracking Service
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/comms_analyzing_cpq_processing_with_vlocity_tracking_service.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.comms_analyzing_cpq_processing_with_vlocity_tracking_service.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: c5315dcf0a1a2a4b8b73e318bff7d814d161ece8233314107a9b9379d63c5961
description: As a performance engineer or system integrator working on customer projects, you can analyze the timing of CPQ processing to quickly drill into the problem areas where CPQ processing is slow. Using the tracking service greatly speeds-up performance analysis of CPQ processing.
products:
  - Communications
  - Media
  - Energy and Utilities
release: "264"
---
# Analyzing CPQ Processing with Vlocity Tracking Service

As a performance engineer or system integrator working on customer projects, you can analyze the timing of CPQ processing to quickly drill into the problem areas where CPQ processing is slow. Using the tracking service greatly speeds-up performance analysis of CPQ processing.

For example, you can track the following data points for CPQ APIs:

```
{ "TrackingService": "CPQ", "TrackingEvent": "getCarts", "SalesforceSessionToken": "11312ae20cc8957a3fa0cb8360a4e407", "UserId": "0050Y000000Dp0zQAC", "Timestamp": "2016-12-14T12:18:15+00:00", "ElapsedTime": 5956, ...insert other CPQ-related info here... }
```

Where `"CPQ"` is the TrackingService.

To enable this functionality, Vlocity Tracking Service is implemented with Industries Cart Validation and tracks the following fields for each CPQ API call:

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small " summary="Tracked Fields">
        <colgroup>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d217520e52">
              <p style="margin-bottom:0;">Field</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d217520e58">
              <p style="margin-bottom:0;">Value</p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d217520e52 ">
              <p style="margin-bottom:0;">TrackingService</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d217520e58 ">
              <p style="margin-bottom:0;">CPQ</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d217520e52 ">
              <p style="margin-bottom:0;">TrackingEvent</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d217520e58 ">
              <p style="margin-bottom:0;">methodName – <span class="apiname">getCarts</span>,
                <span class="apiname">postCartsItems</span>
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d217520e52 ">
              <p style="margin-bottom:0;">ClassName</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d217520e58 ">
              <p style="margin-bottom:0;">
                <span class="apiname">CPQAppHandler</span>
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d217520e52 ">
              <p style="margin-bottom:0;">ElapsedTime</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d217520e58 ">
              <p style="margin-bottom:0;">Time taken for this API call</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d217520e52 ">
              <p style="margin-bottom:0;">CartId</p>
            </td>

            <td data-label="Value" class="slds-cell-wrap" style="vertical-align:top;" headers="d217520e58 ">
              <p style="margin-bottom:0;">Cart ID passed in the request, if the ID was passed in the input.
                Otherwise, the value is null.</p>
            </td>

          </tr>
        </tbody>
      </table>

To enable CPQ tracking, you add a trigger with an appropriate name. For example, to enable tracking for getCarts API, create a trigger, name it Track.CPQ.getCarts, and set it to On.

1. From Setup, in the **Quick Find** box, enter Custom Settings.
2. From the search results, click **Custom Settings**. The Custom Settings page appears.
3. Next to Trigger Setup, click **Manage**. The Custom Setting page for the Trigger Setup appears.
4. Click **New**. The Trigger Setup Edit page appears.
    
    ![The Trigger Setup Edit page includes the Trigger On checkbox.](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-comms_media_energy_managed-264-0-0-production-enus/ff4079f6-a384-475c-b863-578bbbb0ef9b/resources-product/images/salesforce_triggersetupedit.png)
5. Set the triggers:
    
    - To enable tracking for all CPQ APIs, specify the following:
        
        - **Name**: Track.CPQ
        - **Trigger On**: Select to set the trigger to On.
    - To enable tracking for only one CPQ API, specify the following:
        
        - **Name**: Track.CPQ.<methodName>
        - **Trigger On**: Click the checkbox to set the trigger to On.
6. Click **Save**.
    
    The tracking data is stored in the Vlocity Tracking Entry object (VlocityTrackingEntry\_\_c). For more details, see . Vlocity OmniStudio Components Event Tracking
    
    You can have many triggers simultaneously that enable tracking for different APIs. You can also enable tracking at the CPQ level or at the individual method level.