Advanced Field History Tracking Beyond Standard Salesforce Limits
History Tracker Plus is an enterprise-grade field history tracking solution that breaks through Salesforce’s standard 20-field limit per object. Track unlimited fields across unlimited objects with a beautiful, intuitive interface that respects your org’s security model.
Track field changes across any Salesforce object with ease
Salesforce’s standard Field History Tracking is limited to:
History Tracker Plus provides:
Intuitive drag-and-drop configuration interface
Track changes for ALL Salesforce field types:
| Field Type | Supported | Notes |
|---|---|---|
| Text | ✅ | All text fields |
| Number | ✅ | Integer, Decimal, Currency, Percent |
| Date/DateTime | ✅ | Formatted for user timezone |
| Picklist | ✅ | Single and Multi-select |
| Checkbox | ✅ | Boolean values |
| Long Text Area | ✅ | Up to 131,072 characters |
| Rich Text Area | ✅ | HTML preserved |
| Lookup/Master-Detail | ✅ | Shows record name |
| Formula | ✅ | Tracks calculated values |
| Email/Phone/URL | ✅ | All standard types |
View complete field history directly on record pages
| Feature | Standard History | History Tracker Plus |
|---|---|---|
| Fields per Object | 20 | Unlimited* |
| Objects Supported | Limited Standard | All Standard + Custom |
| Long Text Fields | ❌ | ✅ |
| Rich Text Fields | ❌ | ✅ |
| Custom Retention | ❌ | ✅ |
| FLS Enforcement | ✅ | ✅ |
| API Access | Limited | Full |
| Reporting | Basic | Advanced |
*Based on license tier
| Aspect | Custom Build | History Tracker Plus |
|---|---|---|
| Development Time | 40-80 hours | 5 minutes |
| Maintenance | Ongoing | Managed by us |
| Testing | Your responsibility | Pre-tested |
| Updates | Manual | Automatic |
| Support | None | Full support |
| Cost | $8,000-$16,000 | Starting at $99/month |
Visit: https://appexchange.salesforce.com/historytracker
Click "Get It Now"
Simple one-click installation from AppExchange
Assign Permission Sets
Configure License (if applicable)
Configure tracking in 3 simple steps
For each object you configure, you need to deploy a trigger:
trigger AccountFieldHistoryTrigger on Account (after update) {
FieldTrackingService.trackChanges(
Trigger.old,
Trigger.new,
'Account'
);
}
Drag and drop the History Viewer component
Access the configuration panel from App Launcher → History Tracker Configuration
Complete configuration interface
Object Selection
Field Selection
Active Configurations
View your current license limits and usage
The app automatically displays:
History Tracker Plus automatically respects your org’s Field-Level Security settings:
The History Viewer component displays on any record page where you’ve added it:
Complete field history with user attribution
Features:
Filter by field, date range, or user
For developers who need programmatic access:
// Get history for a specific record
List<Field_History__c> history = FieldHistoryQueryService.getHistoryForRecord(
recordId,
'Account',
50 // limit
);
// Get history for specific fields only
Set<String> fields = new Set<String>{'Name', 'Phone', 'AnnualRevenue'};
List<Field_History__c> filteredHistory = FieldHistoryQueryService.getHistoryForFields(
recordId,
'Account',
fields,
100
); Create custom reports using the Field History object:
Build custom reports on field changes
Common Report Types:
Field-Level Security (FLS)
Object-Level Security
Data Encryption
GDPR Compliance
SOX Compliance
HIPAA Considerations
To verify FLS enforcement:
// Create a test user with restricted field access
User testUser = [SELECT Id FROM User WHERE Profile.Name = 'Restricted Profile' LIMIT 1];
System.runAs(testUser) {
// Query history - should only return accessible fields
List<Field_History__c> history = FieldHistoryQueryService.getHistoryForRecord(
accountId,
'Account',
100
);
// Verify restricted fields are not included
System.debug('Accessible history count: ' + history.size());
} Perfect for small teams and testing
Price: FREE
For growing businesses
Price: $99/month
For large organizations
Price: $499/month
For special cases (trials, non-profits, education):
// Admins can create license overrides
Field_History_License_Override__c override = new Field_History_License_Override__c(
Org_Id__c = UserInfo.getOrganizationId(),
Override_Max_Objects__c = 999999,
Override_Max_Fields__c = 999999,
Override_Reason__c = 'Educational Institution',
Expiration_Date__c = Date.today().addMonths(12)
);
insert override;
Clean, modular architecture
ConfigurationService.cls
FieldTrackingService.cls
FieldHistoryQueryService.cls
LicenseService.cls
configurationComponent
historyViewerComponent
Field_History__c
Field_History_Config__c
Field_History_License_Override__c
Field_History_Limit__mdt
Field_History__c
├── Record_Id__c (Text 18) - ID of changed record
├── Parent_Record_Name__c (Text 255) - Display name
├── Object_Name__c (Text 255) - Object API name
├── Field_Name__c (Text 255) - Field API name
├── Data_Type__c (Text 50) - Field type
├── Old_Value__c (Text 255) - Previous value
├── New_Value__c (Text 255) - New value
├── Old_Value_Long__c (Long Text) - For long text fields
├── New_Value_Long__c (Long Text) - For long text fields
├── Old_Value_HTML__c (Rich Text) - For rich text fields
├── New_Value_HTML__c (Rich Text) - For rich text fields
├── Is_Truncated__c (Checkbox) - Indicates truncation
└── Changed_Date__c (DateTime) - When change occurred Indexing
Caching
Bulk Processing
🎥 Tutorial Series:
history-tracker-plusEmail Support (Professional & Enterprise)
Priority Support (Enterprise only)
Dedicated Success Manager (Enterprise only)
Q: Does this count against my Salesforce data storage? A: Yes, history records are stored in a custom object and count toward your data storage limits. However, the storage is minimal (typically 2KB per change).
Q: Can I delete old history records? A: Yes, you have full control over history records. You can delete them manually or set up automated retention policies.
Q: Does this work in Sandbox? A: Yes! The app works in all Salesforce environments including Sandboxes, Developer Orgs, and Production.
Q: Can I track changes made by integrations? A: Yes, all changes are tracked regardless of the source (UI, API, integration, etc.).
Q: How do I handle Long Text Area fields? A: Long Text Area fields are automatically stored in the Old_Value_Longc and New_Value_Longc fields, which support up to 131,072 characters.
Q: What happens if I exceed my license limits? A: The app will prevent you from adding new configurations that exceed your limits. Existing tracking continues to work.
Q: Can I query history records in reports? A: Yes! Field_History__c is a standard custom object and fully supports Salesforce reports and dashboards.
Q: Does this work with Person Accounts? A: Yes, Person Accounts are fully supported.
Q: Can I track changes to related records? A: The app tracks changes to the specific object configured. For related records, configure tracking on those objects separately.
Q: How is Field-Level Security enforced? A: The FieldHistoryQueryService automatically filters history records based on the current user’s field permissions using Schema.DescribeFieldResult.isAccessible().
Q: Can users see who made changes? A: Yes, all history records include the user who made the change (via CreatedById standard field).
Q: Is the data encrypted? A: Data is encrypted at rest using Salesforce’s platform encryption. For additional security, enable Platform Shield.
Q: History records aren’t being created. What should I check? A:
Q: Users can’t see the History Viewer component. Why? A:
Q: The configuration page shows “License limit exceeded”. What do I do? A: You’ve reached your license tier limits. Either upgrade your license or remove some configurations to free up capacity.

“History Tracker Plus saved us from building a custom solution. We’re now tracking 50+ fields across 15 objects with zero maintenance overhead.”
— Sarah Johnson, Salesforce Admin at TechCorp

“The FLS enforcement was crucial for our compliance requirements. This app just works, and it works securely.”
— Michael Chen, IT Director at HealthCare Inc

“We were able to meet our audit requirements without any custom development. The ROI was immediate.”
— Jennifer Martinez, Compliance Officer at FinanceGroup
Sales Inquiries
Technical Support
Partnership Opportunities
This application is commercial software. See LICENSE.md for details.
Copyright © 2026 Fabian Manzano. All rights reserved.
Ready to break free from Salesforce’s 20-field limit?