Calculated Values
Contents
Overview
Calculated Values execute an arbitrary expression to generate a custom value for inclusion in CSV exports, CRM integrations and search results.
Expressions are written in Common Expression Language. CEL expressions can be tricky to write so don't hesitate to ask for help.
Note: Calculated Values are only available on the Elite and Enterprise plans.
Creating a Calculated Value
To create a Calculated Value, go to the Calculated Value page and click the Add New Calculated Value button. You'll need to provide the follow fields to define the Calculated Value and then click the Save button:
- Name: The name of the calculated value.
- Expression: The expression that is evaluated against every domain. See some example expressions below.

Since expressions can be tricky to write, it helps to test the expression against a sample domain. To do so, simply click the Test Expression button.
Calculated Values in Search Results
To include Calculated Values in search results, click on the Calculated Values tab in the search result column picker. Then open the Calculated Values section and select the columns to include in search results.

Calculated Values in CSV Exports
To include Calculated Values in CSV exports, click on the Calculated Values tab in the Export dialog. Click the Add New Column button to add a one-time expression to the CSV export. Otherwise, you can address an expression in a saved Calculated Value.

Calculated Values in CRM Integrations
Calculated Values can also be used to write custom values to CRM Integrations. For more details, refer to our documentation for your CRM:
Example Expressions
Count the number of installed technologies:
has(_domain.technologies) ? _domain.technologies.size() : 0
Count the number of installed apps:
has(_domain.apps) ? _domain.apps.size() : 0
Count the number of technologies installed in the last 14 days:
has(_domain.technology_details) ? _domain.technology_details.filter(k, now - _domain.technology_details[k].installed_at < duration("336h") ).size() : 0
Count the number of apps installed in the last 14 days:
has(_domain.app_details) ? _domain.app_details.filter(k, now - _domain.app_details[k].installed_at < duration("336h") ).size() : 0
Determine whether a specific technology is installed:
has(_domain.technologies) ? _domain.technologies.contains('Affirm') : false
Filter list of technologies to only include specific technologies of interest (output as a comma-separated string):
has(_domain.technologies) ? _domain.technologies.filter(s, s in ['Collabstr', 'CreatorIQ'] ).join(',') : ''
Generate a list of unique apps and technologies installed on the domain.
Update: can now use the new app_and_tech_details attribute (see below).
( (has(_domain.technologies) ? _domain.technologies : []) + (has(_domain.app_details) ? _domain.app_details.map(k, has(_domain.app_details[k].technology) ? _domain.app_details[k].technology : _domain.app_details[k].name ) : []) ).unique().sort().join(',')
Generate a list of unique apps and technologies installed on the domain along with their install date.
(has(_domain.app_and_tech_details) ? _domain.app_and_tech_details.map(k, has(_domain.app_and_tech_details[k].installed_at) ? _domain.app_and_tech_details[k].name + "," + _domain.app_and_tech_details[k].installed_at.format("2006/01/02") : _domain.app_and_tech_details[k].name + ",unknown" ) : [] ).join(',')
Retrieving the name of the most-recently installed app or technology.
has(_domain.app_and_tech_details) && _domain.app_and_tech_details.size() > 0 ? _domain.app_and_tech_details.sort_by_installed_at("desc")[0].name : ''
Available Attributes
The following attributes are available for use within expressions. Please get in touch if you need access to additional attributes within expressions.
As an example, here is the full list of attributes available for a random Domain.
{ "_domain": { "administrative_area_level_1": "Wellington", "aliases": [ "www.goodasgoldshop.com" ], "alternates": null, "app_and_tech_details": { "Afterpay": { "installed_at": "2022-01-13T05:52:09Z", "installed_at_sfdc": "2022-01-13T05:52:09+00:00", "name": "Afterpay" }, "Campaign Monitor": { "installed_at": "2023-01-19T06:36:07Z", "installed_at_sfdc": "2023-01-19T06:36:07+00:00", "name": "Campaign Monitor" }, "Cloudflare": { "installed_at": "2023-11-01T11:49:45Z", "installed_at_sfdc": "2023-11-01T11:49:45+00:00", "name": "Cloudflare" }, "Cloudflare CDN": { "installed_at": "2021-06-08T15:41:32Z", "installed_at_sfdc": "2021-06-08T15:41:32+00:00", "name": "Cloudflare CDN" }, "Craft CMS": { "installed_at": "2021-06-02T15:50:10Z", "installed_at_sfdc": "2021-06-02T15:50:10+00:00", "name": "Craft CMS" }, "Facebook Pixel": { "installed_at": "2022-09-06T10:15:05Z", "installed_at_sfdc": "2022-09-06T10:15:05+00:00", "name": "Facebook Pixel" }, "Google Analytics": { "installed_at": "2021-06-02T15:50:10Z", "installed_at_sfdc": "2021-06-02T15:50:10+00:00", "name": "Google Analytics" }, "Klaviyo": { "installed_at": "2023-01-12T16:42:49Z", "installed_at_sfdc": "2023-01-12T16:42:49+00:00", "name": "Klaviyo" }, "Trustpilot": { "installed_at": "2021-12-09T23:22:36Z", "installed_at_sfdc": "2021-12-09T23:22:36+00:00", "name": "Trustpilot" } }, "avg_price": 0, "categories": [ "/Apparel/Footwear" ], "city": "Wellington", "combined_followers": 54145, "country_code": "NZ", "currency_code": "", "estimated_page_views": 0, "estimated_sales": 0, "estimated_visits": 0, "facebook_followers": 22000, "facebookgroup_followers": 0, "features": [ "Brands Page", "International Shipping", "Contact Page", "Tracking or Returns", "Tracking Page", "Has Blog" ], "instagram_followers": 30145, "klaviyo_features": [], "language_code": "en", "max_price": 0, "merchant_name": "Good as Gold", "min_price": 0, "name": "goodasgoldshop.com", "pinterest_followers": 2000, "plan": "", "platform": "custom", "platform_rank": 16137, "postal_code": "", "product_count": 2798, "rank": 63748, "shopify_app_names": [], "shopify_app_tokens": [], "state": "Active", "technologies": [ "Afterpay", "Campaign Monitor", "Cloudflare", "Cloudflare CDN", "Craft CMS", "Facebook Pixel", "Google Analytics", "Klaviyo", "Trustpilot" ], "technology_details": { "Afterpay": { "installed_at": "2022-01-13T05:52:09Z", "installed_at_sfdc": "2022-01-13T05:52:09+00:00", "name": "Afterpay" }, "Campaign Monitor": { "installed_at": "2023-01-19T06:36:07Z", "installed_at_sfdc": "2023-01-19T06:36:07+00:00", "name": "Campaign Monitor" }, "Cloudflare": { "installed_at": "2023-11-01T11:49:45Z", "installed_at_sfdc": "2023-11-01T11:49:45+00:00", "name": "Cloudflare" }, "Cloudflare CDN": { "installed_at": "2021-06-08T15:41:32Z", "installed_at_sfdc": "2021-06-08T15:41:32+00:00", "name": "Cloudflare CDN" }, "Craft CMS": { "installed_at": "2021-06-02T15:50:10Z", "installed_at_sfdc": "2021-06-02T15:50:10+00:00", "name": "Craft CMS" }, "Facebook Pixel": { "installed_at": "2022-09-06T10:15:05Z", "installed_at_sfdc": "2022-09-06T10:15:05+00:00", "name": "Facebook Pixel" }, "Google Analytics": { "installed_at": "2021-06-02T15:50:10Z", "installed_at_sfdc": "2021-06-02T15:50:10+00:00", "name": "Google Analytics" }, "Klaviyo": { "installed_at": "2023-01-12T16:42:49Z", "installed_at_sfdc": "2023-01-12T16:42:49+00:00", "name": "Klaviyo" }, "Trustpilot": { "installed_at": "2021-12-09T23:22:36Z", "installed_at_sfdc": "2021-12-09T23:22:36+00:00", "name": "Trustpilot" } }, "tiktok_followers": 0, "twitter_followers": 0, "youtube_followers": 0 }, "now": "2023-11-28T22:58:37.08329759Z" }