🫀Tracking CSM Pulse

A better way to track subjective sentiment


A common component of measuring customer health is CSM sentiment or pulse. It's the subjective opinion a CSM has on the current standing of an account, and it's a valuable data point as the CSM will have the most intimate knowledge. We provide a default Vitally trait for tracking the current value, but if you prioritize this value in your Health scores or are looking to do more with pulse, this may be for you.

This use case uses a more contextualized way to track the pulse, capturing the current value and providing a historical picture of where it has been by creating pulse as a custom object. There are three benefits to doing it this way:

  1. Increased Visibility: a paper trail of sentiment values over time

  2. Better Optionality: create playbooks and dashboards with ease

  3. More Granularity: include more values to track customer sentiment

Use Case Overview

A pulse check process can be created in four steps:

  1. Define a Custom Object to Represent Pulse

  2. Configure Fields & Layouts on the Pulse Object

  3. Create Account Rollup Traits for Visibility

  4. Track Pulse Progress & Impact With Dashboards

Watch the video below to see the entire build-out:

How to Build It

Step 1: Define a Pulse Custom Object

The first step is to create or define the custom object so it lives as an object in Vitally. Doing this allows for multiple pulse check associations per account, which is important because you will want to file multiple pulses over time and keep a historical record of prior values.

We recommend calling it Pulse Check or something similar.

Watch the buildout of Step 1: Create Object

Step 2: Configure Object Fields & Layout

Now that the pulse object has been defined, create the fields that will be updated each time a pulse check is filed. Feel free to add any fields you would like, but we recommend including the following:

Field NameDescriptionSample Inputs


Single-select option

Healthy, Concerning, Poor

Pulse Explanation

Text summary of why the Pulse rating was given



Text summary of what led to escalation


Relevant Links

Any supporting links



Current standing of the escalation

Open, Working, Done

Steps to Resolve

Test summary of what needs to happen for resolution


In addition to the fields listed above, some other ideas to consider might be:

  • Persona Sentiment: add traits to track the individual sentiment of key persona types

  • Adoption Sentiment: add traits that allow for analysis of how mature the customer's usage is

  • Onboarding Sentiment: given how critical the implementation period is, add traits that capture sentiment after onboarding

After configuring fields, edit the layout to ensure all fields are displayed and ordered.

Watch the buildout of Step 2: Fields to Configure

Step 3: Create Account Rollups

You may want to expose the pulse check values at the account level for visibility or for use in Health Scores. This is easy to accomplish with custom-calculated traits.

We recommend creating at least two custom rollup traits:

Trait NameDescription


Dispalys the current value of the "Pulse" field

Pulse Explanation

Displays the current value of the "Pulse Explanation" field

Watch the buildout of Step 3: Create Account Rollups

Step 4: Track Pulse Progress & Impact

Now that this has been built, Pulse can be visualized alongside your other customer data to look at the most recent Pulse by renewal date, ARR exposure by Pulse rating type, or even outdated Pulse by team members with dashboards. You can target the Pulse object when building out widgets on a dashboard and precisely display what you need.

Additionally, since the Pulse lives as a custom object, you can trigger playbook automation based on any of the values associated with the Pulse to streamline your CS process.

Watch the buildout of Step 4: Track Progress & Impact

Last updated