Marketers / Marketing Ops / Sales Cloud

How to Import Leads or Contacts into Salesforce Campaigns

By Andreea Doroftei

Salesforce Campaigns have existed since the dawn of time, but have been receiving more attention now that Pardot (Account Engagement) is growing more tightly integrated with this Salesforce object. The shift, due to Connected Campaigns, means Pardot marketers need to understand this alternative campaign management process.

Importing Leads (or Contacts) into Salesforce Campaigns may continue to confuse you. There are multiple ways to import data, including Campaign Members into Salesforce, multiple places to access the tools, and more than one type of record you need to create – yep, not the easiest to figure out.

Importing data into Salesforce has its benefits. While some organizations will still import data into Pardot (as their “holding” area for pre-qualified Leads), Salesforce data import will:

  • Prevent data misalignment between Salesforce and Pardot. This often results in Pardot Sync Errors, due to Salesforce admins being able to configure stricter validation rules and de-duplication rules.
  • Help you gain a complete picture when reporting on Campaign Influence.
READ MORE: Pardot Sync Errors: Solve Your Salesforce Connector Sync Error Queue
READ MORE: Complete Guide to Salesforce Campaign Influence

How do you start? What’s the most efficient process? How can you avoid messing up data?
These are the questions this guide will answer.

Importing Into Salesforce – Which Tool To Use?

As I mentioned in the introduction, you can choose between a few import tools for Salesforce, including:

I recommend you use the Data Import Wizard when starting out, which is what I will be showing you. It has a more user-friendly interface, and you can access it either from the Salesforce setup (whereas Data Loader is an application, accessed externally) or from the Campaign page.

READ MORE: Salesforce Data Import Wizard vs. Data Loader

A Note on Campaign Members

I also hinted that the process involves creating more than one type of record. You may be familiar with how Leads and Contacts work, but the most important thing to know is that they are two separate objects, each with their individual characteristics.

When you add a Lead or Contact to a Salesforce Campaign, you will be creating a Campaign Member. This golden link means that both Leads and Contacts can be simultaneously members of multiple Campaigns (AKA. Multi-touch Attribution).

READ MORE: 8 Ways to Add Leads to Salesforce Campaigns as Campaign Members

This distinction is important and will become clear as we go through the tutorial.

Check Your Duplicate Rules

Before you go any further, ask your admin to check the matching rules and duplicate rules that are active in your Salesforce org.

You want to ensure that there is a Lead matching rule that will look for a match with:

  1. Existing leads
  2. Existing contacts

If the lead matching rule doesn’t consult your Contact database, it will create unwanted duplicates. I will mention an AppExchange app that can completely cure this headache at the end of this post.

READ MORE: Complete Guide to Salesforce Duplicate Rules

Check Your Validation Rules and Required Fields

One other very important thing when inserting or updating Salesforce records is knowing which fields are required, and the existing validation rules. Confirm with your Salesforce admin that your file (which holds all the Campaign Member information) includes a column for each of the required fields on either Leads, Contacts, or Campaign Members.

READ MORE: How to Use Validation Rules in Salesforce (+ Examples)

Even if you miss one, don’t worry, regardless of the tool you decide to use for your import, you will be able to review the error message and correct the data, then reimport.

Part 1: Importing Leads As Campaign Members – New and Existing

By following these steps, you add Campaign Members and Leads (where needed) in one import, without creating duplicates.

Let’s walk through that…

  • Salesforce asks: ‘Is there an existing Lead with a matching email address?’
    • If yes, add them to the Campaign
    • If no, Salesforce asks…
  • ‘Is there an existing Lead with a matching email address?’*
    • If yes, block Salesforce from creating a new lead.
    • If no, allow Salesforce to create a new lead, and add them to the Campaign.

*Note: Any other logic defined in your duplicate matching rule will be taken into account as well.

Step 1: Prepare your File

Your import file needs the following headers (at least*):

  • Email Company
  • First Name
  • Last Name
  • Campaign ID
  • Member Status (optional**)

Where’s the Campaign ID? You will find the ID in the URL, eg: 7012A0000018SSnQAA:

*Note: These fields are the standard fields any import will require, but these may only scrape the surface for what your org requires. Are there required Lead fields? Are there fields that lead assignment rules use? Regardless, adding more fields improves overall data quality, and so you should seize this opportunity.

**Note: If you do not define the status your Campaign Member should have, Salesforce will use the default ‘Sent’ status. More content coming on Campaign Member Statuses coming to The DRIP soon.

Finally, download the sheet in .csv format.

Step 2: Launch Data Import Wizard

When importing Campaign Members with the Data Import Wizard, there are two ways to access it, and I will mention both of them – you can choose whichever makes more sense for you.

If you are on a Campaign’s Record Page, you can make use of the Campaign Members related list. Simply click the arrow exposing the additional options, and click Import Leads and Contacts. By doing so, you will be redirected onto the Data Import Wizard page.

Alternatively, you can navigate to Salesforce Setup, and search for Data Import Wizard. Click the big green ‘Launch Wizard’ button (you may need to scroll).

Use the image below to follow along:

  • ‘What kind of data are you importing?’ – select Leads.
  • ‘What do you want to do?’ – select Add new and update existing records.
  • ‘Match lead by’ – Email (you can also choose to match by Id).
  • ‘Assign New Leads to this Source’ – [select the appropriate lead source, which will indicate a first touchpoint].
  • ‘Assign All Leads to Campaigns’ – select this checkbox!

Then, drag your file into the ‘Where is your data located?’ section.

Step 3: Field Mapping

On the next screen, you will find the fields will be automatically mapped (if you used the exact field named as headers in your file). Click ‘Change’ to either select fields for unmapped fields, or remove a mapped field you don’t want to import.

See this error? This means that Salesforce has not picked up the campaign ID, and you need to cross-check your file.

Once you’re happy, start the import.

Step 4: Check the Result

You will be automatically navigated to the Bulk Data Load Jobs page.

When the progress reaches 100%, check how many records were processed and any failed under the ‘Batches’ section. Failed records need actioning, so click ‘View Result’ to download a file that will tell you the error reason.

Part 2: Importing Contacts As Campaign Members – New and Existing

Earlier, I honed in on the fact that Salesforce Contacts have different characteristics to Leads. Part 2 will cover the differences in the import process.

Step 1: Prep your File

Your import file needs the following headers (at least – refer to the leads section for more information):

  • Contact: Email
  • Account Name
  • Contact: First Name
  • Contact: Last Name
  • Campaign ID
  • Member Status (optional)

Step 2: Launch Data Import Wizard

Go to the Salesforce Setup, and search for Data Import Wizard. Click the big green ‘Launch Wizard’ button (you may need to scroll).

Use the image below to follow along:

  • ‘What kind of data are you importing?’ – select Accounts and Contacts.
  • ‘What do you want to do?’ – select Add new and update existing records.
  • ‘Match contact by’ – Email
  • ‘Match account by’ – Name and Site
  • ‘Assign All Contacts to Campaigns’ – select this checkbox!

Then, drag your file into the ‘Where is your data located’ section.

Note: it’s worth pointing out that there is no Lead Source selection box, unlike when doing the Lead import. As this is key information, consider pulling a list of newly created contacts, and doing a second import to include Lead Source as a field in your import file.

Repeat Steps 3 and 4 from Part 1.

Using Pardot Import as a Shortcut

Someone brought a smart hack to my attention recently. It is possible to import Leads and Contacts via Pardot, by importing prospects directly into a Pardot list, then leveraging an automation rule to add these prospects to a Salesforce Campaign. I can completely see how this method is appealing, after all Pardot de-duping capabilities will match existing prospects, create those that don’t exist, and add both types to the list – all in one swoop!

However, there’s two reasons you should be beware of this shortcut:

  • Automatic AMPSEA Matching: With ‘allow multiple prospects with the same email address’ enabled, when importing prospects, Pardot matches with the most recently active prospect (which perhaps is not the record you want!).
  • Assignment: These new prospects will not be assigned automatically, and so there is an extra automation required to assign prospects to a user before these can sync to Salesforce.

AppExchange to the Rescue

The process we’ve gone through in this tutorial is fiddly and time-consuming, but completely possible to forge into a habit, either with the Data Import Wizard or perhaps Data Loader. However, there are a couple apps from the Salesforce AppExchange that I can recommend to cure the headache.

PeopleImport by Validity not only can handle this process more efficiently, but gives you the ability to define smarter matching logic. Check it out, if only to educate yourself further on the topic of Campaign Member import.

Another great option is SimpleImport by Provenworks, which can help alleviate the Campaign Member Import, and so much more! Not only will Salesforce Admins be able to seamlessly import records and associate them to Campaigns, but superusers can also be empowered to do so. The best news – you don’t need a Campaign Id, or even a Campaign Member Status column, as you can easily choose both from a dropdown list.

READ MORE: Importing Salesforce Records Just Got Simpler [In-Depth Overview]


This tutorial has shown you how to import Leads and/or Contacts into Salesforce Campaigns. The growing importance of Salesforce Campaigns in any Pardot Campaign Management process means it is time Pardot marketers got to grips with efficient Campaign Member import, and I hope this post has been valuable in helping you achieve that.


The Author

Andreea Doroftei

Andreea is a Salesforce Technical Instructor at Salesforce Ben. She is an 18x certified Salesforce Professional with a passion for User Experience and Automation. 

Leave a Reply