Skip to main content
New Idea

Allow SFDC Contacts to be the source of truth in Gainsight instead of Company Person/Person

Related products:CS Data Management & Integrations
  • July 22, 2026
  • 2 replies
  • 18 views

spencer_engel
Forum|alt.badge.img+6

I find myself spending a lot of time architecting our Company Person model in such a way that will optimize what our system. The problem, though, is there has never really been a perfect - or even decent - blueprint as to how to do this, especially for customers like us (and my previous org) who use the Account Contact Relationship object.

 

Plus, Gainsight’s arcane “Load to People” action makes updating/upserting to Company Person even harder than it already is, as I’ve already outlined below.

 

 

Here are just a few of the common issues I’m constantly playing whack-a-mole with:

 

  • Duplicate and orphaned records: Contacts that exist in Salesforce but don't cleanly map to a Company Person, or Person records that linger in Gainsight long after they've been deactivated or deleted in Salesforce.
  • Sync headaches: Field mapping mismatches, sync failures, and contacts that show up in one system but not the other.
  • Admin overhead: Time spent building and maintaining rules, connector jobs, and data management plays just to keep contacts in a usable state.
  • End-user confusion: CSMs logging Timeline activities to stale contacts because the Person model hasn't caught up with what Salesforce already knows.

 

I presume the initial intent behind the Person object was to make Gainsight CRM-agnostic, which I understand. But let’s be realistic here - we know Salesforce still is the predominant CRM, which is reflected in the fact its related list functionality, connectors, etc. are all much more well-developed and high-functioning than other CRM competitors. So why not acknowledge this by allowing Salesforce contacts to be the source of truth for Timeline activities, JO Programs, and more if admins so choose? This would presumably have the added benefit for Gainsight of deflecting a lot of support tickets and cleaner customer data. 

 

The bottom line is contact cleanliness is already a difficult issue for pretty much every business. Forcing customers to use the Person/Company Person model compounds the problem.

2 replies

jason_metzler
Forum|alt.badge.img+2
  • Helper ⭐️⭐️
  • July 22, 2026

I think the Person architecture is over-engineered and, a pain to work with. Data loads through rules instead of a 1:1 connection, the connectors themselves are difficult, and the result is a steady stream of duplicates that are hard to manage at any scale.

I'd love the option to rely solely on SFDC Contact instead. The human-first intent behind Person made sense on paper — give Gainsight contacts a real identity beyond just a CRM record — but in practice it's created ongoing admin overhead and an inevitable delta between Gainsight and Salesforce that end users can never wrap their heads around.

Short of that, the compromise is a genuinely solid connector that keeps Person in sync with SFDC natively, without me having to babysit it. Every company I've worked at has eventually needed a dedicated cleanup project for Gainsight Person data. That's time I'd rather spend on work that actually moves the needle for CS.


darkknight
Forum|alt.badge.img+6
  • Expert ⭐️
  • July 23, 2026

I could not agree with this more and wish I had 💯 x 💯 votes to give this.


Ever since Gainsight NXT arrived and GS shifted away from allowing Salesforce Contacts to be used for things like external attendees, etc. contact management has been a blight on productivity, introducing unnecessary administrative overhead and confusion for both admins and end users. 

As ​@spencer_engel noted, Gainsight needed a contact management function that wasn’t tied to Salesforce so they could expand their footprint beyond Salesforce. I get it. But for those of us who remain dependent on Salesforce, and upstream data management processes and hygiene (or lack thereof) out of our direct control, the People model is an absolute nightmare trying to keep in sync between platforms and trying to explain to users why there are two different, but same entities, that must be kept in sync.

@spencer_engel covered well the list of common issues we run into.

As a supporting example, I discovered recently that our community management team has been changing the email address and account assignments on existing Contacts (rather than creating a new Contact on the target account and flagging the old Contact as no longer active) which created this issue where the Person record gets it’s email address changed (because SFDC Contact ID and Email are my sync keys) resulting in a new Company Person getting created on the “new” account, and the email address getting updated on the Company Person mapped to the “old” account.  So the “old” CP is still active but with the individuals “new” company domain email address.  And these issues aren’t surfaced in Data Steward.

We also intentionally disabled the ability for users to create Persons/Company Persons in Gainsight because trying to keep them reciprocally synced was proving to be a big challenge, so now we surface Person and Contact reports on C360 instead of the Person widget.

IMHO this is the single most frustrating source of administrative (and end user) headaches, complications and challenges in Gainsight.