All posts

Export Salesforce Contacts to a Sequencer Without Emailing Opt-Outs or Bounces

··4 min read

Build a Contacts or Leads report with Email, Email Opt Out and Email Bounced Reason as columns, export it as Details Only CSV, set aside every ticked opt-out and every row with a bounce reason or date, and load that set-aside file into your sequencer's blocklist before you import the rest. Then check the send list live, because Salesforce only knows about bounces from mail it sent itself.

Teams often run their sequences outside Salesforce, in Instantly, Smartlead, lemlist or similar. The opt-outs stay in Salesforce. If the export doesn't carry the opt-out column, nobody downstream knows it exists. This post covers that hand-off. For checking addresses and writing results back to records by Id, see how to verify email addresses in Salesforce.

The columns that matter

Report column API name What a value means
Email Email The address to send to
Email Opt Out HasOptedOutOfEmail Ticked: the person doesn't want email
Email Bounced Reason EmailBouncedReason Why mail from Salesforce bounced
Email Bounced Date EmailBouncedDate When it bounced

The field descriptions come from Salesforce's Contact object reference. The Lead object has the same opt-out and bounce fields.

Two cautions. First, a blank or unticked Email Opt Out only means nobody ticked it. It doesn't record consent. Second, Salesforce fills in the bounce fields only when bounce handling is enabled, and only for mail Salesforce sent.

Export the report

  1. Create a Contacts report (and a separate Leads report if you prospect leads too). Add Email, Email Opt Out and Email Bounced Reason or Date as columns, plus name, title and account name for personalisation.
  2. Filter it to the audience you want to sequence.
  3. Click Export, choose Details Only, format .csv, and pick the encoding for your language so accented names come through (Salesforce: export a report).
  4. For a second suppression source, export the standard Bounced Contacts and Bounced Leads reports. Salesforce's deliverability guidelines describe them as listing every address that bounced, with the reason and date.

Data Loader works too if you'd rather export by API name. The fields are the same.

Split the file

  1. Upload the CSV to the Salesforce contacts to email list tool. Upload the leads export as well; repeats merge, and an opt-out or bounce on any copy wins.
  2. Ticked opt-outs are always set aside. Any row with a bounce reason or date is set aside too. Tick the option to read Other Email if you want those as extra rows.
  3. Download two files: the send list and the set-aside file.

Report labels depend on your org's language and any renamed fields. The tool finds the standard English labels and API names, and the notes above the result say which columns it read.

Hand off to the sequencer

  1. Import the set-aside file into the sequencer's blocklist first. In Instantly that's the Blocklist tab; in Smartlead it's the Global Block List; lemlist takes unsubscribe entries. Our Smartlead suppression list and lemlist and Instantly posts show where each one is.
  2. Then check the send list live (below) and import only the valid file into the campaign.
  3. Re-export each time you pull a new audience. A contact who opts out in Salesforce next week won't reach the sequencer unless the next export carries the column.

If your sequencer has a native Salesforce sync, check which fields it maps. A sync that copies Email and name but not Email Opt Out has the same gap as a CSV without the column.

Bring sequencer bounces back

Bounces from the sequencer stay in the sequencer. To stop the next Salesforce export from bringing those people back:

  • Export bounces and unsubscribes from the sequencer after each campaign. The bounced email extractor pulls addresses out of bounce messages if all you have is a mailbox full of them.
  • Store them in Salesforce in your own field, or tick Email Opt Out for real unsubscribes. Salesforce's object reference says writing to Email Bounced Reason doesn't trigger its bounce features, so don't use that field for outside bounces.
  • Keep a master suppression file outside both tools. The suppression list merger combines the Salesforce and sequencer lists.

Check the send list

A contact can have no opt-out and no bounce and still have a dead inbox. The person may have left, or nobody has emailed them from Salesforce in a year.

  1. Upload the send list at /verify. Every address gets a live mailbox check. Valid, risky and invalid download as separate files, and catch-all domains are marked.
  2. Import only the valid file. Treat catch-all contacts with care; our catch-all leads in sequences post explains why.
  3. For Salesforce records you keep long-term, our Salesforce Flow verification post checks new addresses as they arrive.

What this misses

  • Custom consent fields. If your org stores consent in a custom field or a consent object instead of Email Opt Out, add that column to the report. The tool only reads the standard fields by default.
  • Bounces from other tools, as above.
  • Marketing Cloud or Account Engagement unsubscribes that haven't synced back to the record.

Where SimpleVerifier fits

The Salesforce export tool is free and runs in your browser. Nothing is uploaded until you choose to check the addresses. The live check is the paid part: the first 100 checks are free with a Google sign-in on the verify page. Pro is $39 a month with the first 100,000 checks a month at full speed, then slower, never cut off, and one-time packs of 10,000 checks for $15 never expire. See pricing.

Common questions

Does Email Opt Out stop a sequencer from emailing a contact?

No. Email Opt Out (HasOptedOutOfEmail) lives in Salesforce. A sequencer such as Instantly, Smartlead or lemlist only knows about it if the column is in the file you import, or its integration syncs that field, and you filter on it.

Which Salesforce report should I export?

A Contacts (or Leads) report with Email, Email Opt Out and Email Bounced Reason added as columns, exported as Details Only in .csv. Salesforce's standard Bounced Contacts and Bounced Leads reports are useful as a separate suppression source.

Can I export leads and contacts together?

Export them as separate reports. They are different objects, and the same person can sit on both. Upload both files and repeats merge, with an opt-out or bounce on either copy winning.

Should I write sequencer bounces back into Email Bounced Reason?

No. Salesforce's object reference says bounce functionality isn't triggered by updates to that field. Keep outside bounces in your own custom field, or tick Email Opt Out if your team uses it that way.

Check your list before you send

Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.