Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
Salesforce Administrator
medium

How does Field History Tracking work, and what are its limits?

Field History Tracking records old/new value changes for selected fields on an object into the related History object (e.g., AccountHistory, OpportunityHistory, MyCustom__History). For each tracked field, when a value changes, Salesforce writes a row with the user, timestamp, old value, and new value.

You enable it per object in Object Manager, then check the boxes for the fields you want tracked. Standard objects let you track up to 20 fields each; custom objects also have a 20-field cap. It's free for standard fields and most custom field types, but encrypted text fields, formula fields, roll-up summaries, and long text areas are not trackable.

Two important practical limits:

  • Retention — by default field history rows are retained for 18-24 months in the History object. Older rows are purged unless you've licenced Field Audit Trail (part of Salesforce Shield), which extends retention to up to 10 years and stores history in a separate set of tables.
  • It's eventually consistent — history rows can lag behind the record save by seconds, which matters if you're building a real-time audit feature on top of history.

For higher-volume audit needs (every login, every API call, every export), Field History Tracking isn't the right tool — you want Event Monitoring instead, which uses a separate transaction log.

Why this answer works

This question separates admins who have actually used field history (and hit its limits) from those who only know it exists. The 18-24 month retention boundary is the killer detail — orgs frequently discover it's purged exactly when an auditor asks for old data.

Follow-ups to expect

Related dictionary terms