Vitally can potentially integrate with a slew of different tools, including Segment, Stripe, Salesforce, etc. One of the main goals for plugging these tools into a product like Vitally is having a centralized view of your customer data (i.e. 360° profiles).
Trying to organize data from disparate systems is a complex problem. One mistake, and you have duplicate accounts in Vitally 😔The best way to avoid that is to track what we call an external ID in all your systems.
An external ID is simply a unique ID given to an account or user. It is used to accurately tie customer data from one tool (e.g. from Salesforce) with another (e.g. from Stripe).
99% of the time, we recommend using the primary ID given to the account/user in your database. If you aren't familiar with how databases work, whenever data gets created, it is given a unique ID in the table it is created within. That ID is typically best to push to all your other systems.
When setting up integrations in Vitally, you'll commonly be asked if/how an account's or user's external ID is tracked in the tool being integrated. How to track external IDs varies per integration.
Some systems, like Intercom, have standard fields for setting external IDs (e.g. the
company_id field for Intercom companies and the first argument passed in Segment
group calls). However, many don't. For example, in Stripe, we recommend using Stripe's metadata to add external IDs since they don't have a standard ID field you can set.
As we pull in data from your integrations, we grab the external ID off the record sent to us from the tool. We then do a lookup across the accounts/users that already exist in Vitally for an account/user with the same ID. If we find one, we update that account/user in Vitally. If not, we create a new one.