How to Follow Up on a Quote: A Cadence, Templates and a Tracking System in Gmail
Most quotes are not lost to a competitor. They are lost to silence. Here is a three-touch follow-up cadence, copy-ready templates for service businesses, events and contractors, and two ways to track every open quote in Gmail.

If you run an event rental company, a florist, a venue, a cleaning service, a print shop or a roofing crew, your sales process probably looks like this: an inquiry lands in info@, someone replies with a price, and then everyone hopes the customer writes back.
Some do. Many do not, and usually not because they chose a competitor. They got busy, and your quote slid down their inbox. This guide gives you a follow-up cadence that works, templates you can copy, and two ways to track every open quote in Gmail so none slips through: a free one with labels and a sheet, and a Gmail CRM for when the free one stops holding.
Why unchased quotes cost more than you think
Count the quotes in your Sent folder from the last 30 days, then count how many got a second message from you. For most small service businesses the second number is a fraction of the first.
Each of those quotes already cost you the time to read the inquiry, check availability, price the job and write the reply. A quote you never follow up on is work you did for free. The customer often has two or three quotes open at once, and the business that follows up looks like the one that wants the job.
The failure is rarely laziness. The status of each quote lives in the owner's head, and the owner is also driving the van, arranging the flowers or up on a roof.
When to follow up on a quote
Three touches over about two weeks is enough for most service businesses:
| Touch | When | Purpose |
|---|---|---|
| 1. Make sure it landed | Day 2 | Confirm receipt, invite questions, surface objections early |
| 2. Give a reason to reply | Day 6 | Offer something useful: a date hold, an option, an answer |
| 3. Close the loop | Day 12 | Ask for a yes or no so you can release the slot |
Adjust for ticket size. A $300 rental can close in a week. A $15,000 roof or a wedding a year out may need a fourth touch around day 21, and solar or other financed jobs often take 30 days or more. If the customer told you when they decide, plan the third touch a few days before that date.
After the last touch, mark the quote lost and stop. A fourth unanswered email does more harm than good.
Quote follow-up email templates
Send each as a reply in the original thread, so the quote is one scroll away. Keep it under a hundred words.
Day 2: make sure it landed
Subject: Re: [original subject]
Hi Hannah,
Just checking the quote I sent on Tuesday reached you and that nothing in it was unclear. If the numbers or the delivery window change, let me know and I'll adjust it.
Best, Marta
Day 6: give a reason to reply
Hi Hannah,
A quick note that we're starting to fill up for the second week of June. I can hold your date for seven days without a deposit if that helps while you decide. Happy to answer any questions in the meantime.
Best, Marta
Day 12: close the loop
Hi Hannah,
I'll assume you've gone a different direction for the 12th, which is completely fine. I'll release the date on Friday unless I hear from you. If plans change later, you're welcome to get in touch and I'll check availability again.
All the best, Marta
The tone is the point: a neighbour checking in, not a salesperson chasing. Avoid "any update?" with nothing attached.
Variations by business type
Weddings and events: sort by event date, not inquiry date
Couples compare four or five vendors and go quiet because life is busy, not because they decided against you. Two adjustments work well.
First, sort open quotes by event date. A couple asking about next June can wait a day; a couple asking about a date eleven weeks out cannot. Event date also tells you when you are about to double-book.
Second, make the date the reason to reply. A day-7 note such as "we still have 14 June held for you, and we've had another inquiry for that weekend" is honest and gives the couple a real reason to decide. If they go quiet after the last call, move the quote to lost. If they come back, move it straight back.
If you need contracts, invoices and e-signed proposals in one link, that is HoneyBook or Dubsado territory. A Gmail tracker handles the inquiry and follow-up stage; many vendors use both.
Contractors, roofing and solar: lead with a plain-words recap
Homeowners collect three bids, and yours is one PDF among three. Make the first touch do the comparison work for them:
Subject: Your roof estimate for [address] – quick summary
Hi [first name], thanks for having us out on [inspection date]. In short: [job type] at [address], [material], [price], and we could start the week of [date]. Reply here or call me at [number] with any questions. – [your name]
Then a day-4 call to answer questions, a day-10 "anything holding you back?" (price, timing, financing, a spouse who has not read it yet) and a day-21 close-the-loop. For storm or insurance work, track "waiting on adjuster" separately, because those jobs are not stalled, just waiting, and mixing them in hides the estimates you can actually influence.
If your bigger pain is scheduling crews, dispatch or invoicing, a field-service tool such as Jobber is the right category. A Gmail tracker fixes the gap between "estimate sent" and "did they reply?"
The four stages every quote goes through
Whatever you sell, an inquiry moves through the same stages:
- Inquiry – someone asked; nobody has priced it yet.
- Quoted – you sent a price; the ball is in their court.
- Chased – you followed up at least once and are waiting again.
- Booked or Lost – it closed one way or the other.
The right unit to track is the email thread, not the customer and not the invoice. The thread already holds the request, your quote, every reply and their dates. Attach the stage to the thread and anyone on the team can open info@, see "Quoted, last touched 5 days ago," and know what to do.
Option 1: Track quotes in Gmail for free (labels plus a sheet)
The labels
Create one parent label and five nested labels. The numbers keep them in stage order.
- Quotes/1-Inquiry
- Quotes/2-Quoted
- Quotes/3-Chased
- Quotes/4-Booked
- Quotes/5-Lost
One stage label per thread at a time. When you send a price, move the thread to 2-Quoted and snooze it to day 2 so it comes back to the top of your inbox when the first follow-up is due. A Gmail filter can auto-apply 1-Inquiry to messages to info@ containing words like "quote", "availability" or "price".
The sheet
Labels give you the stage but not the amount or job date. Add a Google Sheet:
| Column | Example |
|---|---|
| Received | 2026-10-14 |
| Customer | Hannah R. |
| Job or event date | 2027-06-12 |
| What they want | 120 chairs, 12 round tables |
| Quote amount | 1,860 |
| Stage | Quoted |
| Next follow-up | 2026-10-17 |
| Thread link | Paste the Gmail URL |
Use conditional formatting to turn any row red when Next follow-up is before today, and sort by that column each morning.
Where the free setup breaks
Two people on one inbox. One moves the label, the other updates the sheet, and by Friday nobody trusts either.
Thirty-plus open quotes. Skimming a long label is how quotes get missed in the first place.
No reminders. Labels and sheets do not nudge you. Snooze helps, but it holds one date per thread and nobody else sees it.
If you are solo and your busy season peaks at around 20 open quotes, stop here. The free setup will serve you for years.
Option 2: A Gmail CRM that schedules the follow-ups for you
A Gmail CRM adds a pipeline board to Gmail itself, so there is no separate tab to remember. Each inquiry thread becomes a card in a column matching the four stages, carrying the amount, job date and next follow-up, and opening either the thread or the card shows you the other.
Here is how it works in Teamopipe, our product. The same pattern works in Streak or NetHunt.
- Create a pipeline with the stages Inquiry, Quoted, Chased, Booked, and add custom fields for job date and quote amount.
- Create a deal from the inquiry email in one click from the Gmail sidebar. The thread stays linked to the deal.
- Automate the cadence. Add one automation: when a deal's stage changes to Quoted, create three tasks due in 2, 6 and 12 days. Every quote now gets its follow-ups scheduled the moment you move it, and Teamopipe's entry plan includes 3 automations.
- Save the three follow-ups as email templates, with the customer's name filled in from the deal.
- Work the task list each morning. Open Gmail, open what is due, insert the template, send, move the card. A second person on the inbox sees the same board and the same tasks.
The honest caveats: there is no native mobile app, only a mobile web app, which matters if you update cards from a roof or a venue car park. Teamopipe does not do contracts, invoicing or payments. Automations create tasks and update deals; they do not send the follow-up emails for you, which for quotes is usually what you want anyway. If you do want automatic follow-ups that stop when the customer replies, multi-step sequences are on the Growth plan.
Prices as of October 2026, per user per month on annual billing:
| Labels + sheet | Teamopipe Starter | NetHunt Basic | Streak Pro | |
|---|---|---|---|---|
| Price per user | $0 | $19 ($24 monthly) | $24 ($30 monthly) | $49 ($59 monthly) |
| 2 users, per year | $0 | $456 | $576 | $1,176 |
| Stage on each thread, visible in Gmail | Labels only | Yes | Yes | Yes |
| Follow-up tasks and reminders | Snooze only | Yes, can be automated | Yes | Yes |
| Works for two or more people | Strained | Yes | Yes | Yes |
See the Streak and NetHunt comparisons for the trade-offs. For a broader look at follow-up habits beyond quotes, read how to manage sales follow-up in Gmail.
Start your free 14-day trial
An affordable alternative to Streak and other complex CRMs.
Clean out lost quotes at the end of each season
Florists and venues get a flood of inquiries in January and February; roofers get theirs after the first storm. During peaks the Lost column fills fast. At the end of each season, scan it for two patterns: lost to price and lost to silence. Price losses tell you whether to adjust next season's rates. Silence losses tell you whether the cadence was actually followed. If half the lost quotes never got a day-6 follow-up, the problem is not the market.
A 10-minute setup checklist
- Pick a route: labels and a sheet, or a Gmail CRM.
- Create the five labels, or a pipeline with the four stages.
- Add a Gmail filter so new inquiries land in Inquiry automatically.
- Save the three follow-up emails as templates.
- Add your currently open quotes, honestly staged.
- Agree the cadence with anyone else on the inbox: day 2, day 6, day 12.
- Block ten minutes each morning to work what is due.
FAQ
How long should you wait to follow up on a quote?
Two days. A short note on day 2 confirms the quote arrived and surfaces questions while they are cheap to answer. Follow with a second touch around day 6 and a last one around day 12, adjusted to the customer's decision date.
How many times should you follow up on a quote?
Three times is enough for most service businesses. Larger or financed jobs may justify a fourth touch around day 21. After the last touch, mark the quote lost and stop.
How do you follow up on a quote without sounding pushy?
Reply in the same thread, keep it under a hundred words, and give a reason to reply other than wanting the sale: confirming it arrived, offering to hold a date, or saying when you will release the slot.
Can I track quotes in Gmail for free?
Yes. Nested labels for each stage, snooze for the next follow-up date, a filter to catch new inquiries and a Google Sheet for amounts and dates cost nothing. The limits are that nothing reminds the rest of the team and the system strains past one person.
What is the best way to track quotes for a small team?
Track each quote as a card attached to its email thread, with a stage, amount, job date and next follow-up. A Gmail CRM such as Teamopipe, Streak or NetHunt does this inside the inbox, and in Teamopipe an automation can schedule all three follow-up tasks when a quote moves to Quoted.





