In this article:

Natero supports syncing of custom fields from your third party systems to your Natero instance for both accounts and users, provided that account/user mapping is defined. Custom fields enrich your customer data in Natero and allow for more flexible segmentation and in-depth analysis. 

Decide 3rd party fields

The first step is to decide which 3rd party fields you'd like to sync to Natero to complement your account/user data. Upon request, we can generate a pre-populated spreadsheet of all possible fields from your choice of 3rd party system, so you can pick the ones you'd like to sync. 

Alternatively, you can send us a list of fields with underlying names (NOT the display names) to be synced to Natero. Note that your plan tier decides how many 3rd party fields are allowed to be synced to Natero. 

Decide data types

The next step is to decide which type(s) of data those fields should be synced to Natero so you can manipulate the way you want for charting, alerting, health scoring and segmentation etc..

Natero supports the following data types for syncing custom fields:

1. Account custom dimensions

3rd party account fields can be synced as account custom dimensions. Natero will not track historical value for custom dimensions so you'll get a snapshot view of the latest value for each dimension synced across your accounts. Natero currently supports textual, numeric and date/event dimensions.

2. Account custom metrics

Natero also supports syncing 3rd party fields as account custom metrics. In which case, Natero will track the historical value of the fields synced (on a daily basis) so you can use that to plot a chart to view trends. This is only applicable for numeric fields. 

3. User custom dimensions

Natero supports syncing 3rd party fields as user level dimensions for textual, numeric and date/event values. Like account dimensions, Natero will not track historical value for user custom dimensions. 

Note that Natero does not support 3rd party fields syncing for user custom metrics, it should be sent to Natero via the JS library or Event API.  

Reverse syncing

Natero supports reverse syncing of certain native account & user dimensions and metrics back to your 3rd party system (e.g. account health score, user activity rank etc.). We don't have a predefined list of them, the feasibility of a particular field will be investigated upon request. 

Please specify the object under which your 3rd party field is located for us to reverse sync the value from Natero. 

Custom business logic

Natero can utilize internal triggers if you need to use complex rules to set account field values beyond simple field mapping. For example, a trigger could automatically churn any accounts that no longer have revenue and active subscriptions.

How often data is updated

Natero runs 3rd party connectors on a nightly basis so any update to the synced fields in your 3rd party system will be reflected within the next 24 hours. 

Natero alert rules and workflow auto-deployment rules typically run every three hours, and data in the custom dashboard are automatically refreshed every six hours. Natero runs account health score calculation on a nightly basis, but users can manually run the current health score configuration via the UI at any time. 

Internal triggers are maintained by Natero and typically run every six hours.

How to maintain data cleanness

The main focus should be on maintaining a clear account id across systems so that data from all sources can be properly mapped to the accounts in Natero. That's said, reducing the dependancies across multiple systems is recommended and will allow troubleshooting easier if there is a data discrepancy in Natero. 

Make sure you are only capturing the information you care about in your 3rd party systems. Or filters should be defined clearly to allow Natero to sync a subset of your data and leave the "garbage" out. 

Expected implementation timeline

We normally complete syncing of 3rd party fields within a couple of weeks. Reverse syncing will take slightly longer time as it requires custom coding and more testing.