Skip to main content
phaneendhar_lingam
Contributor ⭐️⭐️⭐️
July 15, 2020
Development

History Tracking for MDA Objects

Related products:CS Rules Engine
  • July 15, 2020
  • 60 replies
  • 2915 views

History tracking data is important for  trend analysis/ forecasting. But, there could be some objects where we are required to maintain just the snapshot data. For example in standard objects like Company/ User or any custom objects – In Company, when did the CSM change or what was the previous ARR?

As of today, we do not have the luxury of keeping historic changes in Gainsight but with the help of rules/ objects we can still accomplish this.

 

For demonstration – I’ve created the object ‘Kite Info’, which is loaded around 7am daily.

Schema as follows,

{*Kite Id(String); Kite Name(String); Kite Date (Date); Kite Value (Number); Kite Location (String) }

*Kite Id is the identifier field.

I’ve created a backup object that has only those fields which require history tracking(along with the Identifier) – ‘Kite Info Bkp’. This object is loaded 10am daily.

But, for the first time – data from ‘Kite Info’ is loaded once ‘Kite Info Bkp’ is created.

{*Kite Id(String); Kite Date (Date) ; Kite Value (Number);  Kite Location (String) }

*Kite Name is consistent hence not required for tracking.

 

Rule Name -> ‘Load Kite Info Backup’, scheduled to run at 10am

Load all the values from ‘Kite Info’ to ‘Kite Info Bkp’ with Upsert operation and Identifier ‘Kite Id’

 

History Tracking object – ‘Kite Info History’

 

Column Name

DataType

Kite Id

String

Kite Date New

Date

Kite Date Old

Date

Kite Value New

Number

Kite Value Old

Number

Kite Location New

String

Kite Location Old

String

Kite Date Changed

Boolean

Kite Value Changed

Boolean

Kite Location Changed

Boolean

Changed Date

Date

 

History Tracking Rule Setup,

Rule Name à ‘Kite History Tracking’ ; Scheduled to run at 9am daily.

“Timing of this rule is of highest importance – this should be scheduled to run after the source ‘Kite Info’ is reloaded but before the backup object ‘Kite Info Backup’ is refreshed.

In the Merge task, I’m doing inner join on Kite Id.

 

Fields in the Transformation task ‘Change Capture’ are as follows,

  • Those with prefix ‘new’ are from ‘Kite Info’
  • Those with prefix ‘old’ are from ‘Kite Info Bkp’

Field List – Kite Id, Kite Date Old, Kite Date New, Kite Date Changed and similarly for Kite Value and Kite Location

Case statement,

When ‘Kite Value New’ not equals ‘Kite Value Old’ then ‘Kite Value Changed’ is True

Similarly for Kite Date and Kite Location.

I’m introducing another case field as,

When

‘Kite Value New’ not equals ‘Kite Value Old’ (OR)

‘Kite Date New’ not equals ‘Kite Date Old’ (OR)

‘Kite Location New’ not equals ‘Kite Location Old’

Then ‘Changes Made’ is True

Only if the above value true, a record will be considered for inserting into History tracking object.

 

Loading into History Tracking object is of INSERT type action, as we have to capture all the changes being done.

60 replies

Contributor ⭐️
September 28, 2021

I have followed the steps and it works pretty well. Added RuleDate as a ChangedDate.

The only missing part is the expression which determines if old not equal to new then True, How do I get to know for which field it is not true like

My expression has below e.g

Old CSM != New CSM

Old TAM != New TAM

Then the boolean expression will tell me only True, But true for which field so I can ingest the new field in History object.

 

Helper ⭐️
September 28, 2021

Hi @ShahImran1184, on my side I created a field for each field that I want to track the history. In your case, I would use two separate fields

  1. CSM change
  2. TAM change

Not sure if it is the best way but it it’s a workaround.

sami.burk
Contributor ⭐️⭐️⭐️⭐️
January 11, 2022

Are there any updates for when this feature (field change tracking/history) will be available?

Helper ⭐️⭐️⭐️
January 12, 2022

Hello all,

 

Field level tracking is planned for Q1 2022. You would be able to select fields for a specific object to track data changes over a time period.

 

Thanks!

sami.burk
Contributor ⭐️⭐️⭐️⭐️
March 22, 2022

Are there any updates here? Are we still looking for this feature to be released in Q1 2022?

vritant
Gainsight Employee ⭐️
Gainsight Employee ⭐️
April 13, 2022

The revised timeline for delivery of this feature is Q3 2022.

Contributor ⭐️
April 19, 2022

I’m waiting on this functionality as well.

Anyone else trend NPS data and have best practices they’d be willing to share?

Contributor ⭐️⭐️⭐️⭐️⭐️
May 24, 2022

Hello all,

 

Field level tracking is planned for Q1 2022. You would be able to select fields for a specific object to track data changes over a time period.

 

Thanks!

Hi Gainsight team, any updates on this release?

The rules engine seems a bit overkill for such an easy addition, history tracking is crucial to track changes and improvements 

Contributor ⭐️⭐️
June 6, 2022

Would definitely like an easier way to track historical updates for Company fields - especially the fields in the C360. It’s important to know when the most recent update was made and by whom for the C360 especially, seeing there are many editable fields a CSM can update. And being able to create reports off of this information (such as, when was the last time an account description or risk status was changed), is very crucial to keeping CSMs accountable and understanding customer risk. 

benwanlessmenlo
Contributor ⭐️⭐️⭐️⭐️⭐️
June 8, 2022

It looks like that last update says Q3 of 2022, but I haven’t seen any announcements. I would love to know more about how this is getting implemented.

Best,

Ben W.