Coachful
CoachfulHelp

Importing leads from a CSV

By Coachful10 min readUpdated Apr 20, 2026

Learn how to import leads from a CSV file into Coachful in minutes — format your file, map fields, avoid duplicates, and start converting contacts into clients fast.

What's covered
  • Why import leads from a CSV?
  • TL;DR
  • What you need before you start
  • How to format your CSV correctly
  • Step-by-step: importing leads from a CSV in Coachful
  • What happens to duplicates?

Why import leads from a CSV?

If you're migrating from a spreadsheet, another CRM, or an email marketing tool, a CSV import is the fastest way to get all your existing contacts into Coachful without re-entering every name and email by hand. Whether you have 20 warm leads from a past webinar or 2,000 subscribers from a newsletter, importing leads from a CSV lets you start nurturing relationships inside one platform immediately.

Before you touch the import tool, it helps to understand exactly what Coachful does with imported leads: each row becomes a lead record in your client pipeline. From there you can send intake invitations, enroll contacts in programs, book discovery calls, and move them through your funnel — all without switching apps.

TL;DR

  • Export your contacts from any tool as a .csv file with at minimum a First Name, Last Name, and Email column.
  • In your Coachful dashboard, go to Clients → Leads → Import and upload the file.
  • Map your CSV columns to Coachful fields, preview the import, and confirm.
  • Imported leads land in your pipeline instantly — no duplicates for emails already in the system.

What you need before you start

A clean CSV file saves you from headaches mid-import. Run through this checklist before you open the import wizard:

  • File format: UTF-8 encoded .csv file. Excel .xlsx files are not supported — export or "Save as CSV" first.
  • Required columns: Email is the only hard requirement. First name and last name are strongly recommended so Coachful can personalize messages.
  • Optional columns: Phone, tags, notes, company, country, and any custom fields you've already created in your workspace.
  • Row limit: Up to 5,000 rows per import on Growth; up to 25,000 rows on Scale. Need to import more? Split the file and run back-to-back imports.
  • No header row issues: Make sure row 1 is your header row (column names), not data. The importer reads row 1 as field labels.

If your source data is messy — merged name columns, inconsistent date formats, or blank email cells — spend 5 minutes cleaning it in a spreadsheet editor first. Rows with an invalid or missing email address are skipped automatically and flagged in the post-import report.

How to format your CSV correctly

Your CSV doesn't need to follow a rigid template as long as the column headers are identifiable. Coachful's field mapper is flexible, but the closer your column names are to the defaults below, the less manual mapping you'll need to do.

Recommended column names

  • first_name or First Name
  • last_name or Last Name
  • email or Email Address
  • phone or Phone Number
  • tags — comma-separated values in a single cell, e.g. webinar-june, warm-lead
  • notes — any free-text notes that should appear on the lead profile
  • company
  • country — ISO 3166 two-letter code (e.g. US, GB) for best results

Custom fields (any field you've defined yourself under Settings → Custom Fields) appear as mapping options in the import wizard, so you can push data straight into them from your CSV column.

Sample CSV structure

Here's a minimal example of what a well-formatted file looks like:

first_name,last_name,email,tags,notes
Jordan,Rivera,jordan@example.com,"webinar-june,warm-lead","Met at summit"
Alex,Chen,alex@example.com,"newsletter","Interested in 12-week program"

Keep values with commas in them wrapped in double-quotes. Most spreadsheet exports handle this automatically.

Step-by-step: importing leads from a CSV in Coachful

  1. Open your Leads pipeline. From the left sidebar, navigate to Clients → Leads. You'll see your existing pipeline board or list view.
  2. Click "Import". In the top-right corner of the Leads page, click the Import button (the icon with an upward arrow). This opens the CSV import wizard.
  3. Upload your file. Drag your .csv onto the drop zone, or click Browse files to select it from your computer. Coachful reads the file immediately and shows a preview of the first 5 rows.
  4. Map your columns to Coachful fields. The wizard displays every column header from your CSV in the left column, and a dropdown on the right for the corresponding Coachful field. If Coachful auto-detects a match (e.g., your column is "Email Address"), it pre-fills the mapping — review and correct any that look wrong. Columns you don't want to import can be set to Skip this column.
  5. Set a lead stage (optional). Choose which pipeline stage newly imported leads should land in — for example, "New Lead" or "Cold Outreach". This saves you from manually moving hundreds of cards after the import.
  6. Apply tags (optional). You can apply one or more global tags to every row in this import, in addition to any tags already in the CSV. Useful for tagging the source, e.g. imported-2024-q2.
  7. Preview and confirm. The wizard shows a summary: total rows detected, rows with errors (usually missing or malformed emails), and rows ready to import. Review the error list, then click Start Import.
  8. Wait for the confirmation email. For large files (500+ rows), the import runs as a background job. You'll receive an in-app notification and an email to your coach account address when it's complete, along with a downloadable error report if any rows were skipped.
Pro tip: Run a small test import of 5–10 rows first to confirm field mapping is correct before importing thousands of contacts. It takes 30 seconds and saves you from a messy cleanup.

What happens to duplicates?

Coachful uses email address as the unique identifier. If an imported email already exists in your workspace — either as an active client, an existing lead, or a previously archived contact — the import will not create a duplicate record. Instead, it will update the existing record with any new field values from the CSV, but only for fields that are currently blank on the existing record. Existing data is never overwritten.

This merge-on-import behavior protects your data while still letting you enrich existing profiles. If you want to force-update a field (for example, apply new tags to existing leads), you can do that individually or in bulk from the lead list view after import.

Tagging and segmenting imported leads

Tags are one of the most powerful tools in your Coachful lead pipeline. After a CSV import, you can filter your entire lead list by any tag and take bulk actions — send a message, assign to a pipeline stage, enroll in a program, or create a segment for an email sequence.

Good tagging habits at import time pay dividends later. Consider tagging by:

  • Source: webinar-july, instagram-bio, referral-partner
  • Interest area: weight-loss, executive-leadership, relationship-coaching
  • Temperature: hot-lead, warm-lead, cold-outreach
  • Program interest: 12-week-program, vip-day

Already on Coachful? Head to your workspace and try importing your first CSV under Clients → Leads → Import. If you're not yet on Coachful, start a free trial and have your leads pipeline live in minutes.

Pro tips for a cleaner import

Split large lists by segment

Instead of importing 3,000 contacts in one undifferentiated batch, split your CSV by source or interest and import each segment separately. Set a different pipeline stage or tag batch for each file. You'll end up with a much more actionable, organized pipeline than if you dump everything into one "New Lead" pile.

Create custom fields before you import

If your CSV contains data that doesn't map to a standard Coachful field — say, a "Coaching Goal" column from a quiz funnel — create the corresponding custom field under Settings → Custom Fields before you run the import. Once it exists, it appears as a mapping target in the wizard. This is far easier than manually updating hundreds of records afterward.

Use the notes column for context

Sales notes, call summaries, and personal details travel well in a notes CSV column. Coachful appends that text to the lead's profile notes section, so your team (or your virtual assistant with VA-level access) can see the context without digging through old emails.

Immediately follow up with an intake call invite

After a large import, the highest-converting next step is often a personalized intake call invitation. Coachful lets you select filtered leads in bulk and send a booking link for an intake call with one action. The sooner a fresh lead books time with you, the higher your conversion rate.

Troubleshooting common import issues

My import finished but rows are missing

Download the error report from the post-import summary screen (or the link in your confirmation email). Rows are skipped for one of three reasons: missing email, invalid email format (e.g., name@), or a row limit exceeded for your plan tier. Fix the flagged rows in your spreadsheet and run a second import with just those corrected records.

Special characters in names appear garbled

This is a character encoding issue. Your CSV must be saved as UTF-8. In Excel, choose Save As → CSV UTF-8 (Comma delimited). In Google Sheets, export via File → Download → Comma-separated values — Sheets always exports as UTF-8.

The field mapper isn't recognizing my column headers

Column names are matched case-insensitively but must not contain leading/trailing spaces. Open your CSV in a text editor or spreadsheet and check that header row 1 has no extra spaces around commas. If a column still isn't recognized, just set the mapping manually in the dropdown — it only takes a few seconds per column.

I accidentally imported duplicates

If you ran an import with a file that had the same email appearing more than once within the CSV itself (not in Coachful — duplicates inside the file), Coachful will have created or updated based on the last occurrence of that email in the file. Go to Clients → Leads, filter by the import tag you applied, and sort by email to spot any that need manual cleanup.

The import says "processing" but nothing has appeared after 10 minutes

Large files (2,000+ rows) can take a few minutes to process on busy servers. Refresh the Leads page after 10 minutes. If records still haven't appeared, check your notification inbox for an error alert. If there's nothing there, contact Coachful support via the live chat in your dashboard and share the import ID shown in the wizard.

I can't find the Import button

The Import button is visible to users with a coach, admin, or super_admin role. If you're logged in as a member or virtual assistant with restricted permissions, you won't see it. Ask your workspace owner to either run the import on your behalf or elevate your org role for the duration of the task.

After the import: turning leads into clients

Getting contacts into Coachful is just the first step. Here's what high-performing coaches do in the 24 hours after a bulk import:

  1. Filter by tag to isolate the hottest segment from the import.
  2. Send a bulk intake call invite to that segment using Coachful's built-in booking links.
  3. Enroll warm leads directly into a free or paid program to add immediate value before a sales conversation.
  4. Set up an automated follow-up sequence in Coachful's email/messaging tools so no lead goes cold while you're busy with existing clients.

For more on managing your pipeline after import, see Managing your lead pipeline and Sending intake call invitations.

Ready to fill your pipeline?

Importing leads from a CSV is one of the quickest wins available to a coach switching to Coachful — in under 10 minutes you can have hundreds of warm contacts organized, tagged, and ready for outreach inside a single platform. No spreadsheet juggling, no copy-paste errors, no lost context.

If you're already using Coachful, sign in to your workspace and head to Clients → Leads → Import to get started right now. If you haven't tried Coachful yet, start your free trial and see how much faster your coaching business runs when your leads, clients, programs, and payments all live in one place.

Frequently asked questions

What file format do I need to import leads into Coachful?
Coachful accepts UTF-8 encoded .csv files only. Excel .xlsx files are not supported — open your file in Excel or Google Sheets and export it as a CSV before uploading. Google Sheets exports UTF-8 by default, which prevents character encoding issues with international names.
What is the maximum number of leads I can import at once?
Growth plan workspaces can import up to 5,000 rows per file, while Scale plan workspaces support up to 25,000 rows per import. If your list is larger, split it into multiple files and run back-to-back imports — Coachful's duplicate detection will prevent any overlapping records from being created twice.
Will importing a CSV create duplicate records for contacts already in my workspace?
No. Coachful uses email address as a unique identifier. If an imported email already exists in your workspace, the import will update the existing record with any blank fields from the CSV rather than creating a duplicate. Existing data is never overwritten.
Can I import custom field data alongside standard fields like name and email?
Yes. Any custom fields you've created under Settings → Custom Fields appear as mapping targets in the import wizard. Simply include the data as a column in your CSV and map it to the corresponding custom field during the import process.
Who can run a CSV lead import in Coachful?
The Import button is available to users with a coach, admin, or super_admin role. Members and virtual assistants with restricted permissions cannot access the import tool. Your workspace owner can either run the import or temporarily elevate your role.
What happens to rows with missing or invalid email addresses?
Rows with a missing or malformed email address are automatically skipped and flagged in the post-import error report. You can download this report, fix the affected rows in your spreadsheet, and re-import just those corrected records.
Can I assign imported leads to a specific pipeline stage or apply tags automatically?
Yes. During the import wizard you can choose which pipeline stage all newly imported leads should land in, and you can apply one or more global tags to the entire batch. Tags already present in your CSV are also imported, so you can have fine-grained per-row tagging alongside batch-level tags.
Was this article helpful?