When a contact changes employer in Salesforce, the activities associated with them move to the new account. To most people encountering this for the first time, it looks like a data error. Activities logged against one firm are now sitting under a different firm entirely. The old account looks quiet. The new account has history it did not earn.

It is not a bug. It is a deliberate design decision with a coherent logic, and once that logic is understood, the behaviour becomes predictable rather than surprising.

Why activities follow the contact

Salesforce is built around a person-centric relationship model. An activity, a logged call, a sent email, a completed task, belongs to the person it was conducted with. When the contact record changes accounts, the system reflects the contact’s current reality. The account record is a live view of who works there now and what interactions the firm has had with those people.

This is useful. A salesperson walking into a meeting at a new firm can see all previous conversations the team has had with the people sitting across the table, regardless of where those people worked before. The contact record holds the complete history.

The confusion arises when someone looks at an old account and finds it quieter than expected. The activity did not disappear. It moved with the people who left.

The account record is a live view. The contact record is the archive.

The setting most implementations never mention

There is a Salesforce setting called “Roll up activities to a contact’s primary account.” When this is enabled, activities linked to a contact automatically appear on that contact’s current primary account. When a contact moves, those activities follow the new account relationship.

This setting is on by default. Most implementations never surface it, which means most Salesforce administrators are unaware it exists until something confusing happens.

Turning it off changes the behaviour: activities only appear on records they are explicitly linked to via the “Related To” field. If that field is blank, the activity does not appear on any account at all.

Disabling it sounds appealing in theory. In practice, for most established Salesforce orgs, the historical data makes it unworkable. Activities logged over years without explicit account associations would simply disappear from account timelines. The cure is worse than the condition.

Every activity in Salesforce has a “Related To” field, technically the WhatId. This field explicitly associates the activity with a specific record, typically an account or an opportunity. It is separate from the contact association.

The WhatId creates an anchor. When it is populated, the activity stays connected to that record regardless of where the contact moves. The rollup setting then determines whether it also appears on the contact’s new primary account.

The hierarchy works like this:

  • Activity with no WhatId: follows the contact to the new account via the rollup setting
  • Activity with an account in the WhatId: stays on that account, and also rolls up to the new account if rollup is enabled
  • Activity with an opportunity in the WhatId: stays on the opportunity and its associated account, does not move with the contact at all

The third scenario is the most stable. Activities tied to opportunities are anchored to the deal, not the person, so they remain under the correct account even after a contact changes companies. This is why opportunity-linked activity often looks more reliable than general contact activity over time.

What this means in practice

For any team that tracks relationships across organisations where staff turnover is common, the contact record is the authoritative source of history. The account record tells you who is there now and what conversations are active. The contact record tells you everything that has ever happened with a person, regardless of where they have worked.

The correct mental model is not that activities belong to a company. They belong to a relationship. Salesforce reflects that by keeping the history with the person.

For teams encountering this behaviour for the first time, the explanation is straightforward: when someone moves companies in Salesforce, their history moves with them, because it is their history. The account they left will look quieter. That is accurate. The people who generated that activity are gone.

When to revisit the settings

Changing the rollup setting in an established org is a significant decision. Before doing so, it is worth auditing what proportion of activities have explicit WhatId values. In most orgs where activities are synced from an email integration, that proportion is low. Turning off rollup in that environment would make a large share of activity invisible at the account level.

For new implementations, building a default account association into activity creation via a Flow is straightforward and avoids the problem from the start. For existing orgs, the pragmatic position is to leave the setting as-is and ensure the team understands what they are looking at.

The behaviour is logical. The gap is documentation.


Q: When a contact moves companies in Salesforce, where does their activity history go?

Activity history moves to the contact’s new primary account by default. This is controlled by the “Roll up activities to a contact’s primary account” setting, which is enabled in most Salesforce orgs. The contact record itself retains the complete history regardless of account changes. To see a person’s full interaction history, the contact record is the correct place to look.

Q: Why does an old account in Salesforce look quiet after staff leave?

When contacts move to new companies, their activity history moves with them to the new account. The old account loses the visible activity associated with people who no longer work there. The activity still exists on those contact records. It is not lost, it has simply followed the people rather than staying attached to the firm they left.

Q: What is the “Roll up activities to a contact’s primary account” setting in Salesforce?

This is a system setting that controls whether activities associated with a contact automatically appear on that contact’s primary account. When enabled, activity follows the contact’s current account relationship. When disabled, activity only appears on records explicitly linked via the “Related To” field. The setting is on by default and most Salesforce orgs have never changed it.

Q: Does an activity linked to a Salesforce opportunity stay on the original account when a contact moves?

Yes. Activities associated with an opportunity via the “Related To” field are anchored to that opportunity and its account. They do not move when the contact changes employer. Opportunity-linked activities are the most stable form of activity record in Salesforce for this reason, as the account association is explicit rather than derived from the contact relationship.

Q: Should the activity rollup setting be turned off to fix the contact-moves-company problem?

Generally no, particularly in established orgs. Disabling the rollup setting means activities only appear on accounts where they are explicitly linked via the “Related To” field. For most orgs where email and calendar integrations generate activities without explicit account associations, disabling rollup would make a significant volume of historical activity invisible at the account level. The better approach is to understand and communicate the existing behaviour.