Your comprehensive guide to capturing and tracking previous values in HubSpot. From installation to advanced usage
Everything you need to install, configure, and get the most out of PrevVal.
Install PrevVal and add your first mapping in under 3 minutes. No workflows or code required.
Mappings, tracking modes, backfill, property compatibility, and best practices.
Need help? Our team is here for setup, configuration, and troubleshooting.
Click any section below to learn more about PrevVal's features, setup, and best practices.
Getting started with PrevVal takes about 3 minutes. No workflows. No code. No API keys.
Click Install on the HubSpot Marketplace listing. You'll be taken to HubSpot's secure OAuth authorization page. Accept permissions and you're connected.
Open the PrevVal card in HubSpot. Click "+ Add Mapping". Select your object type, the property you want to track, the property to store the previous value in, and your tracking mode.
From this point forward, every time that property changes in HubSpot, PrevVal automatically writes the previous value to your destination property. Nothing else required.
A mapping is a tracking rule. It tells PrevVal which property to watch and where to write the previous value when it changes.
dealstage → previous_deal_stageamount → previous_amountclosedate → previous_close_datehubspot_owner_id → previous_ownerlifecyclestage → previous_lifecycle_stagehubspot_owner_id → previous_ownerhs_last_contacted_date → previous_contacted_datecity → previous_cityindustry → previous_industryhubspot_owner_id → previous_ownerhs_pipeline_stage → previous_ticket_stagehs_ticket_priority → previous_priorityWhen you add a mapping, you choose a tracking mode. The mode controls what PrevVal does when a property change is detected.
Only writes when the previous value was not empty. If the property had no value before the change, nothing is written.
Best for: Most properties. Prevents storing empty values and keeps your data clean. Recommended for dropdowns, owners, and stages.
Always writes, even when the previous value was empty. Useful when you want a complete record of every change, including from blank.
Best for: Audit trails where you need to know when a property was first set, not just when it changed from a value.
Skips blanks, cleared values, and values matching the current value — finds the last truly different non-blank value.
Best for: Properties that may go blank temporarily. Ensures you always capture a meaningful previous value, not just an empty one.
Stores two values: the first-ever value (First Touch, written once and never overwritten) and the value before each change (Last Touch, updated on every change).
Best for: Lead source tracking, original pipeline stage, and any property where both the origin and most recent previous value matter.
The Free plan supports Ignore Blanks only. Upgrade to Pro or Enterprise to unlock Include Blanks, Last Known, and First & Last Touch modes.
PrevVal writes the previous value as a string to your destination property. The destination property type determines what HubSpot will accept. Mismatched types will cause writes to fail silently.
| Source property type | Destination: Single-line text | Destination: Same type (cloned) | Destination: Different type |
|---|---|---|---|
| Dropdown / Radio select | Works — stores internal name | Works — displays label | Will fail |
| Number / Currency | Works — stores as text | Works — stores as number | Will fail |
| Date / Date-time | Works — stores as text | Works — stores as date | Will fail |
| Single-line text | Works | Works | Will fail |
| Owner (user lookup) | Works — stores user ID | Works — resolves to user | Will fail |
| Checkbox (boolean) | Works — stores true/false | Works | Will fail |
Backfill reads HubSpot's existing property history and populates previous values for records that already existed before you installed PrevVal. It's optional — PrevVal starts tracking automatically from the moment you add a mapping.
Only targets records that have a source value but are missing a destination value. The most efficient option — skips records that are already populated.
Targets records created within a specific date range. Useful for populating previous values for recent records regardless of whether they already have a destination value.
Run backfill on a single record instantly. Paste a record ID or HubSpot URL, select your mapping, and PrevVal retrieves and writes the previous value immediately. Does not count toward your daily run limit.
| Plan | Backfill scope | Daily runs | Manual backfill |
|---|---|---|---|
| Free | Not available | Not available | Not available |
| Pro | Smart Fill + Last 30 days | 3 / day | Unlimited |
| Enterprise | Smart Fill + Last 30, 60 & 90 days | 10 / day | Unlimited |
| Ultimate | Smart Fill + Last 30, 60 & 90 days | Unlimited | Unlimited |
PrevVal's plans are based on mappings — the number of tracking rules you can have active at once.
• 2 mappings
• Ignore Blanks mode only
• Live automatic tracking
• No backfill
• 50 events / 60 seconds (over limit = dropped)
• Email support
• 10 mappings
• All tracking modes
• Smart Fill + Last 30 days backfill (3 runs/day)
• Unlimited manual record backfill
• 500 events / 60 seconds
• Priority support
• 25 mappings
• All tracking modes
• Smart Fill + Last 30, 60 & 90 days backfill (10 runs/day)
• Unlimited manual record backfill
• 1,000 events / 60 seconds
• Priority support
• 100 mappings
• All tracking modes
• Unlimited daily backfill runs
• Unlimited manual record backfill
• Dedicated account management
The event limit is the maximum number of property changes PrevVal can receive within a 60-second window. When a portal exceeds its limit, those events are deferred to the backfill queue and processed later — they are not lost. The exception is the Free plan, which has no backfill access, so any events over the limit are dropped entirely.
If you are regularly changing a large number of records within 60 seconds and hitting your plan limit, please reach out — this is most likely a bulk operation and we can help find the right solution.
Importing records, bulk editing, or mass-enrolling via workflow can flood the processing queue. When this happens, live real-time changes may be skipped — even for records that were not part of the bulk operation.
To pause a mapping: open the PrevVal card in HubSpot, go to the Overview tab, and toggle the mapping off before your bulk operation. Re-enable it when done.
Previous values are stored in native HubSpot properties — use them anywhere HubSpot properties are supported.
Create reports comparing current vs previous values. Build a deal report showing Amount vs Previous Amount with a calculated difference column to catch last-minute discounts.
Example: Deals with amount reduced in last 30 days — filter where previous_amount is known and amount is less than previous_amount.
Create active or static lists filtered by previous property values. Segment contacts by their previous lifecycle stage or identify deals that were previously at a higher stage.
Example: Contacts where previous_lifecycle_stage = Opportunity but lifecyclestage = Lead — bounced backwards.
Use previous values as enrollment criteria or branch conditions in HubSpot workflows. Trigger a Slack alert when a deal drops below its previous amount.
Example: Enroll deals where previous_deal_stage is known and dealstage is earlier in the pipeline — stage regression detected.
Install PrevVal today and start capturing valuable property change data in your HubSpot workflows. Our team is here to help you every step of the way.
Need help with PrevVal setup or configuration? Our team is here to help you get the most out of your property tracking.