Coachful
CoachfulHelp

How to merge duplicate client records

By Coachful10 min readUpdated Apr 16, 2026

Duplicate client records split your notes, billing, and session history — learn how to identify, merge, and prevent them in Coachful with this step-by-step guide.

What's covered
  • Why duplicate client records happen — and why they matter
  • TL;DR — Quick answer
  • Step 1 — Identify duplicate records
  • Step 2 — Decide which record to keep
  • Step 3 — Migrate data to the primary record
  • Step 4 — Archive or delete the duplicate record

Why duplicate client records happen — and why they matter

Duplicate client records are one of the most common data headaches in any coaching practice. They sneak in when a client books a discovery call under one email address, then signs up for a program with a different one. Or a team member manually adds a lead that already exists. Or a client creates a second account after forgetting their password. Before long, you're looking at split conversation histories, mismatched billing records, and program progress scattered across two profiles.

Cleaning up duplicates isn't just housekeeping. A fragmented client record means you might show up to a session without the full picture — missing notes, missing goals, missing context. It also skews your analytics, inflates your client count, and can cause confusion when automated messages fire to the wrong address. Getting this right protects your client relationships and your business data.

TL;DR — Quick answer

  • Coachful does not yet have a one-click "merge" button — client record consolidation is a manual process done through the Clients dashboard.
  • The safest approach: identify the primary record to keep, migrate key data (notes, program enrollments, bookings) to it, then archive or delete the duplicate.
  • Prevent future duplicates by enforcing a single sign-in method and checking for existing records before creating new leads manually.
  • Your AI co-pilot Michelle can help you locate duplicate entries quickly — just ask her to search by name or email across your client list.

Step 1 — Identify duplicate records

Start in your Coachful coach dashboard. Navigate to Clients → All Clients and use the search bar to look up the client by first name, last name, or any email address you know they've used. If two results appear for the same person, you've confirmed a duplicate.

For a broader audit, you can export your client list. Go to Clients → All Clients → Export CSV. Open the file in a spreadsheet, sort by last name or email domain, and scan for obvious matches. Look for slight variations: "jonsmith@gmail.com" vs. "jon.smith@gmail.com", or "Jon Smith" vs. "Jonathan Smith". These are classic duplicate fingerprints.

You can also ask Michelle, the AI assistant built into your coach dashboard, to help surface duplicates. Type something like "Find me clients with similar names to Sarah Johnson" or "Do I have more than one record for the email domain acme.com?" Michelle can query your client database and return a list, saving you the manual scan time.

Step 2 — Decide which record to keep

Before you touch anything, open both profiles side by side in separate browser tabs. Compare the following fields and note which record has the most complete, accurate data:

  • Contact details — primary email, phone number, billing address
  • Program enrollments — which record shows active progress in a program or squad?
  • Session history — past and upcoming bookings logged under each profile
  • Notes & intake responses — coach notes, intake call answers, goal records
  • Billing & payment history — active Stripe subscriptions or one-time payments
  • Chat history — messages in 1:1 or squad conversations

The record with the active Stripe subscription or the furthest program progress should almost always be your primary record — the one you keep. Mark it mentally (or jot it down) before proceeding. Editing the wrong record is the most common mistake coaches make during this process.

Step 3 — Migrate data to the primary record

Coachful stores client data across several interconnected areas. Work through each one systematically.

Notes and intake responses

Open the duplicate record and go to its Notes tab. Copy any notes that don't already exist on the primary record. Then open the primary record and paste them in, adding a timestamp note like "[Migrated from duplicate record — original date: Jan 5, 2025]" so you have an audit trail.

Repeat for any intake form responses visible in the client's profile. These can't be automatically transferred, so a copy-paste is your best option.

Program enrollments

If the duplicate record shows enrollment in a program but the primary does not, you'll need to re-enroll the primary record in that program. Go to Programs → [Program Name] → Members, click Add member, and select the primary client record. Then note the progress level the client had reached in the duplicate record and manually advance them to the correct week and day inside the program editor.

If both records show program enrollment (rare, but possible), keep the enrollment with the most complete progress and note where the other left off.

Bookings and sessions

Navigate to Bookings → Sessions and filter by the duplicate client. Any upcoming bookings tied to the duplicate record will need to be cancelled and re-booked under the primary profile, or you can leave historical sessions as-is and simply stop using the duplicate going forward. At minimum, copy any session notes into the primary record's Notes tab.

Billing and subscriptions

Coachful's billing is powered by Stripe Connect, which means payment records are tied to the client's email address at the Stripe level. If the duplicate record has an active subscription, do not cancel it without coordinating with the client first — this will interrupt their access. Instead:

  1. Contact the client and ask them to confirm their preferred email address going forward.
  2. Update the primary record's email to that address under Clients → [Client Name] → Edit Profile.
  3. In your Stripe dashboard, locate the subscription under the old email and update the customer email there too so receipts reach the right inbox.

If both records show payment history but only one has an active subscription, the inactive record's historical invoices are safe to leave in Stripe as a reference — they don't affect anything operationally.

Pro tip: Coachful's all-in-one coaching platform links bookings, billing, programs, and messaging under a single client profile — which is exactly why cleaning up duplicates early pays dividends. One clean record means one complete view of your client, every time you open their profile.

Step 4 — Archive or delete the duplicate record

Once you've migrated everything valuable, it's time to retire the duplicate. In Coachful, go to Clients → [Duplicate Client Name] → ⋮ (more options) → Archive client. Archiving is safer than deleting — the record disappears from your active client list but remains accessible if you ever need to reference it.

If you're certain the duplicate record contains zero unique data and you want a clean slate, you can choose Delete client from the same menu. Note that deletion is permanent and cannot be undone. Only delete if you've thoroughly audited the record and confirmed there's nothing to preserve.

After archiving or deleting, search for the client by name one more time to confirm only the primary record appears in your active list.

How to prevent duplicate client records going forward

Prevention beats cleanup every time. Here are the most effective habits coaches on Coachful use to keep their client list clean:

Enforce a single sign-in method

When onboarding clients, tell them explicitly which email address to use and which login method (Google, Apple, or email/password). Clients who sign in with Google one day and email the next will create two separate accounts. A simple onboarding instruction — "Always sign in with Google using your work email" — eliminates this entirely.

Check before creating leads manually

Whenever you add a client or lead manually via Clients → Add new client, search for their name or email first. Coachful will warn you if an identical email already exists, but similar-but-not-identical addresses slip through. A two-second search before hitting "Add" costs nothing.

Use a single intake form entry point

If you use intake calls in Coachful, make sure your booking page link and your program enrollment link point clients to the same account creation flow. Sending clients multiple different links increases the chance they'll create a second account when they encounter an unfamiliar page.

Audit quarterly

Set a recurring reminder every quarter to export your client list and do a quick duplicate scan. Five minutes of prevention every three months beats an hour of cleanup every year.

Common mistakes and troubleshooting

I deleted the wrong record

If you deleted the primary record by mistake, contact Coachful support immediately. Depending on how recently the deletion occurred, the team may be able to restore the record from a backup. Do not create a new record manually yet — wait for support confirmation first.

The client has two active Stripe subscriptions

This can happen if a client enrolled in the same offer twice under two different email addresses. Don't cancel either subscription without first checking which one is active and which the client has been paying from. Log into your Stripe dashboard, find both customer records, and identify the subscription with successful recent payments. Cancel the other one and issue a refund if necessary — then update the client's email on the surviving subscription to match the primary Coachful record.

Program progress won't advance manually

When you re-enroll a client in a program on the primary record, you'll need to mark tasks as complete to reflect their actual progress. Go to Programs → [Program Name] → Members → [Client Name] and use the task completion toggles to bring them up to speed. If the program has week-gated content, you may need to temporarily adjust the unlock schedule under Program Settings → Pacing.

Chat history is split across two records

Coachful's messaging is powered by Stream and tied to the client's user account. Chat history from the duplicate account cannot be migrated to the primary account — it will remain visible if you access the archived record, but it won't appear in the primary chat thread. To preserve important context, copy key messages into a pinned note on the primary record before archiving the duplicate.

I'm not sure which email the client actually uses

Just ask them. A quick message — "Hey, I noticed there might be two accounts linked to your profile on my end. Which email address would you like to use going forward?" — takes 30 seconds and makes the whole cleanup process straightforward. Clients appreciate the transparency.

Michelle found duplicates but I don't see them in the client list

If Michelle surfaces a name that doesn't appear in your active client list, the record may already be archived. Go to Clients → All Clients and toggle Show archived to reveal it. From there you can review and permanently delete it if needed.

When to contact Coachful support

Most duplicate situations can be resolved using the steps above, but there are a few scenarios worth escalating to the support team:

  • A client's Stripe subscription is in an error state on both records and you're not sure which to cancel.
  • You accidentally deleted a record with significant history in the last 24–48 hours.
  • A client is locked out of both accounts and can't confirm which email they used.
  • You have more than 20 duplicates and want help bulk-auditing your list.

Reach out via the Help widget inside your Coachful dashboard or visit help.coachful.co to open a support ticket. The team typically responds within one business day.

Ready to keep your client data clean and your practice running smoothly?

Duplicate records are a symptom of a growing practice — which is actually a good problem to have. The key is catching them early, cleaning them up systematically, and putting a few simple habits in place so they don't pile up again. With Coachful's centralized client dashboard, program tracking, and AI assistant Michelle, you have everything you need to maintain a single, accurate view of every client from day one.

If you're not yet on Coachful, see how the platform keeps your programs, bookings, billing, and client data in one place — start your free trial at coachful.co. Already a member? Sign in to your workspace and put these steps into action today. For more guides on managing your client list, browse the full knowledge base.

Frequently asked questions

Does Coachful have an automatic merge feature for duplicate clients?
Coachful does not currently offer a one-click merge button for duplicate client records. Merging is a manual process: you identify the primary record to keep, migrate notes, program progress, and billing details to it, then archive or delete the duplicate. The AI assistant Michelle can help you locate duplicates quickly by searching across your client list.
Will merging duplicate records cancel my client's subscription?
Merging records itself does not cancel a subscription — but you need to be careful. Stripe subscriptions are tied to a customer email, not just the Coachful profile. Before archiving a duplicate, confirm which email the active subscription is linked to in Stripe and update both the Coachful profile and Stripe customer record to match the primary email you want to keep.
Can I recover a client record I accidentally deleted in Coachful?
Deletion in Coachful is permanent from the app's perspective, but the support team may be able to restore a recently deleted record from a backup. Contact support immediately via the Help widget in your dashboard if this happens — the sooner you reach out, the better the chance of recovery.
Why do duplicate client records get created in the first place?
The most common causes are clients using different email addresses at different points (e.g., booking with a personal email, enrolling with a work email), signing in via different methods (Google vs. email/password), or forgetting an existing account and creating a new one. Coaches adding leads manually without checking for existing records is another frequent cause.
Can I merge chat history from a duplicate client account?
No — Coachful's messaging is powered by Stream and is tied to the client's user account. Chat history from a duplicate cannot be transferred to the primary account. Before archiving the duplicate, copy any important messages into a pinned note on the primary client record so the context is preserved.
How do I find all duplicate clients in Coachful at once?
Export your full client list as a CSV from Clients → All Clients → Export CSV, then sort by last name or email in a spreadsheet to spot near-matches. You can also ask Michelle, the AI assistant in your coach dashboard, to search for clients with similar names or email addresses across your list.
What happens to a client's program progress when I archive their duplicate record?
Archiving the duplicate record does not transfer program progress automatically. Before archiving, note the week, day, and tasks the client had completed under the duplicate record, then manually advance their progress on the primary record by toggling tasks complete inside Programs → [Program Name] → Members → [Client Name].
Was this article helpful?