Tracked Changes
Tracked Changes in Chatter are one of my most favourite features of Chatter. The trick is to NOT go overboard with them and NEVER choose to track All Related Objects.
To set them up you go to Feed Tracking in Setup - the same place that you enable Chatter for an Object.
Check Enable Feed Tracking and choose the fields you want to track.
This gives you 20 fields on top of the 20 fields of history tracking that you can “sort of” track changes on.
Tracked Changes are ONLY displayed in the chatter feed though, not in the History related list. So choose which fields are in which list carefully. For Tracked Changes I tend to do things like phone numbers, email addresses, and changes made AFTER a record has gotten to a certain stage.
Whilst you can (in some cases) report on Field History Tracking (and you can in ALL cases query it using SOQL), you can’t report on Tracked Changes, and you can’t directly query it, BUT There is a way to do a query.
SELECT Id, CreatedDate, ParentId,
(SELECT Id, FieldName, OldValue, NewValue
FROM FeedTrackedChanges)
FROM YourObject__Feed
WHERE Type = 'TrackedChange' and createdDate > 2025-01-01T00:00:00.000ZThank you to this idea for the SOQL.
This gives you the id of the record and the previous and current value.
I used this because I realised I need to store the date a field change was made to use in a formula, to have the formula reflect different values before and after the date of the field change. So I was able to use that SOQL and just use the ParentID and the date value of CreatedDate to update onto my records.