Marketing

How to Import Contacts into Velveteen

Updated August 11, 2026

The short answer

To import contacts into Velveteen, an administrator opens Dashboard, Email administration, Imports, enters a documented CSV source with suppression or bounce/complaint data, and selects Run dry run. Velveteen stages the rows and shows the results for review; the dry run does not create or update CRM contacts, consent events, subscriptions, or suppressions.

Use this page for a documented CSV source that you have permission to review. For the detailed review queue checks and review actions, see Reviewing email imports. For a worker interruption or failed job, see Recovering failed imports.

How do I stage contacts for import?

  1. 1

    Open Email imports

    Go to Dashboard, Email administration, Imports. This page requires administrator access.
  2. 2

    Choose the active brand and describe the source

    Select a Brand, enter a Source name, choose a Source type, and provide an Evidence summary. The available source types are CRM export, Newsletter provider export, Website capture export, Event signup export, Suppression export, and Other reviewed source.
  3. 3

    Enter the CSV contents

    Paste the CSV into CSV contents. Include an email column. If you attest that affirmative consent was reviewed, include a consent column. The CSV must have consistent row widths and cannot use duplicate or empty headers.
  4. 4

    Attest suppression and consent carefully

    Select “This source includes suppression or bounce/complaint data.” Select “I have reviewed affirmative-consent evidence for this source” only when that review is true. A suppression column can be named suppressed, suppression, suppression_status, bounced, or complained.
  5. 5

    Run the dry run

    Select Run dry run. Velveteen validates and normalizes the CSV, safely neutralizes formula-leading cells, hashes the source deterministically, stages valid rows, and reports valid, invalid, subscribed, pending, unsubscribed, and suppressed counts.

What should I know before reviewing the staged job?

A valid email address alone is not affirmative consent. Without the affirmative-consent attestation, a non-unsubscribed row is pending. Explicit suppression, bounce, or complaint values map to suppressed before consent mapping. Malformed CSV structure, duplicate headers, a missing email column, or a row-width mismatch fails validation instead of being silently corrected.

Heads up

Running a dry run is a staging step, not a CRM write or a send action. Check the staged counts and source evidence before using the separate review workflow.

What happens after the dry run?

  1. 1

    Open Staged import jobs

    Check the source name, source type, status, valid and invalid counts, and timestamp in the review queue.
  2. 2

    Enter a review reason

    The review reason must contain at least three characters.
  3. 3

    Choose Approve or Cancel

    The review queue exposes Approve and Cancel while a job is awaiting_review or quarantined and suppression data is recorded. Approval is a review checkpoint; it does not trigger provider delivery.

Tip

If execution later fails, use Recovering failed imports for lease recovery, checkpoints, attempt limits, and the supported new-dry-run path.

Frequently asked questions

Who can import contacts?+

The Email imports page is administrator-only. If you do not have administrator access, you cannot use this workflow.

Does a dry run add contacts to Email CRM?+

No. A dry run can create an import job, staged rows, an optional private-file manifest reference, and an audit receipt. It does not create or update CRM contacts, consent events, subscriptions, or suppressions.

What happens when consent evidence is missing?+

Velveteen does not assume affirmative consent. A valid row without an affirmative-consent attestation maps to pending unless its value is explicitly unsubscribed; suppression takes precedence.

What CSV limits apply?+

The parser accepts files up to 10 MB, up to 64 headers, cells up to 4,000 characters, and up to 10,000 data rows. A job can be quarantined when it exceeds the row limit or the invalid-email threshold.

Does approving an import send email?+

No. Approve records the review checkpoint. Provider delivery is separate from import review and execution.

Related articles