The enquiry came in on a Friday afternoon. You opened the sheet, added the row, filled in the name and email, and told yourself you would follow up on Monday. By Tuesday, something more urgent had pushed it down the screen. By Thursday, the row had scrolled below the fold and the lead had gone somewhere else. This is not a story about being disorganised. It is a story about a tool being asked to do something it was never designed to do.

A Google Sheets CRM can be a genuinely solid system. Plenty of small businesses and solo operators run their entire sales pipeline through one, and they do it well. The difference between a sheet that works and one that quietly swallows leads is almost always in the structure: which columns exist, whether they enforce consistency, and whether the layout makes the next action obvious without any hunting. This guide covers that structure in precise detail. It also covers the point where the sheet, however well built, cannot give you what you actually need.

What should a Google Sheets CRM actually look like?

A working Google Sheets CRM has exactly as many columns as you will fill in every time, and not one more. The most common reason sheets fail is column sprawl: 22 fields added over six months, of which four get used consistently and eighteen are blank on 90 percent of rows.

Start with these nine columns and resist adding more until you feel the gap:

1. Lead Name - the person, not the company. Contacts are people.

2. Company - optional for B2C, essential for B2B.

3. Source - where the enquiry came from. A validated dropdown (more on that below) keeps this consistent. Options: Website Form, Referral, Facebook Ad, Instagram DM, Phone Call, Other.

4. Email - a clickable mailto link if you format it correctly, though plain text works fine.

5. Phone - same.

6. Lead Status - a validated dropdown. This is the most important field in the sheet. Options: New, Contacted, Proposal Sent, Negotiating, Won, Lost, Dormant.

7. Pipeline Stage - you can merge this with Status if your process is simple, but separating them lets you see where in the conversation a lead sits independently of whether they are active. Options: Discovery, Qualified, Proposal, Decision.

8. Last Contact Date - the date you last actually communicated with this person. Not the date you thought about them.

9. Next Follow-Up Date - the date you have committed to making contact again.

10. Notes - a single free-text field. Keep it chronological. Start each note with the date. "14 Jun - called, left voicemail. Said to try again next week."

That is ten columns. A sheet with ten well-maintained columns is worth more than a sheet with thirty half-filled ones.

How do you set up data validation in Google Sheets for lead tracking?

Data validation is what separates a spreadsheet from a proper lead tracking system. Without it, your status column will contain "new", "New", "NEW", "new lead", "fresh", and six other variations that make filtering useless.

To add a validated dropdown: select the entire column (click the column letter at the top), go to the Data menu, choose Data Validation, and in the Criteria section choose "List of items". Type your options separated by commas, with no spaces after the commas. Tick "Show dropdown list in cell" and set "On invalid data" to "Show warning" rather than "Reject input", because sometimes you need to paste something unusual and a hard rejection will frustrate you.

Do this for: Lead Status, Pipeline Stage, and Source. Those three columns are the ones you will filter and sort by. Everything else can be free text.

Once you have validation in place, sorting and filtering become reliable. You can filter for every lead with status "Proposal Sent" and a Next Follow-Up Date in the past, which is your working list for the morning. Without validation, that filter returns partial results at best.

The five minutes spent setting up data validation is the difference between a sheet you trust and one you are always double-checking.

How do you make follow-up reminders work inside Google Sheets?

This is where honest answers matter, because Google Sheets does not send reminders. It stores data. Anything resembling a reminder has to be built by you, manually checked by you, and acted on by you. There is no notification, no ping, no email that fires when a follow-up date passes.

What you can do is make overdue follow-ups visually obvious. Conditional formatting rules turn rows a colour when conditions are met. Here is the setup:

Select all your data rows (not the header). Go to Format, Conditional Formatting. Under "Format cells if", choose "Custom formula is". Type this formula, replacing D with whichever column holds your Next Follow-Up Date:

=AND($D2<TODAY(),$D2<>"")

Set the fill colour to a pale red or amber. Now any row where the follow-up date has passed and is not blank will be highlighted. Sort by that column every morning and you have your action list.

You can also add a helper column called "Days Overdue" with the formula =IF(D2="","",TODAY()-D2). Positive numbers mean overdue. Sort descending and the most neglected leads rise to the top.

This works. It is genuinely useful. The discipline required is to open the sheet and sort it every single working day, because the sheet will not come to you.

That discipline holds for most people up to about 40 or 50 active leads. Above that, the daily sorting ritual starts to feel like administration rather than selling, and things start to slip.

What is the right way to handle pipeline stages in a Google Sheets CRM?

Pipeline stages in a sheet need to match your actual process, not a generic sales framework you read about online. Four stages is usually enough for a small business. Six is the maximum before the dropdown becomes a source of confusion rather than clarity.

A clean set for a service business or agency:

  • Discovery - you have made initial contact, you know what they are looking for, they know what you do.
  • Qualified - you have confirmed they have budget, authority and a genuine need. Lead qualification has happened.
  • Proposal - you have sent a quote or proposal and are waiting for a decision.
  • Decision - they are actively considering, possibly comparing you with someone else.

Won and Lost sit in the Status column, not the Stage column. Mixing them conflates two different pieces of information.

The reason to keep pipeline stages separate from lead status is that you can then filter for "all Qualified leads I have not contacted in seven days" and that filter means something specific. A sales pipeline only tells you useful things if the categories are maintained with care.

One practical habit: when you mark a deal Won or Lost, add a short note explaining why. After six months, read those notes. The patterns in why deals are lost are almost always more useful than the patterns in why they are won.

How do you log emails and calls in a Google Sheets CRM without it becoming a mess?

You do not, really. That is the honest answer. Google Sheets has no native integration with Gmail or any phone system. Logging contact history in a sheet means manually copying information from one place and pasting it into another, which most people do about 60 percent of the time and then stop.

The approach that holds up longest is a single Notes column with dated entries, as described above. It is low-tech but it is honest about what the sheet can actually do.

Some people connect their sheet to their inbox using Zapier or Make, pulling in confirmation that an email was sent based on a subject line match or a label. This works, but it adds a layer of fragility. When the Zap breaks, you do not always know immediately, and your contact management data starts to drift.

The email log problem is the first real sign that a sheet is approaching its limits as a CRM for small business, because a salesperson who cannot see what the last conversation was before picking up the phone is working blind. They either waste time re-reading the whole thread or they ask the lead a question they have already answered, which damages the relationship.

A dedicated lead nurturing tool solves this by attaching email threads to contact records automatically. A sheet cannot. It is not a criticism of sheets; it is just a different tool.

What are the signs that your Google Sheets CRM is costing you deals?

Every tool has a ceiling. For a Google Sheets CRM, that ceiling is specific and recognisable. These are the signals that you have reached it:

You are missing follow-up dates. You look at the sheet and see a row highlighted red from eight days ago. You have no memory of why you did not follow up. No reminder fired. Nothing prompted you. The lead is almost certainly gone.

You cannot quickly tell what the last conversation was. Someone calls you back and you need 90 seconds of silence to find the thread or the note. That silence communicates something to the lead.

Two people are updating the sheet and entries contradict each other. One person marked a lead Contacted, another marked them New. Neither note explains what happened. Contact management has broken down.

Your lead response time has stretched. Research published by Harvard Business Review found that companies which contacted leads within an hour were seven times more likely to have a meaningful conversation than those who waited longer. If your sheet is not prompting anyone to respond quickly, your lead response time is being set by whoever happens to open the tab next.

You are doing lead capture in one system and lead tracking in another and the transfer is manual. Leads from a web form get emailed to you, you copy them into the sheet, sometimes today, sometimes tomorrow, sometimes never. That gap is where leads go quiet permanently.

You have more than 200 active rows and no archive system. The sheet has become slow to load and slow to sort, and the Won and Lost rows are mixed in with the active ones because nobody set up a second tab.

None of these are moral failings. They are signals that the sheet has done its job of getting you started, and a different tool is now the right call.

Kodeleads is built specifically for this transition - a lead management tool that fits a team of one or two, sends follow-up reminders automatically, logs email contact against each lead, and keeps the pipeline visible without requiring a full-time administrator.

Frequently Asked Questions

Can Google Sheets work as a CRM for a small business?

Yes, with the right column structure and data validation rules, Google Sheets can handle lead tracking, contact management and basic pipeline stages for a solo operator or very small team. It works well up to roughly 200 to 300 active leads, after which the absence of reminders, email logging and automation becomes a real cost in lost deals.

What columns should a Google Sheets CRM have?

At minimum: lead name, company, source, contact details, lead status (validated dropdown), last contact date, next follow-up date, pipeline stage, and a notes column. Adding a calculated "Days Since Last Contact" column using a simple TODAY() formula makes overdue follow-ups visible at a glance without any manual checking.

How do I add data validation dropdowns to a Google Sheets CRM?

Select the column you want to control, go to Data, then Data Validation, choose "List of items", and type your options separated by commas. For a status column, options like New, Contacted, Proposal Sent, Won, Lost keep entries consistent and make filtering reliable. Without this, every person who touches the sheet spells things differently.

What is the biggest limitation of using Google Sheets as a CRM?

Google Sheets cannot send you a reminder. It holds data but it does not act on it. If a lead is due for follow-up on Thursday, the sheet will not tell you. That gap, the absence of automated follow-up reminders and email logging, is where most small teams lose deals they would otherwise have closed.

When should a small business move from Google Sheets to a real CRM?

Move when any of these are true: you are missing follow-up dates because no reminder fired, you cannot tell at a glance what happened last with a lead, you have more than one person updating the sheet and entries are contradicting each other, or your lead response time is stretching beyond 24 hours because nothing is prompting action.

How do I track follow-ups in Google Sheets without losing leads?

Create a "Next Follow-Up Date" column and a conditional formatting rule that turns the row red when that date is in the past. Then sort by that column every morning. This is a workable system for a solo operator managing under 50 active leads. Above that volume, the manual sort becomes a daily chore that is easy to skip.

Is Google Sheets or a CRM better for lead qualification?

A dedicated CRM for small business handles lead qualification better because it can filter, score and surface leads automatically. Google Sheets can store qualification notes but cannot act on them. For a team just starting out and qualifying fewer than 20 leads a week, Sheets is adequate. Beyond that, the manual effort of filtering and reviewing outweighs the cost of simple CRM software.

Try Kodeleads when the sheet is no longer enough

If you have built the sheet, set up the validation, created the conditional formatting, and still find that follow-ups are slipping through - the problem is not your discipline. It is that the sheet cannot do the one thing that closes deals: remind you, reliably, that a specific person needs to hear from you today. Kodeleads replaces that manual system with automatic follow-up reminders, an email follow-up log attached to each contact, and a sales pipeline your leads move through without manual sorting. Try Kodeleads and keep the leads the sheet was losing.

Frequently asked questions

Can Google Sheets work as a CRM for a small business?
Yes, with the right column structure and data validation rules, Google Sheets can handle lead tracking, contact management and basic pipeline stages for a solo operator or very small team. It works well up to roughly 200 to 300 active leads, after which the absence of reminders, email logging and automation becomes a real cost in lost deals.
What columns should a Google Sheets CRM have?
At minimum: lead name, company, source, contact details, lead status (validated dropdown), last contact date, next follow-up date, pipeline stage, and a notes column. Adding a calculated "Days Since Last Contact" column using a simple TODAY() formula makes overdue follow-ups visible at a glance without any manual checking.
How do I add data validation dropdowns to a Google Sheets CRM?
Select the column you want to control, go to Data, then Data Validation, choose "List of items", and type your options separated by commas. For a status column, options like New, Contacted, Proposal Sent, Won, Lost keep entries consistent and make filtering reliable. Without this, every person who touches the sheet spells things differently.
What is the biggest limitation of using Google Sheets as a CRM?
Google Sheets cannot send you a reminder. It holds data but it does not act on it. If a lead is due for follow-up on Thursday, the sheet will not tell you. That gap, the absence of automated follow-up reminders and email logging, is where most small teams lose deals they would otherwise have closed.
When should a small business move from Google Sheets to a real CRM?
Move when any of these are true: you are missing follow-up dates because no reminder fired, you cannot tell at a glance what happened last with a lead, you have more than one person updating the sheet and entries are contradicting each other, or your lead response time is stretching beyond 24 hours because nothing is prompting action.
How do I track follow-ups in Google Sheets without losing leads?
Create a "Next Follow-Up Date" column and a conditional formatting rule that turns the row red when that date is in the past. Then sort by that column every morning. This is a workable system for a solo operator managing under 50 active leads. Above that volume, the manual sort becomes a daily chore that is easy to skip.
Is Google Sheets or a CRM better for lead qualification?
A dedicated CRM for small business handles lead qualification better because it can filter, score and surface leads automatically. Google Sheets can store qualification notes but cannot act on them. For a team just starting out and qualifying fewer than 20 leads a week, Sheets is adequate. Beyond that, the manual effort of filtering and reviewing outweighs the cost of simple CRM software.

← Back to the blog