Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
DictionaryFField History Tracking
AdministrationIntermediate

Field History Tracking

Field History Tracking is the Salesforce feature that records changes to specific fields on an object into a durable audit log.

§ 01

Definition

Field History Tracking is the Salesforce feature that records changes to specific fields on an object into a durable audit log. When a tracked field changes, the platform writes a History record (AccountHistory, ContactHistory, OpportunityHistory, etc.) capturing the old value, the new value, the user who made the change, and the timestamp. The log is the canonical answer to "who changed what when" for audit, compliance, and dispute resolution purposes, and it persists independently of the source record.

Up to 20 fields can be tracked per object. The retention is 18 months by default, with Field Audit Trail (a Shield add-on) extending retention up to 10 years. The history records are queryable through SOQL and reportable through standard report types, but they are not editable: once written, a history row cannot be modified or deleted except by the platform during retention expiration. This immutability is the property that makes the log trustworthy for compliance.

§ 02

How Field History Tracking captures audit data

History objects and what they record

Every object with Field History enabled has a paired History object: Account has AccountHistory, Opportunity has OpportunityHistory, custom objects have CustomObject__History. Each row stores Field (the API name of the changed field), OldValue and NewValue (the values as strings), CreatedBy (the user who triggered the change), and CreatedDate (the timestamp). For long text or restricted-visibility fields, OldValue and NewValue may be blank with the change still logged, depending on field type and FLS.

The 20-field cap and how to use it

Each object can track up to 20 fields. Choose fields that materially affect the record's business meaning: Stage on Opportunity, Owner on Account, Status on Case, key custom fields used for revenue or compliance reporting. Avoid tracking fields that change automatically (LastActivityDate) because they produce noise without audit value. Some objects allow more than 20 fields under specific licensing; check current docs for the exact limits.

Retention: 18 months default, 10 years with Field Audit Trail

Default retention is 18 months. Records older than 18 months are deleted by the platform; no manual cleanup is required. Field Audit Trail extends retention to up to 10 years for selected fields, providing the long horizon compliance auditors expect. Field Audit Trail is licensed separately under Shield. Without it, audit data is durable but only for a year and a half, which may not meet regulatory requirements like SOX or HIPAA.

Activating tracking on an object

Setup > Object Manager > Object > Fields and Relationships > Set History Tracking. Enable the master toggle on the object, then check each field to track. Existing data is not retroactively logged; tracking starts at the moment of activation. Plan activation deliberately for high-value objects because the prior history is not recoverable.

Limitations on tracked fields

Not every field type is trackable. Long text areas, rich text areas, formula fields, geolocation, encrypted fields (under certain Shield configurations), and a few special types cannot be tracked. Standard system fields like CreatedDate and LastModifiedDate are inherently tracked but as part of the record metadata, not as History entries. Confirm trackability per field before promising audit coverage for a regulatory framework.

Reporting on field history

Standard report types ship for the History objects, with grouping by Field, User, and Date. Build a report showing all changes to Stage on Opportunity over the past quarter, grouped by week, to see the rate of stage churn. Custom report types can join History to the parent object for richer queries (Opportunity Amount alongside Stage changes). The reporting layer is the most common consumer of history data; queries and ad-hoc audits are secondary.

Field Audit Trail Shield extension

Field Audit Trail (FAT) extends Field History Tracking with longer retention, the ability to track up to 60 fields per object, and a FieldHistoryArchive object that holds the extended history. FAT is licensed as part of Shield Compliance and adds storage and query options for long-horizon audit. Customers in regulated industries (financial services, healthcare, public sector) commonly add FAT to satisfy multi-year audit retention requirements.

§ 03

Enable Field History Tracking on an object

Enabling Field History Tracking is two settings deep but the field-selection decision needs business and compliance input. The steps below cover both halves.

  1. Gather compliance requirements

    Identify which fields require audit logging based on regulatory frameworks (SOX, HIPAA, internal controls). Get the list signed off in writing.

  2. Open Set History Tracking

    Object Manager > Object > Fields and Relationships > Set History Tracking. The page lists all fields with a checkbox each.

  3. Enable object-level tracking

    Check Enable History Tracking at the top of the page. Without this, no field tracking takes effect even if individual fields are checked.

  4. Check the target fields

    Check the fields gathered from compliance. Stay within the 20-field cap; if more are needed, evaluate Field Audit Trail.

  5. Save and confirm

    Save the settings. Edit a test record's tracked field and confirm a History record is created (query AccountHistory or check the History related list on the record).

  6. Add the History related list to layouts

    Page Layout Editor > drag the History related list onto the record layout. This gives end users visibility into recent changes without needing reports.

  7. Build reports

    Use the standard report type for the History object, or build a custom report type joining History to the parent. Schedule weekly for audit and compliance teams.

Key options
Enable History Trackingremember

Master toggle per object. Required for any field tracking to take effect.

Per-field tracking checkboxesremember

Individual fields to track. Up to 20 per object under standard licensing.

Field Audit Trail (Shield)remember

Extends retention to 10 years and field cap to 60. Licensed separately.

History related listremember

Page layout component showing recent History records on the record page. Adds the audit log to the end-user UI.

Custom report typesremember

Built on History objects for richer reporting. Standard report types are limited; custom types unlock joining with parent.

Gotchas
  • Tracking is not retroactive. Activation logs only future changes; prior history is not recoverable. Activate early for compliance objects.
  • The 20-field cap is per object. Hitting the cap on a key object usually requires either Field Audit Trail or a tough prioritization conversation with compliance.
  • Long text, formula, and some encrypted fields cannot be tracked. Confirm trackability against the field type list before promising coverage.
  • Default retention is 18 months. Records older are auto-deleted with no recovery. For multi-year audit, Field Audit Trail is the only path.
  • Bulk updates produce one History record per changed record. A bulk load updating 10,000 records on a tracked field writes 10,000 History rows, which can spike storage and reporting cost.
§

Trust & references

Official documentation

Straight from the source - Salesforce's reference material on Field History Tracking.

Was this entry helpful?
Help us write better definitions. Quick reactions or detailed edit suggestions.

About the Author

Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.

§

Test your knowledge

Q1. What does Field History Tracking record?

Q2. What's the typical limit on tracked fields per object?

Q3. What feature extends history retention?

§

Discussion

Loading…

Loading discussion…