Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Show Page Sections

Buyer's Journey Tracking

Overview

This feature provides information about the your buying journey in CPQ. In detail, this mechanism applies at runtime during your session in the various modules of Smart CPQ. For each interaction you can have with the User Interface of Smart CPQ, an event is traced containing all the context of this interaction. The context of a given event has the same format for all the Smart CPQ users.

Optionally, you can personalize some parts of this context like the user identifier (that can come from external systems like a CRM for instance) or via some placeholders allowing to trace business-related data specific to your organization. Depending on your setup, those events can then be collected to be imported in a data storage hosted in your organization for further processing (e.g. via a BI tool) or can be consulted in a Graylog portal provided by PROS.

Format Version

Depending on the quoting module of Smart CPQ you use, the format and collect mechanism for the Buyer's Journey Tracking events is different. In each configuration, the events tracked for the Catalog and Configurator modules follow the same format as the one used for the quoting module in place.

Information

All PROS customers who activated the Buyer's Journey Tracking prior to V12.11 are running the analytics format V1.

All PROS customers who activated the Buyer's Journey Tracking after V12.11 are running the analytics format V2.

Collected Events

The list of events tracked in CPQ per module is the following:

CONFIGURATOR

  • Open a configuration process.
  • Switch to another configuration.
  • Answer to a form property.
  • Add a configurable product to the quote.
  • Close configuration.
  • External events.

CATALOG

  • Open a catalog.
  • Page consultation (Change of URL).
  • Add to quote.
  • Close catalog.

PERFORMANCE QUOTING

  • Create a quote.
  • Open a quote.
  • Close quote.
  • Switch to another quote step or page.
  • Open the header tab.
  • Open the left bar.
  • Open the left tab component.
  • Change the quote status.
  • Generate a document.
  • Add a product.
  • Add a bundle product.
  • Add a folder.
  • Add a specific.
  • Add a bundle specific.
  • Add a configurable product.
  • Delete a quote line.
  • Move a quote line.
  • Cut a quote line.
  • Paste a quote line.
  • Copy a quote line.
  • Mass update quote lines.
  • Perform a predefined mass update.
  • Change the display currency.
  • Change the display locale.
  • Resize a widget with buttons.
  • Resize widget via its border.
  • Sort a component.
  • Filter a view.
  • Change a field value.
  • Change a cell value in a grid.
  • Change a cell value in a left tab.
  • Import.
  • Export.
  • Refresh a data provider.
  • Apply price goal seek.
  • Apply price guidance goal seek.
  • Open the rules.
  • Apply rules
  • Change quote line density.

CART

  • Create a quote.
  • Open a quote.
  • Switch to another quote step.
  • Change the quote status.
  • Generate a proposal report.
  • Change a value in the quote (header, spreadsheet, trigger...).
  • Web service call (Clone Quote, etc.).
  • In the context of the integration of CPQ with SFDC, events linked to the call of the Quote from the

    CRM are also tracked.

Event Formats

ANALYTICS FORMAT V2 (ACTIVATION IN V12.11+)

The following event format applies for the three modules Catalog, Configurator and Performance Quoting when the latter is in use:

date

  • Timestamp grouping Date + Time of each action.
  • Ex: 2021-10-21T10:05:14.830Z

tenantId

  • Identifier of the tenant where Smart CPQ is executed.
  • Ex: a8515c30-42cc-11e6-beb8-9e71128cae77

environmentId

  • Identifier of the PROS Cloud environment.
  • Ex: dev

userId

  • Identifier of the authenticated user (email address, service account or application Id).
  • This is a unique identifier for each user of the solution.
  • This is necessary to aggregate all the lines related to a given user session to identify templates of usage.
  • Ex: "[email protected]"

sessionId

  • Identifier of the quote session.
  • Ex: 9ca21d3d5-4c91-4b63-a771-52fc3aa397c6

quoteId

  • Identifier of the quote the end user is working on during this session.
  • Ex: bfc89204-b3c2-4027-b1a2-42215600e5ca

module

  • Track the CPQ module in which the action has been performed.
  • Domain of value: Configurator / Catalog / Quote.
  • Ex: Quote

moduleId

  • For each module event tracked, gives the name of the module instance on which we are working (Quote ID, Catalog's / CP's CPE).
  • Ex: bfc89204-b3c2-4027-b1a2-42215600e5ca

crmQuoteId (optional)

  • Identifier of the quote created in the CRM associated with Smart CPQ (if any).
  • Ex: xxxxxxxx

modelId

  • Identifier of the quote model being run.
  • Ex: Quote-To-Order

action

  • Name of the action performed by the user in the module.
  • Ex: OpenQuote

identifier

  • The identifier of the object targeted by the action.
  • This field could be empty depending on the action.
  • Ex: PricingAllView

oldValue

  • Display the previous value for the element on which the action is performed (could be empty).
  • Ex: wksRowVMForklift/SI/52585809

newValue

  • New value for the element on which the action is performed (could be empty).
  • Ex: wksRowVMForklift/SI/52585810

landmark

  • Area of the User Interface where the user performed the traced action.
  • This is represented as a JSON Map.
  • Ex: "landmark": {"componentId": "PricingAllGridComponent","stepId": "STEP_256","pageId": "PAGE_257"}

customerCorrelationContext

  • Correlation context containing preset context data.
  • This data is specific to your organization.

additionalInfo

  • Placeholder for complex actions that need more details to be traced.
  • This is represented as a JSON map.
  • Ex: "additionalInfo": {"actionName": "ACTION_30"}

Here are a few examples of output event format:

OpenQuote

{

"date": "2021-10-21T10:05:14.830Z",

"tenantId": "a8515c30-42cc-11e6-beb8-9e71128cae77",

"environmentId": "dev",

"userId": "[email protected]",

"sessionId": "ca21d3d5-4c91-4b63-a771-52fc3aa397c6",

"module": "Quote",

"moduleId": "bfc89204-b3c2-4027-b1a2-42215600e5ca",

"action": "OpenQuote",

"quoteId": "bfc89204-b3c2-4027-b1a2-42215600e5ca"

}

AddProduct

{

"date": "2021-10-21T10:08:29.695Z",

"tenantId": "a8515c30-42cc-11e6-beb8-9e71128cae77",

"environmentId": "dev",

"userId": "[email protected]",

"sessionId": "ca21d3d5-4c91-4b63-a771-52fc3aa397c6",

"module": "Quote",

"moduleId": "bfc89204-b3c2-4027-b1a2-42215600e5ca",

"action": "AddProduct",

"identifier": "MOB_011",

"landmark": {

"componentId": "PricingAllGridComponent",

"stepId": "STEP_256",

"pageId": "PAGE_257"

},

"quoteId": "bfc89204-b3c2-4027-b1a2-42215600e5ca"

}

Export

{

"date": "2021-10-21T10:09:28.417Z",

"tenantId": "a8515c30-42cc-11e6-beb8-9e71128cae77",

"environmentId": "dev",

"userId": "[email protected]",

"sessionId": "ca21d3d5-4c91-4b63-a771-52fc3aa397c6",

"module": "Quote",

"moduleId": "bfc89204-b3c2-4027-b1a2-42215600e5ca",

"action": "Export",

"landmark": {

"componentId": "PricingAllGridComponent",

"stepId": "STEP_256",

"pageId": "PAGE_257"

},

"quoteId": "bfc89204-b3c2-4027-b1a2-42215600e5ca",

"additionalInfo": {

"actionName": "ACTION_30"

}

}

Multiple delete line

{

"date": "2021-10-21T10:21:39.995Z",

"tenantId": "a8515c30-42cc-11e6-beb8-9e71128cae77",

"environmentId": "dev",

"userId": "[email protected]",

"sessionId": "ca21d3d5-4c91-4b63-a771-52fc3aa397c6",

"module": "Quote",

"moduleId": "bfc89204-b3c2-4027-b1a2-42215600e5ca",

"action": "MultipleDeleteLine",

"identifier": "PricingAllView",

"landmark": {

"componentId": "S-4cef951d72ed450985c155bb46469e71",

"stepId": "PAGE_257",

"pageId": "STEP_256"

},

"quoteId": "bfc89204-b3c2-4027-b1a2-42215600e5ca",

"additionalInfo": {

"numberOfLines": "2"

}

}

Events per module

The following tables below give details on how each value of each event is retrieved. Each table corresponds to one module among Quote, Catalog and Configuration.

Configurator Events



Catalog Events



Performance Quoting Events











ANALYTICS FORMAT V1 (ACTIVATION BEFORE V12.11)

The following event format applies for the three modules Catalog, Configurator and Cart when the latter is in use:

date

  • Timestamp grouping Date + Time of each action.
  • Ex: 2016-01-19T11:45:33.533+01:00

customerID

  • Identifier of the customer.
  • Mandatory if push of events in data lake is active.
  • Ex: prcleon10

userId

  • Identifier of the user that can be personalized from an external source.
  • This is a unique identifier for each user of the solution.
  • This is necessary to aggregate all the lines related to a given user session to identify templates of usage.
  • Ex: 00515000005zL0AAAU

uuid

  • UUID useful only for some scenario.
  • This is passed as a setting to the API calls.
  • Ex: 8zTBR4iGlB+wVm1zRBXMT6Mi.node1

module

  • Track the CPQ module in which the action has been performed.
  • Domain of value: Configurator / Catalog / Quote.
  • Ex: Quote

moduleId

  • Name of the current module instance (Quote ID, Catalog's / CP's CPE).
  • Ex: CPE.wksRowDealer/CL/catMainCollection

action

  • Name of the action performed by the user in the module.
  • Ex: CreateQuote

parentId

  • ID of the parent object when relevant (For instance, the Product ID for a given quote line valuation).
  • Ex: M50850501

identifier

  • The identifier of the object targeted by the action (could be empty).
  • Ex: CPE.wksHT/CP/cpNACH.wksHT/FO/foNACP.FP/fpMarketSegment

oldValue

  • Display the previous value for the element on which the action is performed (could be empty).
  • Ex: wksRowVMForklift/SI/52585809

newValue

  • New value for the element on which the action is performed (could be empty).
  • Ex: wksRowVMForklift/SI/52585810

quoteId

  • ID of the quote the end user is working on during this session.
  • Ex: 5b22dfd7-3ad5-e911-a849-000d3a3b7224

custom1 / custom2 / … / custom5

  • Five placeholders for non-generic data. This allows PROS customers to trace business specific data.
  • Ex: whatever is relevant to be traced

Each line of the log file is formatted in a JSON format and can be parsed for an external analysis. Here is an example of output event format:

{"date":"2017-10-09T11:19:15.010+02:00","userId":"6cfffbde-0669-e611-80dd-

c4346bac69f4","customerId":"","module":"Quote","moduleId":"0e6e5a5d-ceac-e711-811e-e0071b6ad131","action":"SetValuation","parentId":"cpHost20171009105743","identifier": "ItemQty","oldValue":"1","newValue":"2"}

UserId Personalization

Tip: By default, the mechanism has been implemented in the context of an integration of CPQ with SalesForce.com. Therefore, the default value for the userID is the userId sent by SFDC to CPQ.

The tracking mechanism can be personalized to trace a userId that is more relevant for your organization. Except if you want to use the userId provided by SFDC in the context of an integration with the CRM (see above), you must declare a new setting in the header of your quote model.

How To

  1. Log in the Quote Designer.
  2. Go in the Header configuration menu and enter the Quote Information section.
  3. Define a new field with the following characteristics:
    • Name: AnalyticsUserId
    • Type: Text
    • Empty Value: Yes
  4. It is then possible to compute this value from CPQ elements or by mapping it with a

    CRM/ERP field.

Events per module

The following tables below give details on how each value of each event is retrieved. Each table corresponds to one module among Quote, Catalog and Configuration.

Configurator Events



Catalog Events



Cart Events



Collect Mechanisms

ANALYTICS FORMAT V2 MECHANISM (ACTIVATION IN V12.11+)

When Performance Quoting is in use, the Buyer's Journey Tracking events are gathered directly in the Graylog portal provided by PROS. For more details on this access, please see Access to Logs.

ANALYTICS FORMAT V1 MECHANISM (ACTIVATION BEFORE V12.11)

When the Cart is in use, a specific logger collects all the events linked to users’ interactions and traces them in a log file called analytics.log by default. The log file can then be downloaded and consulted from the “Manage files” step of the Workspaces administration section in the CPQ Designer.

To configure this specific logger, a new section must be added in the following file on the CPQ server:

.. \jboss\standalone\configuration\standalone-cameleon.xml

<server xmlns="urn:jboss:domain:1.4">

<profile>

<subsystem xmlns="urn:jboss:domain:logging:1.2">

<periodic-rotating-file-handler name="ANALYTICS" autoflush="true">

<formatter>

<pattern-formatter pattern="%m,%n"/>

</formatter>

<file relative-to="jboss.server.log.dir" path="analytics.log"/>

<suffix value=".yyyy-MM-dd"/>

<append value="true"/>

</periodic-rotating-file-handler>

<logger category="ANALYTICS com.cameleon" use-parenthandlers="false">

<level name="ERROR"/>

<handlers>

<handler name="ANALYTICS"/>

</handlers>

</logger>

</subsystem>

</profile>

</server>

Then, to activate the tracking on your environment, change the log level of the ANALYTICS logger from ERROR to INFO:

<logger category="ANALYTICS com.cameleon" use-parent-handlers="false">

<level name="INFO"/>

<handlers>

<handler name="ANALYTICS"/>

</handlers>

</logger>

CRM Action Tracking

In order for the actions performed in the standard CRM integrations with Smart CPQ to be traced, some specific settings must be activated directly in the CRM.

Please visit the following pages to learn more: