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
.csvfile. Excel.xlsxfiles 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_nameorFirst Namelast_nameorLast NameemailorEmail AddressphoneorPhone Numbertags— comma-separated values in a single cell, e.g.webinar-june, warm-leadnotes— any free-text notes that should appear on the lead profilecompanycountry— 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
- Open your Leads pipeline. From the left sidebar, navigate to Clients → Leads. You'll see your existing pipeline board or list view.
- 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.
-
Upload your file. Drag your
.csvonto 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. - 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.
- 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.
-
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. - 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.
- 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:
- Filter by tag to isolate the hottest segment from the import.
- Send a bulk intake call invite to that segment using Coachful's built-in booking links.
- Enroll warm leads directly into a free or paid program to add immediate value before a sales conversation.
- 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.