HubSpot Ideas


Custom numeric formats

I've seen separate ideas and community posts to customize phone number formats, date formats, quote amount formats etc., but what I haven't seen is something that I think is the single solution for all of that:


Being able to create custom numeric and date formats in a centralized location, so that when creating form fields, personalization tokens etc., you have more control over the formatting. As opposed to just formated number, unformated number and currency. 


Use case

I was building a custom object for one of our clients. They sell heavy machinery and store all this information about it in Hubspot, including a lot of numeric stuff. Some of it is in weight (kg), other in volt and ampera, some in cm or mm... Some of it is whole numbers, others with several decimals, etc. 


In Hubspot, there's no way to indicate that a number is anything other than a formatted or unformatted number. Would be great for CRM users if they can see what the unit and display format is as well.


The solution

I've often worked with Oracle Eloqua. Despite its many faults, this is something they've solved quite nicely. You can build display formats for numbers and dates in a separate area of the settings. Then when creating fields, forms, etc., you can select the display format used in this context. Here are some screenshots that pretty much speak for themselves I think:

Creating a display format for numbersCreating a display format for numbers


Creating a display format for datesCreating a display format for dates


Selecting the format when creating a fieldSelecting the format when creating a field


Specifically interesting is that you can include any type of text into the display format, enclosed within 's. That way you can easily create your own units, without having to provide an exhaustive list of units from Hubspot's side. Benefit of this is that whenever a value is entered for the field, whoever enters it can just input a number, i.e. 2000, and the correct unit will always be displayed, i.e. 2000 kg. No variations like kg, KG or k. 

This goes for e-mails, landing pages, etc. wherever a personalization token is used, as well as in CRM and reports. 


It would be great to have this in Hubspot, so that we can prevent confusion about the data that should be input into a field, CRM users can more easily read field information, and marketing users have minimal formatting to do when using this information in personalization tokens.

4 Kommentare

Agree with the idea. we need this feature also, to make the dashboard shorten otherwise we can't see all the number in table view

Stratege/Strategin | Elite Partner

We need this for product properties to make extra currency properties but I can see this being useful in other cases too.


UPDATE: The functionaltiy I reqested already exists.  In property settings, product properties, you can select the field type number, a second drop down lets you pick the format: formatted (12,345.67), unformatted (123456) or curency ($12,345.67).


At least there should be a standard Format for "Switzerland".  Thank you!

Format: 16.09.2021 and 1'234.55


But there is another issue. Changing this format in "Account Defaults -> User Defaults" to whatever, the Currency format is alwas in format 1.234,55 CHF. And this does not correspond to a format used in daily life.  In Switzerland the decimal sparator is usually a dot (.), and not a comma (,). 




I had this same issue. I needed to format a long natural number with dots. For example display 1200300 as 1.200.300

I ended up writing a custom macro:


{% macro format_number_with_dots(number) %}
{% set number_split = number | string | reverse | list | slice("3") | reverse %}
{% for triplet in number_split %}{% for digit in triplet|reverse%}{{digit}}{% endfor %}{% unless loop.last%}.{% endunless %}{% endfor %}
{% endmacro %}


Short explanation: the number is split in triplets of 3 digits using the slice filter. For this, the number is first reversed, so that the triplets are counted starting from the end. Then, they are reversed again and written out from the start. After each triplet there is a dot, except for the last triplet (% unless loop.last  %).

This can be easily modified for other formats, for example using commas as separators.