- Formula over properties on one record
- 13 operators, 29 functions, 70 nested parentheses
- Professional and Enterprise only
- Min, max, count, sum, average, earliest date, latest date
- Filter by association label, up to 50 conditions
- Draws on the same property allowance
- Conditional logic
- More than one association hop
- Point-in-time history
What is a HubSpot calculated property?
A calculated property is a HubSpot property whose value comes from a formula over other properties on the same record, instead of from somebody typing it in. HubSpot stores the result as an ordinary property, so you can report on it, segment on it and drop it into a personalisation token like any other field.
The field type underneath is calculation_equation, and the equation can return a number, a boolean, a string, a date, a date-time or an enumeration value.3 Inside the editor you get thirteen operators and twenty-nine functions, including round_up, round_down, round_nearest, min, max, abs, sqrt, power, concatenate, contains, string_length, exchange_rate, and date helpers such as add_time, subtract_time and time_between.1 Formulas can nest up to seventy open parentheses.1
One constraint shapes everything else. A custom equation can only reference properties of the same object as the property you are creating.1 There is no reaching from a deal across to its line items, or from a contact across to its company, inside the formula editor. That job belongs to the other half of the feature.
A custom equation can only reference properties of the same object as the property you are creating. If the number you want lives on associated records, no formula will reach it, and you need a rollup property instead.
What is the difference between a calculated property and a rollup property?
A calculated property combines fields on one record. A rollup property aggregates a field across that record’s associated records and returns one of seven results: min, max, count, sum, average, earliest date or latest date.1 Most write-ups of this feature list five and miss the two date aggregations, which are the ones that answer questions like when a company’s first deal was created.
A rollup does not have to take every associated record. You can point it at specific association labels, including same-object associations, so a deal property can count only the associated contacts carrying the Decision maker label.1 You can also attach up to fifty number and enumeration conditions to a single rollup, which is how you get a sum that ignores everything under a threshold.1
The two get confused because they sit under the same Field type dropdown and both let HubSpot do the maths. They are different tools, and picking the wrong one costs an afternoon. Calculated properties work inside the record in front of you. Rollup properties reach one hop across an association.
| Attribute | Calculated property | Rollup property |
|---|---|---|
| What it reads | Properties on the same record | One property across associated records |
| Inputs | Number and enumeration properties on the same object | One number or date property on the associated object |
| Operations | 13 operators and 29 functions | Min, max, count, sum, average, earliest date, latest date |
| Association labels | Not applicable | Supported, including same-object associations |
| Conditions | Conditional statements inside the formula | Up to 50 number and enumeration conditions |
| Built by API | Yes, but the property can then only be edited by API | No documented API create path |
Which HubSpot plan do you need, and how many do you get?
Calculated and rollup properties are a Professional and Enterprise feature. HubSpot lists them on Marketing Hub, Sales Hub, Service Hub, Content Hub, Smart CRM and Revenue Hub at Professional and Enterprise, and on Data Hub at Professional only.1 They are not available on Starter or the free tools.
The count is capped, and the cap is lower than most portals expect. Smart CRM Professional includes forty calculated properties. Smart CRM Enterprise includes two hundred.2 That allowance is per account, not per object, and rollups come out of it too: HubSpot’s account limits view shows one Calculated properties line, not one for each type.4
You can buy more, up to a point. HubSpot sells the allowance in limit-increase packs of twenty-five, on Enterprise editions only, up to a hard ceiling of five hundred calculated properties per account.2 So the practical range for any portal is forty, two hundred, or two hundred plus whatever you are willing to pay for, and never more than five hundred.
Check what you have already spent before you plan a build, not after. Settings, then Properties, then Calculated Properties gives you the count, and the Limits tab in your account usage view shows it against your allowance.4 A portal that has quietly used thirty-eight of forty does not fail loudly. It just stops letting anyone add the next one.
How do you build one?
Open property settings for the object, create a new property, and choose Calculation or Rollup as the field type. Everything after that depends on which of the two you picked.
For a rollup, select the associated object and the property on it you want to aggregate, then the aggregation itself. Set the number format, which can be Formatted Number, Unformatted number, Currency, Percentage or Duration. If you are rolling up currency on a deal, the property uses your account’s company currency by default, and switching it to each record’s own currency changes only how the value is displayed. HubSpot does not apply an exchange rate for you; you have to call exchange_rate or dated_exchange_rate in a formula if you need one.1
For a custom equation, set the output type first. The type you select has to match the type your formula returns, or the property will not save at all.1 Build the formula with the Properties and Functions dropdowns rather than typing names by hand, then use Test formula to preview the result before you commit. Enumeration values in an equation have to be the option’s internal name in double quotes, not the label a user sees.1
You can also describe what you want in plain English and have HubSpot generate the formula for you.1 Treat that as a first draft and read the property references it chose, because a formula pointed at the wrong field still returns a number and still looks correct sitting on the record.
Once it is live, you do not maintain it. The value updates on its own as its source data changes, which is the whole reason for moving a number off a spreadsheet and onto the record. HubSpot does not publish a recalculation interval, so if a value has to be right at a precise moment, check it on a real record rather than assuming it is instant.
- 1Property settingsOpen property settings for the object: contact, company, deal, ticket or a custom object.
- 2Calculation or RollupCreate a new property and pick Calculation or Rollup as the field type.
- 3The inputsCalculation: pick same-object properties. Rollup: pick the associated object, its property, and any association labels.
- 4The mathsBuild the formula, or choose min, max, count, sum, average, earliest date or latest date.
- 5Output formatSet the output type and number format. The output type has to match what the formula returns or it will not save.
- 6Test, then createPreview with Test formula, then check the result on a record that has an empty input.
Where do calculated and rollup properties stop working?
The tier gate and the count cap are the two limits people find first. The five below are the ones that cost a build a day, because each of them fails quietly: the property saves, the record shows a value, and the value is wrong or missing on a subset of records nobody checks.
One empty input empties the whole property
If any number property in a custom equation has no value, the calculation does not run and the property comes back empty. That holds even when the equation also contains a constant number.1 HubSpot’s own fix is to wrap the input in the if and is_known functions and supply a zero.1 This is the most common reason a calculated property looks correct on the records you spot-check and blank on the ones you do not.
Time since and Time until cannot feed another calculation
Time since and Time until properties are not supported as inputs in calculation and rollup properties. They are also unsupported in custom report builder filters and in custom data sync field mappings.1 Time between is supported as an input, but Time between itself only works across properties of the same object.1 If your plan was to build a stage-ageing metric by stacking one time property on top of another, that is the wall.
There is a second trap in the same area. Once a time property is created you cannot change whether it is a Time between, a Time since or a Time until, although you can still swap which date properties it points at.1
Durations are stored in milliseconds and displayed in something else
Raw duration values are stored in milliseconds, and so are Time between and Average values.1 Feed one into another formula without converting and the answer comes back thousands of times too large, which reads as a data problem rather than a formula problem.
What the record shows is not the stored number either. Values display in seconds, minutes, hours, days, months or years depending on size, switching to minutes at 2.5 minutes, hours at 2.5 hours, days at one day, months at three months and years at 2.5 years.1 A date property with no timestamp calculates from midnight UTC, which is worth remembering in an Australian portal, where midnight UTC is mid-morning the same day.1 Date-time properties are stored as UTC epoch milliseconds and shown in the viewer’s own time zone, so two people in two offices can read the same record and see different values.1
A property built through the API can no longer be edited in the UI
HubSpot’s developer documentation is plain about this: calculation properties created via the API cannot be edited within HubSpot, only via the properties API.3 It is a one-way door, and the person it closes on is usually the admin who did not write the script. If a non-technical owner has to be able to change the field later, build it in the property editor.
One caveat here is ours rather than HubSpot’s, and we cannot point you at a document for it, so weigh it accordingly: we have seen property creates that carry a cross-object aggregation come back as a clean 201 with the aggregation silently dropped, leaving a plain, non-calculated property behind. The status code does not tell you. If you are scripting anywhere near these, read the property back after the create and check what you got.
They calculate forward, not backward
A calculated property produces values from the point you create it. It does not reconstruct what the number would have been on records that already existed. If you need a point-in-time view of last quarter, this is the wrong tool: a calculated property is a live value, not a history.
The same logic applies to the properties themselves. Every field a formula references becomes load-bearing, and renaming it, deleting it or changing its type breaks the calculation downstream, without that being visible from the property you are editing. A portal with five calculated properties is easy to hold in your head. A portal near the forty-property Professional cap, built by three people over two years, is not.
- One empty input blanks everything
- An empty number input stops the calculation and blanks the property, constants included. Fix it with if and is_known.
- Time since and Time until
- Not supported as inputs in calculation or rollup properties, in report builder filters, or in data sync field mappings.
- Milliseconds
- Durations, Time between and Average are stored in milliseconds. Displayed units shift with size, so the two rarely match.
- The API is a one-way door
- A calculation property created by API can only ever be edited by API, never in the HubSpot UI.
- No backfill
- Values start from creation. Nothing reconstructs what the number would have been on older records.
When should you use a workflow instead?
Use a calculated or rollup property when the maths is arithmetic, the inputs sit on one record or one association hop away, and the answer has to live on the record so lists, reports and personalisation tokens can read it. Deal weighted values, line item totals and counts of associated records are exactly the job it was built for.
Reach for a workflow, a custom coded action or your reporting layer instead when the logic is conditional rather than arithmetic, when it has to cross more than one association hop, when you need point-in-time history, or when somebody who does not write code has to be able to change it in six months.
There is a cheaper test than either, and it is the one most portals skip. Count how many of your forty or two hundred you have already spent. If a number is only ever read inside one report, build it in the report and keep the property allowance for values other tools have to see. If you are not sure what in your portal is load-bearing, that is what a systems audit finds before anything gets changed.
- Arithmetic, not conditional logic
- Inputs on the record or one association away
- The answer has to be readable by lists and reports
- Conditional logic
- More than one association hop
- Point-in-time history, or a non-technical owner who has to edit it later
Common questions
Do I need Professional or Enterprise for calculated properties?
Yes. HubSpot lists calculated and rollup properties on Marketing Hub, Sales Hub, Service Hub, Content Hub, Smart CRM and Revenue Hub at Professional and Enterprise, and on Data Hub at Professional. They are not available on Starter or on the free tools.
How many calculated properties can I create in HubSpot?
Smart CRM Professional includes forty and Smart CRM Enterprise includes two hundred, counted per account rather than per object. Rollup properties draw on the same allowance. HubSpot sells a limit increase in packs of twenty five on Enterprise editions, up to a ceiling of five hundred per account.
What is the difference between a calculated property and a rollup property?
A calculated property combines properties on the same record using a formula. A rollup property aggregates a property across associated records and returns a min, max, count, sum, average, earliest date or latest date. If the number you want lives on other records, you need a rollup.
Can I create calculation properties with the HubSpot API?
Yes, using the calculation_equation field type and the calculationFormula field. The catch is that a calculation property created through the API cannot afterwards be edited inside HubSpot, only through the properties API. If a non-technical admin needs to own the field, build it in the property editor instead.
Why is my calculated property empty on some records?
Usually because one of its number inputs is empty. If any number property in a custom equation has no value, the calculation does not run and the result is blank, even when the equation also contains a constant. Wrap the input in the if and is_known functions and supply a zero to get a number instead of nothing.
Can a calculated property use another calculated property as an input?
HubSpot documents one specific exclusion: Time since and Time until properties cannot be used as inputs in calculation or rollup properties. Other combinations are not prohibited, but chained calculations are harder to debug, because a wrong figure can start several properties upstream. Point formulas at values a person entered or a system synced in wherever you can.
What happens if I delete a property that a calculation depends on?
The calculation that references it breaks. Before you remove, rename or change the type of any property, check whether it feeds a calculation or a rollup elsewhere in the portal, because that dependency is not visible from the property you are editing. On a portal near the property cap, this is the change most likely to break something nobody remembers is connected.
Will a new calculated property fill in historical data?
No. A calculated property produces values from the moment it is created and does not reconstruct what the figure would have been on older records. Reports built on hand-entered numbers stay exactly as they were. Treat the new property as the source of truth from that date and tell your team where the cutover sits.
Sources
- Tier availability, the seven rollup types, the fifty conditions per rollup, the seventy-parenthesis nesting cap, the empty-input behaviour and the Time since and Time until restrictions are all set out in HubSpot's own article on the feature. HubSpot Knowledge Base, Create calculation and rollup properties, 2026 Article last updated 1 September 2026. Checked 13 September 2026.
- The per-tier count of calculated properties, and the ceiling a paid limit increase can raise it to, come from HubSpot's own product catalogue. HubSpot Product and Services Catalog, 2026 Smart CRM table, Calculated properties row, and the Calculated Properties Limit Increase add-on. Checked 13 September 2026.
- That a calculation property created through the API can no longer be edited inside HubSpot is stated in the Properties API reference. HubSpot Developer Docs, Properties API, 2026 Checked 13 September 2026.
- Calculated properties appear as a single line in the account limits view, alongside records, associations, custom properties and pipelines. HubSpot Knowledge Base, Track your CRM data usage, 2026 Checked 13 September 2026.