How to integrate with Salesforce CRM

Estimated 9 minute read

|

Updated Feb 24, 2026, 12:00 AM EST

Table of contents

You will learn

Learn how to integrate Salesforce CRM with Klaviyo. This integration makes it easy to connect your Salesforce account, choose which objects to sync, and map fields—all through a guided, in-app setup flow.

With this integration, Klaviyo can automatically sync Salesforce data (such as Leads or Contacts) into Klaviyo profiles, allowing you to personalize messaging and segment customers using CRM data.

Before you begin

Before you start, make sure that:

  • You are logged in to your Salesforce account.
  • If your business has multiple Salesforce organizations, you are logged in to the correct organization.
  • You have admin access to your Salesforce account.
  • Your Salesforce organization has API access, and your Salesforce user has permission to use the API.

Connect Salesforce to Klaviyo

  1. Log in to Klaviyo. Then, select the Integrations tab.
  2. Click Explore apps to open the Klaviyo App Marketplace. Search for and open the Salesforce app listing. Then, click Install.
  3. You will be redirected into the Salesforce integration setup flow. For step 1, select whether you are connecting to a Production or Sandbox Salesforce organization, then click Install Klaviyo client app.

Klaviyo's Salesforce integration page, showing 'Production' organization type selected and an arrow pointing to the 'Install Klaviyo client app' button.

  1. In Salesforce, follow the installation wizard to acknowledge and install the “Klaviyo Salesforce OAuth Connector” package in the Salesforce organization you are connecting to Klaviyo.

How to integrate with Salesforce CRM - 图2

  1. Once installation is complete, return to the Salesforce integration setup page in Klaviyo. Then follow step 2 and click Connect to Salesforce.

Salesforce integration setup page with Klaviyo, highlighting the “Connect to Salesforce” step.

  1. Click Allow to complete the OAuth flow and finish connecting Klaviyo to Salesforce.

Salesforce 'Allow Access?' screen displaying a security warning about the Klaviyo Salesforce OAuth Connector requesting data access, with the 'Allow' button highlighted.

Choose Salesforce objects to sync

After connecting, you’ll be prompted to select which Salesforce objects you want to sync into Klaviyo.

You can now choose up to 3 objects to sync into Klaviyo. Available options include:

  • Lead - Potential customers who have shown interest in your Salesforce products or services
  • Contact - Individuals associated with accounts in your Salesforce organization
  • Account - Organizations or individuals involved with your business (such as customers, competitors, and partners)
  • Opportunity - Potential sales or deals
  • Other - Enter a comma-separated list of additional Salesforce object names, such as Case or Order. The objects must be available in your Salesforce organization.

Objects synced from Salesforce will be created or updated as Klaviyo profiles. When syncing multiple objects:

  • Records with valid email addresses from all selected objects will sync to Klaviyo.
  • If a record’s email address matches an existing Klaviyo profile, that profile will be updated.
  • If the record does not match an existing Klaviyo profile, a new profile will be created.
  • If the same person exists across multiple synced objects with the same email address, Klaviyo will consolidate them into a single profile based on email. (Field mappings are configured per object in the next step.)

Once you’ve selected your objects, click Next to configure their field mappings.

How to integrate with Salesforce CRM - 图5

How to integrate with Salesforce CRM - 图6

Map Salesforce fields to Klaviyo properties

Next, you’ll map Salesforce fields to Klaviyo profile properties. Core mappings such as email, phone number, first name, and last name are pre-mapped when those fields are available on the selected object. Each object requires a Salesforce field containing valid email addresses mapped to Klaviyo’s Email property.

When you’ve selected multiple Salesforce objects to sync, you’ll configure field mappings separately for each object. This allows you to control which fields from each object become Klaviyo profile properties.

Add or edit mappings

  • Use Add mapping to map additional Salesforce fields for the currently selected object.
  • Select a Salesforce field on the left and the corresponding Klaviyo property on the right.
  • Remove mappings using the trash icon if needed.
  • Repeat this process for each synced object.

If the same Klaviyo profile property (for example, Phone Number or City) is mapped from multiple Salesforce objects, syncing one object can overwrite the value synced from another. Map the fields to separate custom properties if you need to keep each object’s value.

Screenshot 2026-01-20 at 3.31.46 PM.png

Screenshot 2026-01-20 at 3.31.46 PM.png

Import mappings via CSV (optional)

CSV imports replace all existing field mappings for the selected object. If a field is not included in the file, it will be removed from your configuration. To avoid interruptions to syncing, confirm your CSV includes all required fields (such as Email) and any additional fields you want to continue syncing.

To import your mappings via CSV:

  1. Click the dropdown next to Add mapping, then select Import mappings.
  2. Click Download CSV template.
  3. Add your Salesforce → Klaviyo field mapping to the CSV template.
  4. Upload the completed CSV, then click Import to apply the mappings in bulk.

Screenshot 2026-01-20 at 3.32.11 PM.png

Screenshot 2026-01-20 at 3.32.11 PM.png

Unsubscribe handling (optional)

Select Sync unsubscribes from Salesforce to mark the Klaviyo profile as unsubscribed from email when Email Opt Out is true in Salesforce. This option is available only when the selected object has the Email Opt Out field. Changing Email Opt Out back to false does not resubscribe the profile in Klaviyo.

If you selected multiple objects, click Next after configuring each object to move to the next one. On the last object, complete setup as described below.

Complete setup

Once your mappings are complete, click Complete setup. Klaviyo will finalize the integration (this usually takes a few seconds). You’ll see a confirmation message once your Salesforce account is successfully connected and syncing.

Monitor Salesforce sync and verify data

The Salesforce integration syncs to Klaviyo every hour.

Check profile data

  1. Go to Audience > Profiles.
  2. Search for a Salesforce record’s email address and press Enter.
  3. Open the matching profile and compare its mapped properties with Salesforce.

If you sync the Lead object, also check Became Lead events:

  1. Go to Analytics > Metrics, filter by Salesforce, and click Became Lead. Select Activity feed.
  2. If your integration has started syncing data, you will see Became Lead events, with the Salesforce icon, added to this activity feed.
  3. To compare daily lead activity, select Chart and use the same date range as in Salesforce. Only records with valid email addresses sync, and multiple records with the same email address can share a Klaviyo profile.
  4. Hover over yesterday’s data point or use the table below the chart to check the number of Became Lead events, then compare it with your Salesforce lead data.
  5. If counts differ, check that you are comparing the same time zone and allow for the hourly sync. Also check for missing or invalid email addresses. To check your Klaviyo time zone:
  6. Click your account name in the lower left.
  7. Select Settings > Account.
  8. Scroll down to Time zone.

Salesforce metrics and profile properties in Klaviyo

Klaviyo syncs the Became Lead metric when you sync the Lead object. The event uses the lead’s creation date in Salesforce and does not include Salesforce fields in its event data. Other Salesforce objects update profile properties without creating Became Lead events.

Screenshot 2026-01-20 at 3.25.16 PM.png

Screenshot 2026-01-20 at 3.25.16 PM.png

The profile properties synced from each object depend on its field mappings. When the corresponding Salesforce fields are available, Klaviyo pre-fills these mappings:

  • FirstName → First Name
  • LastName → Last Name
  • Title → Title
  • Company → Organization
  • Street → Address 1
  • City → City
  • State → Region
  • PostalCode → Zip Code
  • Country → Country
  • Latitude → Latitude
  • Longitude → Longitude
  • Phone → Phone Number
  • Email → Email

To sync other available fields, such as Website, LeadSource, Status, Industry, or NumberOfEmployees, add mappings for them.

You can then use these properties in segments, in flows, and to dynamically populate customer properties into your message templates.

Troubleshooting

Issues with installation and authentication

Migrate from basic auth to OAuth

If you set up the Salesforce integration before OAuth was supported, your Salesforce application may be connected to Klaviyo using basic authentication.

If your integration shows OAuth authentication is now required, migrate using the steps below. While this migration prompt is shown, you cannot update the basic authentication credentials in Klaviyo.

  1. Log in to the Salesforce Organization that is connected with Klaviyo.
  2. In Klaviyo, open your Salesforce integration’s Settings tab. In the OAuth authentication is now required banner, click external Klaviyo app to install the “Klaviyo Salesforce OAuth Connector” package in the connected Salesforce organization.

How to integrate with Salesforce CRM - 图13

  1. Once installation is finished, return to your Salesforce integration’s Settings tab and click Update. When prompted in Salesforce, click Allow to finish connecting.

A warning on an integration settings page indicates OAuth authentication is now required for Salesforce, prompting the user to install the external Klaviyo app and click 'Update'.

For more information, take a look at the “Connect Salesforce to Klaviyo” section at the top of this guide.

Error “External Klaviyo app isn't installed. Install it then try again.”

This error indicates the Salesforce Org you are trying to authenticate (or re-authenticate) with does not have the “Klaviyo Salesforce OAuth Connector” package installed.

Please ensure that:

  1. You are logged into Salesforce.
  2. You are logged into the Salesforce organization that is integrated with Klaviyo. If your business has multiple Salesforce organizations, you may be logged into the wrong organization.
  3. If you are logged into the correct Salesforce organization and are still getting this error, search your installed packages in Salesforce to verify whether the “Klaviyo Salesforce OAuth Connector” package is installed. If it isn’t installed, repeat step 1 in the integration setup flow to install the package (see “Connect Salesforce to Klaviyo” section at the top of this guide). Or if you had an existing integration and are migrating to OAuth, click the hyperlinked “external Klaviyo app” text to install the package (see the “Migrate to OAuth” section above).

How to integrate with Salesforce CRM - 图15

If you are still having issues, please contact support.

Account mismatch error message

If your business has multiple Salesforce organizations, make sure you are logged in to the Salesforce organization currently connected to Klaviyo when re-authenticating the integration.

If Klaviyo detects that you are reconnecting to a different Salesforce organization, you will see an Account mismatch error:

A pop-up dialog box titled “Account mismatch” explains that the integration is connected to a specific Salesforce account and must be removed to connect a different one, with “Cancel” and “Remove integration” buttons.

To resolve the error, do one of the following:

  1. Reconnect the existing Salesforce organization: Close the window, log out of Salesforce, then log in to the Salesforce organization currently connected to Klaviyo and try again.
  2. Connect a different Salesforce organization: Removing the integration deletes its Salesforce object mappings, which you will need to configure again. Click Remove integration, reinstall the Salesforce integration in Klaviyo, and complete setup using the new Salesforce organization.

Field mapping warnings and errors

Klaviyo continuously validates your Salesforce field mappings to ensure data can sync reliably. If a mapped Salesforce field becomes unavailable (for example, if it’s deleted, renamed, or permissions change), you may see a warning or error in your integration settings.

When a non-required field is unavailable

If a mapped Salesforce field is no longer available and it is not required, Klaviyo will:

  • Display a warning indicating which field is missing.
  • Continue syncing all other available fields.
  • Exclude the unavailable field from future syncs until it is updated or removed.

To resolve this:

  1. Open your Salesforce integration in Klaviyo and select Settings.
  2. Open the affected object’s action menu and select Edit.
  3. Update or remove the invalid field mapping.
  4. Click Save.
  5. A historical sync can overwrite current profile values, but it does not remove existing profile properties. Select Run historical sync to apply the corrected mappings to existing records, or Skip sync to continue with regular hourly updates.

Once updated, syncing will continue as expected.

image (10).png

image (10).png

How to integrate with Salesforce CRM - 图19

How to integrate with Salesforce CRM - 图20

When the field mapped to Email is unavailable

If the Salesforce field mapped to Klaviyo’s Email property is no longer available for an object (for example, due to schema changes or permissions), Klaviyo will:

  • Display an error indicating that the field mapped to Email is missing.
  • Stop syncing data for the affected object.
  • Prompt you to update your field mappings to restore syncing.

image (17).png

image (17).png

To resolve this:

  1. Open your Salesforce integration in Klaviyo and select Settings.
  2. Open the affected object’s action menu and select Edit.
  3. Map an available Salesforce field containing valid email addresses to Klaviyo’s Email property.
  4. Click Save.
  5. A historical sync can overwrite current profile values, but it does not remove existing profile properties. Select Run historical sync to retry existing records with the corrected email mapping, or Skip sync to continue with regular hourly updates.

Once the Email field is successfully mapped again, data syncing will automatically resume.

Profiles missing in Klaviyo

If Salesforce records aren’t appearing as profiles in Klaviyo, first verify that a valid email field is mapped for each object you’re syncing. Klaviyo uses the email address as the required identifier to create or update profiles; records without a mapped email field or without valid email values will not sync as profiles. Ensure that:

  • A Salesforce email field is mapped to Klaviyo’s Email property for every selected object.
  • The mapped email field contains actual email values in Salesforce — blank or invalid emails can prevent records from syncing as profiles.

After correcting the email mapping, save your changes and select Run historical sync to retry existing records. If you corrected the email values in Salesforce instead, those updated records will be picked up by the next hourly sync.

Outcome

You have now integrated your Klaviyo account with Salesforce CRM and reviewed your synced data.

Additional resources

Learn how to use flows, also known as automations or drip campaigns, in Klaviyo for personalized and automated communications to your customers, and learn how to set your first flow live. - Getting started with segments

Learn how to create and use segments in Klaviyo, which are a powerful tool for understanding your audience and sending targeted messages. - Understanding the types of information exchanged between Klaviyo and apps

Learn about what types of data are exchanged between Klaviyo and external apps, and where that data is found in your Klaviyo account. When you integrate a third-party application with Klaviyo, the two platforms exchange information. Most data exchange with Klaviyo is one-way; data is pulled into your Klaviyo account so you can leverage a broad scope of your customers' data within Klaviyo.

Was this article helpful?

YesNo

Use this form only for article feedback. Learn how to contact support.

Explore more from Klaviyo

Community

Connect with peers, partners, and Klaviyo experts to find inspiration, share insights, and get answers to all of your questions.

Visit Community

Partners

Hire a Klaviyo-certified expert to help you with a specific task, or for ongoing marketing management.

Hire a partner

Support

Access support through your account.

Email support (free trial and paid accounts) Available 24/7

Chat/virtual assistance Availability varies by location and plan type

Log in