ShopifyShopifySalesforce LeadsSalesforce Leads11 fields

How to import Shopify data into Salesforce Leads

Move your Shopify customers into Salesforce. This template maps name, email, phone, company, and full address to Salesforce lead properties. Note, Total Spent and Total Orders (paired on one line), Tags, and Accepts Email Marketing are composed into Salesforce's Description field as a labeled multi-line block, so per-customer notes, lifetime spend, segment tags, and the opt-in flag travel with the lead instead of being dropped. Two things to know before you start: Salesforce requires LastName and Company on every lead, and Shopify customers often have blanks in both columns. The Before you start section below explains how to handle both.

Try it freeNo credit card needed

Field-by-field mapping

This is the complete column mapping from Shopify to Salesforce Leads. The left column is the header in your CSV export. The right column is the Salesforce Leads field it should map to.

Before you start

This template's destination has 2 required fields that need attention before upload. You can still use this template. The steps below tell you what to add and where.

  • Last NameLastName

    Salesforce requires LastName on every lead. Shopify exports the column, but customers who checked out with only an email leave Last Name blank, and Salesforce rejects those rows.

    What to do. Before upload, fill any blank Last Name cells with a placeholder like 'Unknown' so every row passes Salesforce's import validation.

  • Company

    Salesforce requires Company on every lead. Most direct-to-consumer Shopify customers don't fill in a company at checkout, leaving the column blank.

    What to do. Before upload, fill blank Company cells with a placeholder like 'Individual'. Or set a default Company in Salesforce after import using bulk-edit on the new leads.

ShopifyShopify columnSalesforce LeadsSalesforce Leads field
First NameFirst NameFirstName
Last NameLast Name*LastName
EmailEmail

TransformLowercased and trimmed

PhonePhone

TransformStandardized to international format (+1, +44, etc.)

CompanyCompany*
Address1Street
CityCity
ProvinceState/ProvinceState
ZipZip/Postal CodePostalCode
CountryCountry
  • Note
  • Total Spent
  • Total Orders
  • Tags
  • Accepts Email Marketing
Description

Four slots compose into Salesforce's Description field as a labeled multi-line block. Slot 1 is the Note free text. Slot 2 pairs Total Spent and Total Orders on one line as the e-commerce signal ('- Total Spent: <amount> | Total Orders: <count>'). Slot 3 is Tags (Shopify segments). Slot 4 is Accepts Email Marketing (the opt-in flag). Each slot renders as '- column: value' on its own line, or the paired form for slot 2. Empty slots are skipped, so a customer with only one of these populated still lands with just that single line. Remove the row in the column mapper if you don't want it.

TransformComposed into a multi-line block

Required by Salesforce Leads.

Formatting and cleanup

Shopify exports rarely match the format Salesforce Leads expects. Fix these before you import.

  1. 1.Lowercases and trims email addresses
  2. 2.Standardizes phone numbers to international format (+1, +44, etc.)
  3. 3.Maps Shopify's Province field to Salesforce's State field
  4. 4.Composes Note, Total Spent and Total Orders (paired), Tags, and Accepts Email Marketing into Salesforce's Description field as a labeled multi-line block

Or skip the manual work

Operelio runs this cleanup and mapping for you. Upload your Shopify export and download a clean, import-ready file for Salesforce Leads.

Try it free

Shopify to Salesforce Leads FAQ

How do I export customers from Shopify?

Go to Customers in your Shopify admin, click Export, choose 'All customers', and select CSV format.

Where do Total Spent, Total Orders, Tags, Note, and Accepts Email Marketing end up?

All five are composed into Salesforce's Description field as a labeled multi-line block. Total Spent and Total Orders share one line as the e-commerce signal ('Total Spent: <amount> | Total Orders: <count>'). Note, Tags, and Accepts Email Marketing each get their own line. Empty slots are skipped, so a customer with only Note still lands with just that single line in Description. If you want Total Spent or Total Orders as numeric properties for segmentation, create custom Lead fields and remap them in the column mapper.

What if Company is blank for some customers?

Salesforce requires Company on every lead. See the Before you start section above for the workaround.

Should I still filter out unsubscribed customers?

Yes. Accepts Email Marketing lands in Description as a flag, but Salesforce manages opt-out through the HasOptedOutOfEmail field. Filter out rows where Accepts Email Marketing is 'no' before upload, or set HasOptedOutOfEmail in Salesforce after import for the rows you want to suppress.

Will this create duplicate leads?

Salesforce checks for duplicates based on your org's matching rules. Review your duplicate settings before importing to control how matches are handled.