> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conversion.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Field Sync Preferences

> Control how each field syncs between Conversion and Salesforce with five flexible sync modes.

Every field in Conversion has a sync mode that controls how data flows between Conversion and Salesforce. Understanding these modes helps you maintain data integrity and ensure the right system is the source of truth for each piece of information.

## What Are Sync Modes?

A sync mode determines two things for each field:

1. **Direction** – Does data flow from Salesforce to Conversion, from Conversion to Salesforce, or both?
2. **Conflict resolution** – When both systems have different values, which one wins?

You can configure sync modes independently for each field, giving you precise control over your data.

***

## The Five Sync Modes

Conversion offers five sync modes to handle different scenarios:

<CardGroup cols={2}>
  <Card title="Prefer Salesforce Unless Empty" icon="arrow-right-arrow-left">
    Salesforce is the source of truth, but Conversion can fill in gaps.
  </Card>

  <Card title="Always Prefer Salesforce" icon="arrow-right">
    Salesforce always wins. One-way sync into Conversion.
  </Card>

  <Card title="Always Prefer Conversion" icon="arrow-left">
    Conversion always wins. One-way sync to Salesforce.
  </Card>

  <Card title="Two-Way Sync" icon="arrows-rotate">
    Most recent update wins, regardless of which system made the change.
  </Card>

  <Card title="Do Not Sync" icon="ban">
    Field is not synced. Changes stay local to each system.
  </Card>
</CardGroup>

***

### Prefer Salesforce Unless Empty

<Info>
  **Default for most fields.** This is the most common sync mode and works well for the majority of use cases, including newly detected custom fields.
</Info>

**How it works:**

* Salesforce values always sync to Conversion
* Conversion values only sync to Salesforce when the Salesforce field is blank
* Once Salesforce has a value, Conversion won't overwrite it

**Best for:** Fields where sales reps maintain data in Salesforce, but you want marketing to fill in gaps from form submissions or enrichment.

<Accordion title="Example: Job Title field">
  **Scenario:** A lead fills out a form on your website with job title "Marketing Manager". Later, a sales rep updates their title in Salesforce to "Director of Marketing".

  | Event                                              | Salesforce Value      | Conversion Value  | Result                                       |
  | -------------------------------------------------- | --------------------- | ----------------- | -------------------------------------------- |
  | Form submission                                    | *(empty)*             | Marketing Manager | SF updated → "Marketing Manager"             |
  | Sales rep updates SF                               | Director of Marketing | Marketing Manager | Conversion updated → "Director of Marketing" |
  | Contact fills out another form with "VP Marketing" | Director of Marketing | VP Marketing      | **No change to SF** – SF value is protected  |

  The Salesforce value is protected once it exists. The form submission can't overwrite the sales rep's update.
</Accordion>

***

### Always Prefer Salesforce

**How it works:**

* Salesforce values always sync to Conversion
* Conversion never sends values back to Salesforce for this field
* This is a true one-way sync into Conversion

**Best for:** Read-only fields or any data that should only be managed in Salesforce.

<Accordion title="Example: Account Tier">
  **Scenario:** Your sales team classifies accounts into tiers (Strategic, Enterprise, Mid-Market, SMB) based on relationship factors and revenue potential that only they can assess.

  | Event                          | Salesforce Value | Conversion Value | Result                                            |
  | ------------------------------ | ---------------- | ---------------- | ------------------------------------------------- |
  | Initial sync                   | Enterprise       | *(empty)*        | Conversion updated → "Enterprise"                 |
  | Sales rep upgrades tier        | Strategic        | Enterprise       | Conversion updated → "Strategic"                  |
  | Form submission includes "SMB" | Strategic        | Strategic        | **No change to SF** – Conversion cannot overwrite |

  Sales maintains complete control over account classification. Even if a contact self-selects a company size on a form, it won't affect the tier that sales has assigned.
</Accordion>

<Tip>
  This mode is automatically applied to read-only Salesforce fields when they're first detected. See [Automatic Sync Mode Assignment](#automatic-sync-mode-assignment) for details.
</Tip>

***

### Always Prefer Conversion

**How it works:**

* Conversion values always sync to Salesforce
* Salesforce values never sync to Conversion for this field
* This is a true one-way sync to Salesforce

**Best for:** Marketing-owned fields like UTM parameters, traffic source, or engagement scores that Conversion tracks and pushes to Salesforce.

<Accordion title="Example: First Traffic Source">
  **Scenario:** Conversion tracks where each contact originally came from (organic search, paid ad, referral, etc.).

  | Event                              | Conversion Value | Salesforce Value | Result                             |
  | ---------------------------------- | ---------------- | ---------------- | ---------------------------------- |
  | Contact created from Google ad     | Paid Search      | *(empty)*        | SF updated → "Paid Search"         |
  | Someone edits SF field to "Direct" | Paid Search      | Direct           | **SF overwritten** → "Paid Search" |

  Conversion is the source of truth for this field. Even if someone changes it in Salesforce, Conversion will restore its value if the field is updated later.
</Accordion>

<Warning>
  Use this mode carefully. Changes made directly in Salesforce will diverge from Conversion's values until the field is updated in Conversion again.
</Warning>

***

### Two-Way Sync

**How it works:**

* Both systems can update each other
* When there's a conflict, the most recently updated value wins
* Conversion compares timestamps to determine which value is newer

**Best for:** Fields that are legitimately edited in both systems, where you always want the latest information regardless of where it was entered.

<Accordion title="Example: Phone Number">
  **Scenario:** A contact's phone number might be updated by a sales rep in Salesforce or by the contact themselves via a form in Conversion.

  | Event                          | Timestamp | Salesforce Value | Conversion Value | Result                        |
  | ------------------------------ | --------- | ---------------- | ---------------- | ----------------------------- |
  | Initial sync                   | 9:00 AM   | 555-0100         | 555-0100         | In sync                       |
  | Contact updates via form       | 2:00 PM   | 555-0100         | 555-0199         | SF updated → 555-0199         |
  | Sales rep updates SF           | 3:30 PM   | 555-0200         | 555-0199         | Conversion updated → 555-0200 |
  | Contact updates via form again | 4:00 PM   | 555-0200         | 555-0201         | SF updated → 555-0201         |

  The most recent change always wins, keeping both systems up to date with the latest information.
</Accordion>

<Info>
  **Timestamp comparison:** Conversion compares Salesforce's `LastModifiedDate` against the individual field's last update time in Conversion. In the rare case of identical timestamps, Salesforce wins.

  One important difference: Salesforce only provides a record-level timestamp, not field-level. So when *any* field changes in Salesforce, all fields are treated as updated at that time. Conversion tracks field-level timestamps, so only fields updated more recently than the Salesforce record are pushed back.
</Info>

***

### Do Not Sync

**How it works:**

* The field exists in both systems but is never synchronized
* Changes in Salesforce stay in Salesforce
* Changes in Conversion stay in Conversion

**Best for:** Fields that serve different purposes in each system

<Accordion title="Example: Internal Notes">
  **Scenario:** Both systems have a "Description" field, but they're used for different purposes – marketing notes in Conversion and sales notes in Salesforce.

  | Event                        | Salesforce Value                        | Conversion Value                             | Result                                  |
  | ---------------------------- | --------------------------------------- | -------------------------------------------- | --------------------------------------- |
  | Initial state                | "Enterprise prospect, 6-month timeline" | "Downloaded pricing guide, attended webinar" | **No sync** – values remain independent |
  | Sales rep updates SF         | "Meeting scheduled for Friday"          | "Downloaded pricing guide, attended webinar" | **No sync**                             |
  | Marketing updates Conversion | "Meeting scheduled for Friday"          | "Requested demo via chatbot"                 | **No sync**                             |

  Each team maintains their own notes without interference.
</Accordion>

<Note>
  Do Not Sync is only available for some default fields whose mappings to Salesforce fields cannot be deleted. For custom fields, deleting the field mapping has the same effect as Do Not Sync.
</Note>

***

## Sync Mode Comparison

Use this table to quickly compare all five sync modes:

| Mode                         | Salesforce → Conversion | Conversion → Salesforce | Who Wins Conflicts        |
| :--------------------------- | :---------------------- | :---------------------- | ------------------------- |
| **Prefer SF Unless Empty**   | Always                  | Only if SF is blank     | Salesforce (unless blank) |
| **Always Prefer SF**         | Always                  | Never                   | Salesforce always         |
| **Always Prefer Conversion** | Never                   | Always                  | Conversion always         |
| **Two-Way Sync**             | Yes                     | Yes                     | Most recent update        |
| **Do Not Sync**              | Never                   | Never                   | N/A (no sync)             |

***

## Sync Mode Restrictions

Some fields have restrictions on which sync modes are available. This ensures data integrity for critical fields.

### Fields with Limited Sync Mode Options

| Field Type             | Available Modes                       | Why                                                       |
| ---------------------- | ------------------------------------- | --------------------------------------------------------- |
| **Email**              | Two-Way Sync only                     | Email is the unique identifier and must stay synchronized |
| **Last Name**          | Prefer SF Unless Empty, Two-Way Sync  | Required field in Salesforce – must be able to sync       |
| **Company Name**       | Prefer SF Unless Empty, Two-Way Sync  | Required field in Salesforce – must be able to sync       |
| **Owner**              | Prefer SF Unless Empty, Two-Way Sync  | Critical for assignment rules and routing                 |
| **System Source**      | Always Prefer Conversion, Do Not Sync | Conversion-managed field tracking record origin           |
| **Traffic/UTM Fields** | Always Prefer Conversion, Do Not Sync | First-touch attribution data owned by Conversion          |

### Standard Fields

Most standard fields support four sync modes:

* Prefer Salesforce Unless Empty
* Always Prefer Salesforce
* Two-Way Sync
* Do Not Sync

<Note>
  "Always Prefer Conversion" is not available for most standard fields to prevent accidentally overwriting important Salesforce data. It's primarily available for Conversion-managed fields like traffic source and UTM parameters.
</Note>

### Custom Fields

When Conversion detects new custom fields in Salesforce:

* **Editable fields** default to **Prefer Salesforce Unless Empty** and can be changed to any available mode
* **Read-only fields** default to **Always Prefer Salesforce** and cannot be changed while the field remains read-only in Salesforce

***

## Changing Sync Modes

You can change sync modes at any time for fields that allow it:

<Steps>
  <Step title="Navigate to field settings">
    Go to **Settings → Fields** in your Conversion workspace.
  </Step>

  <Step title="Find the field">
    Use the search or browse to locate the field you want to modify.
  </Step>

  <Step title="Update the sync mode">
    Click on the field, select a new sync mode from the available options, and save.
  </Step>
</Steps>

<Warning>
  **Changes apply to future syncs only.** Changing a sync mode doesn't retroactively update existing values. If you switch a field from "Do Not Sync" to "Two-Way Sync," values won't immediately synchronize – they'll sync the next time either system updates that field.
</Warning>

***

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="What happens if I change a sync mode?">
    The new mode takes effect immediately for future syncs. Existing values aren't automatically synchronized – they'll update the next time either Salesforce or Conversion modifies that field.
  </Accordion>

  <Accordion title="Can I have different sync modes for the same field on Leads vs. Contacts?">
    No. Sync modes are set per Conversion field and apply to all Salesforce objects that field is mapped to. If `job_title` is mapped to both `Lead.Title` and `Contact.Title`, both use the same sync mode.
  </Accordion>

  <Accordion title="Why can't I select 'Always Prefer Conversion' for some fields?">
    Some fields, particularly standard Salesforce fields, restrict this mode to prevent accidentally overwriting critical data. This protection ensures sales data isn't inadvertently replaced by marketing updates.
  </Accordion>

  <Accordion title="What if timestamps are identical in Two-Way Sync?">
    In the rare case where both systems have exactly the same timestamp, Salesforce wins. This is an edge case that rarely occurs in practice.
  </Accordion>

  <Accordion title="Do sync modes affect the initial sync?">
    Yes. During the initial sync, Conversion uses your configured sync modes to determine how to handle each field. This is why it's helpful to review your sync modes before connecting Salesforce.
  </Accordion>

  <Accordion title="Can I set a default sync mode for new custom fields?">
    Currently, new custom fields detected from Salesforce default to **Prefer Salesforce Unless Empty** (or **Always Prefer Salesforce** if read-only). You can change editable fields individually after they're detected.
  </Accordion>

  <Accordion title="What's the difference between 'Prefer SF Unless Empty' and 'Always Prefer SF'?">
    With "Prefer SF Unless Empty," Conversion can fill in blank Salesforce fields. With "Always Prefer SF," Conversion never writes to Salesforce for that field—even if Salesforce's value is blank.
  </Accordion>
</AccordionGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Field Mappings" icon="link" href="/product-docs/sync/salesforce/field-mappings">
    Learn how fields are mapped between Salesforce and Conversion
  </Card>

  <Card title="Default Fields Reference" icon="list" href="/product-docs/records/contacts/default-fields">
    See all default fields and their sync mode options
  </Card>
</CardGroup>
