
Quick answer: Freelance cold email works when you send a short, specific message to a small list of prospects you have actually looked at, from an inbox that passes basic authentication checks. The system is: build 50 real prospects, write one relevance line per prospect, send a 100–150 word message with a small ask, follow up twice, and stop.
Table of Contents
Key takeaways
- Targeting beats volume. Fifty researched prospects will outperform five thousand scraped addresses because each message can name a real problem.
- Keep the first touch under 150 words with no attachments and no calendar links. The goal is a reply, not a meeting.
- Follow up twice over two weeks. The second and third touches often get the answer because the first one arrived at a bad moment.
- Protect your reputation: send from a separate domain that passes SPF and DKIM, keep daily volume small, and honour opt-outs immediately.
Why most freelance cold email fails before it is opened
Most freelance cold email dies in the inbox, not in the pitch. The sender bought a list, wrote a generic message, and sent it from a domain with no authentication. The prospect sees an unfamiliar name, a subject line that smells like a blast, and deletes it. The problem is upstream of the copy.
Four habits cause most of the damage. The first is no list discipline: scraping thousands of addresses from a directory and treating them as equal. The second is a pitch in line one — “I’m a web developer and I help businesses grow” — before the reader knows why you are writing to them. The third is a message that is indistinguishable from a template blast: the same paragraph, the same claim, the same call to book a call. The fourth is using volume as a substitute for targeting, as if sending more copies of the same message will eventually work.
There is a quieter failure too: sending from your main business domain. If you send a few hundred cold emails from the address on your portfolio site and people mark them as spam, you risk the deliverability of your actual client correspondence. That is a bad trade for a channel that should be small and deliberate.
The fix is not a better subject line. It is a smaller list, a real reason for writing, and a message that reads like it was written to one person. Everything else in this article follows from that.
Build a list of 50 real prospects, not 5,000 scraped addresses
Start with fifty. Not because fifty is a magic number, but because fifty is a number you can research properly in a few evenings. For each prospect you need one line that explains why you are writing to them specifically. If you cannot write that line, the prospect does not belong on the list.
Where to look depends on your service. Local business directories are good for web development and design: chambers of commerce, trade associations, neighbourhood business listings. Job boards are good for SEO and copywriting: a company hiring a content writer is a company with budget and a gap. Agency partner pages are good for ongoing support: agencies list the services they outsource. Conference lists and community forums are good for niche work, because the people there have already self-identified as part of a group.
For each prospect, open the site and look for a real problem. A slow homepage. A contact form that does not submit. A blog last touched two years ago. A services page that lists eight things and explains none. A missing meta description on the page they most want to rank. Write that observation in one line next to the contact details. That line is the reason your message is not spam.
Disqualify anyone you cannot name a specific reason for. This feels wasteful, and it is the most valuable step in the process. A list of fifty with a note each will produce more replies than a list of five hundred without. It also protects you from the temptation to send more when results are slow.
Keep the list in a simple sheet: name, company, email, source, the one-line note, date sent, follow-up dates, reply status. That sheet is your CRM for now, and it is enough until you are sending consistently every week.
The structure of a message that gets answered
A first-touch cold email has five parts, and each one is short. The subject line is plain and specific: the company name plus a neutral phrase, such as “Question about the Acme site” or “Your services page”. No exclamation marks, no “quick question” tricks, no fake reply threads.
The first line is the relevance note. “I looked at your site and the services page lists six offerings but doesn’t say what a project costs or who it’s for.” That sentence proves you are not a blast. The second part is one sentence of proof: a comparable client, a result, a link to one relevant piece of work. Not a paragraph of credentials.
The third part is a small, specific ask. Not “book a call”. Something like: “Would it be useful if I sent over a one-page outline of how I’d restructure that page?” A small ask is easy to say yes to, and a yes starts a conversation. The fourth part is a plain signature with your name, what you do, and a link to your portfolio or profile. Keep it to three lines.
Why 100–150 words beats 400: the reader is skimming on a phone between meetings. A long message signals effort on your side and work on theirs. A short message with one clear ask can be answered in one line. No attachments on the first touch — they trigger spam filters and feel presumptuous. No calendar links either; asking someone to book a slot before they have replied is a demand, not an offer.
Write in plain text, in the same voice you would use in a normal email. Read it aloud. If it sounds like a brochure, cut it.
Four copy templates that fit common freelance services
Templates are a starting point, not a script. The relevance line must be rewritten for every prospect. What stays constant is the shape: relevance, proof, ask.
Site rebuild
Subject: “Your site on mobile”. Open with what you saw: “The homepage looks good on desktop but the navigation collapses on a phone.” Proof: one line about a similar rebuild and what changed. Ask: “Want me to send a short list of the three fixes I’d make first?” Change for each prospect: name the actual page and the actual issue. If you cannot see an issue, do not send this template.
SEO audit
Subject: “Your [service] page”. Open with a specific observation: “Your main service page has no meta description and the H1 repeats the menu label.” Proof: a comparable local business and the change in enquiries, described honestly. Ask: “Would a two-page audit of the top three pages be useful?” Change: the page and the observation. Never claim rankings you cannot support.
Design retainer
Subject: “Ongoing design for [company]”. Open with a signal: a new product line, a hiring post for marketing, a rebrand announcement. Proof: one retainer client and the kind of work you handle each month. Ask: “Open to a short note on what a monthly design slot would cover?” Change: the signal. This template only works when there is a real trigger.
Ongoing support
Subject: “Cover for [company]’s site”. Open with a risk you noticed: an outdated plugin notice, a broken link in the footer, a contact form with no confirmation message. Proof: one line about the kind of maintenance you do. Ask: “Want me to send a short checklist of what I’d fix in the first month?” Change: the specific issue. This is the easiest template to make relevant because most small sites have visible problems.
When a reply arrives and turns into a quote, use a fixed price rather than an hourly estimate. The freelance pricing guide walks through how to scope and present that number so the prospect can say yes without a second meeting.
The follow-up sequence: three touches over two weeks
Most replies come from the second and third touch, not the first. The first email arrives when the prospect is busy, travelling, or halfway through something else. A short follow-up brings it back at a better moment. Plan three touches: day one, day four or five, and day twelve to fourteen.
The second touch adds something. It is not “just bumping this”. Add one new piece of information: a second observation about the site, a link to a relevant example, a sentence about a similar client. Keep it to two or three sentences and do not repeat the first message. The third touch is the close: “I’ll assume the timing isn’t right and won’t follow up again. If it changes, my details are below.” That message often gets the reply, because it removes the pressure and gives the prospect a clean way to respond.
Never repeat the same paragraph. If the second touch is a copy of the first with “following up” at the top, you have taught the prospect to ignore you. Each touch should stand alone as something worth reading.
Stop after three. If there is no reply, mark the prospect closed and move on. Re-approach after a few months only if something has genuinely changed — a new site, a new hire, a new service line. Persistence beyond three touches reads as pressure, and it damages the reputation you are trying to build.
Make deliverability non-negotiable
None of the copy matters if the message lands in spam. The basics are not optional: send from a domain that passes SPF and DKIM, keep the message plain text, and send small daily volumes from an inbox that has been warmed up over a couple of weeks.
Do not send cold email from your main business domain. Register a separate domain for outbound — a close variant of your name is fine — and keep your portfolio and client correspondence on the original. If the outbound domain gets flagged, your business email is unaffected. A registrar such as Namecheap is a straightforward place to register and host that second domain. Set up the mailbox, send a few normal emails to yourself and colleagues, and let it warm for a week or two before the first campaign.
Avoid image-heavy HTML, tracking pixels, and multiple links. Plain text with one link in the signature is enough. Include an honest opt-out line: “If you’d rather not hear from me, reply ‘no’ and I won’t write again.” That line is not a legal formality; it is a courtesy that keeps the message human. The technical side — records, warm-up, content rules — is covered in more detail in the email deliverability checklist.
Keep daily volume small: twenty to thirty first touches a day is plenty for a one-person studio. Volume is not the lever. Relevance is.
Handling the reply
When a reply arrives, answer inside an hour if you can. The prospect was thinking about you at that moment; a fast reply keeps the thread warm. Answer the question that was actually asked before you add anything else. If they asked about price, give a range and explain what moves it. If they asked whether you have done this before, send one relevant example.
Send a fixed-price proposal rather than asking for a call. A short email with the scope, the price, the timeline, and what you need from them is easier to say yes to than a calendar link. If they want to talk after reading it, they will ask. The freelance contracts basics covers the clauses to attach when they agree, so the handover from email to signed work is quick.
A “maybe” is not a no. Ask one clarifying question: “Is it the timing or the scope?” If it is timing, agree a date to check back and put it in your sheet. If it is scope, adjust the proposal once. Do not chase a maybe more than twice; treat it as a soft no and keep the door open.
When someone says no, thank them and stop. A graceful exit is remembered, and it is the difference between a prospect who ignores you and one who refers you later.
Measuring it without a CRM
Track four numbers in a simple sheet: reply rate, positive-reply rate, booked-call rate, and the number of proposals sent. Reply rate is replies divided by first touches. Positive-reply rate counts only the replies that express interest or ask a question. Booked-call rate is calls or paid work divided by first touches. Proposals sent is a volume check.
Small numbers indicate real progress. Five replies from fifty first touches is a working system; two positive replies from those five is a good sign; one booked call is a result. If you send fifty and get nothing, the problem is usually the list or the relevance line, not the subject. Read your last ten sent messages and ask whether each one could have been sent to anyone. If yes, the targeting is the issue.
A sheet is enough until you are sending consistently every week. A CRM adds structure you do not need yet, and it adds a reason to spend an evening configuring instead of writing. Keep the sheet simple: one row per prospect, columns for the note, dates, and status.
Point the outbound back to an inbound profile that supports it. A prospect who replies will often check your Upwork profile or portfolio before answering; make sure it says the same thing your email did.
The legal and ethical limits
Unsolicited business email is regulated in most places. The rules differ, but the common shape is: identify yourself, do not use deceptive subject lines, and honour opt-out requests immediately. If someone replies “no” or “unsubscribe”, remove them from the sheet the same day and do not contact them again. Keep a record of opt-outs so you do not re-add them when you rebuild the list.
What makes a message feel personal rather than deceptive is not a first-name merge field. It is a real observation about the prospect’s business, written by a person who looked. A message that says “I loved your website” when the website is broken is worse than a generic one, because it proves you did not look. If you use a template, change the relevance line every time.
Avoid fake reply threads, fake forwarding, and subject lines that pretend to be an internal message. They may get opens, but they cost trust, and trust is the only asset a freelancer has in outbound. The same principle applies after the first project: the habits that keep clients coming back are covered in how to be a successful freelancer, and they start with the first honest email.
| Stage | What it is for | Volume per week | What a good result looks like | Where freelancers go wrong |
|---|---|---|---|---|
| First touch | Earn a reply, not a sale | 10–25 researched prospects | Two or three replies from twenty | Pitching the whole offer in line one |
| Follow-up one | Resurface the message at a better moment | Everything not answered | A few replies that ignored touch one | Repeating the same paragraph |
| Follow-up two | Close the loop and get a clear no | Everything not answered | A polite no or a later yes | Sending a fourth and fifth touch |
| Proposal | Turn interest into a paid project | Only on request | A fixed price accepted or negotiated | Asking for a call instead of quoting |
Cold email checklist
- Fifty prospects, each with a one-line relevance note written after looking at the site.
- A separate sending domain that passes SPF and DKIM, warmed for a week or two.
- A first-touch message under 150 words: relevance, one line of proof, one small ask, plain signature.
- No attachments, no calendar links, and no images on the first touch.
- Three touches over two weeks, each adding something new, then stop.
- An honest opt-out line, and opt-outs removed from the sheet the same day.
- A simple sheet tracking reply rate, positive replies, calls, and proposals.
Frequently asked questions
How many cold emails should a freelancer send per day?
Twenty to thirty first touches a day is a sensible ceiling for a one-person studio sending from a warmed inbox. The limit is research time, not sending capacity. If you cannot write a specific relevance line for each prospect, the list is too big and the daily number should come down.
Should I use my main domain for cold email?
No. Use a separate domain for outbound so a deliverability problem does not affect your portfolio and client correspondence. Register a close variant of your name, set up authentication, and warm the inbox before the first campaign. It costs a little and protects the asset that matters.
What subject line works best for freelance cold email?
Plain and specific beats clever. The company name plus a neutral phrase — “Question about the Acme site” — reads like a normal email and avoids spam-trigger words. Avoid exclamation marks, fake reply threads, and anything that promises a result in the subject line.
How long should I wait before following up?
Four or five days after the first touch, then again around day twelve to fourteen. Each follow-up should add a new observation or example rather than repeat the first message. After the third touch, stop and mark the prospect closed unless something has genuinely changed.
What if a prospect asks for a call on the first reply?
Take the call, but send a short fixed-price outline first so the conversation has something to react to. A proposal in writing before the call saves time and shows you have listened. If they prefer to talk first, keep the call to fifteen minutes and send the outline straight after.
What to do next
Open a sheet and write down twenty prospects from one source — a local directory, a job board, or an agency partner page. For each one, spend three minutes on the site and write one line about a real problem. When you have twenty lines, you have a list worth emailing.
Register the separate sending domain, set up authentication, and warm the inbox while you finish the list. Write one template in your own voice, then rewrite the relevance line for each prospect. Send the first ten, log them, and follow up on schedule. If a client asks for a new brand domain as part of a site build, Atom domain appraisals can help you check the name before you commit.
Measure the first fifty honestly. If the replies are coming, keep the system and grow the list slowly. If they are not, change the targeting before you change the copy. The system is small on purpose, and that is why it works.
Disclosure: some links in this article are affiliate links. If you buy through them we may earn a commission at no extra cost to you.
Looking for a domain instead?
We hold a curated portfolio of premium .com and .si names — short, brandable, and ready to launch. Every listing shows a fixed price and a direct purchase path.
Browse premium .com domainsExplore .si names



