Outreach Follow-Up Tracker Template
Outreach rarely fails on the first email. It fails on the follow-ups: some prospects get nudged five times, others never, and nobody knows who said stop.
This tracker gives every prospect one row: why they fit, what you last sent, when to follow up next and the condition that ends the thread.
Each row has one owner and one next action. Opt-outs, bounces and clear noes stop the row the day they arrive.
Inside: a fill-in tracker, follow-up rules, a stop condition picker, a new-reason check, a weekly review, a CSV header and a fictional example.
- Format
- Editable Word .docx
- Length
- 7 variants · ~7 pages
- Price
- 100% free
- Setup
- Copy or download
Get the editable Word doc in one click.
Free · No signup · Instant download
Outreach Follow-Up Tracker Template
Outreach follow-up tracker
One row per prospect and campaign. Update the row the same day anything happens: a send, a reply, a bounce or an opt-out.
Campaign: [campaign name] - Tracker owner: [name] - Max follow-ups: [number]
| Prospect | Relevant reason | Previous contact | Next date | Stop condition | Owner |
|---|---|---|---|---|---|
| [site, page URL, contact name] | [why this page and person, in one line] | [date + touch number + channel] | [YYYY-MM-DD or none] | [what ends this thread] | [name] |
| [prospect] | [reason] | [date + touch] | [date] | [stop condition] | [name] |
| [prospect] | [reason] | [date + touch] | [date] | [stop condition] | [name] |
Per-row detail (fill for every prospect)
- Contact route: [email / contact form / social], where you found it
- Touches sent: [1 / 2 / 3] of [max]
- Last reply: [none / quote of the reply, with date]
- Status: [queued / waiting / follow-up due / replied / hold / won / stopped]
- New reason for the next touch: [what the follow-up adds that the last one did not]
- Stop reason (if stopped): [no / opt-out / bounce / wrong person / max touches / won] on [date]
- Suppressed: [yes, date added to the do-not-contact list / not needed]
Next action
- Outreach owner: [name] - task: send follow-ups due today and log each one by [date]
- Tracker owner: [name] - task: review overdue rows and stop reasons by [weekday]
- Content owner: [name] - task: supply the new reason or asset for touch 2 by [date]
Completion check
- Every open row has a next date. Every closed row has a stop reason and date.
- No row has more touches than the campaign maximum.
- Every follow-up note names a new reason, not just "bumping this up".
- Opt-outs are on the do-not-contact list, with the date they arrived.
- Each row has one owner. Won rows are copied to your backlink tracker.
Why it works
Every outreach prospect has a reason, a dated next step and a stop condition, so follow-ups go out on time and end when they should.
- A written maximum and a stop condition per row end endless nudging before it starts.
- Asking for a new reason before each follow-up turns empty bumps into notes editors can act on.
- Logging opt-outs the same day keeps teammates from contacting someone who already asked to stop.
7 ready-to-use variants
Copy allOutreach Follow-Up Tracker (fill-in)
When to use: One row per prospect, with the relevant reason, previous contact, next date, stop condition and owner, plus a completion check.
Outreach follow-up tracker
One row per prospect and campaign. Update the row the same day anything happens: a send, a reply, a bounce or an opt-out.
Campaign: [campaign name] - Tracker owner: [name] - Max follow-ups: [number]
| Prospect | Relevant reason | Previous contact | Next date | Stop condition | Owner |
|---|---|---|---|---|---|
| [site, page URL, contact name] | [why this page and person, in one line] | [date + touch number + channel] | [YYYY-MM-DD or none] | [what ends this thread] | [name] |
| [prospect] | [reason] | [date + touch] | [date] | [stop condition] | [name] |
| [prospect] | [reason] | [date + touch] | [date] | [stop condition] | [name] |
Per-row detail (fill for every prospect)
- Contact route: [email / contact form / social], where you found it
- Touches sent: [1 / 2 / 3] of [max]
- Last reply: [none / quote of the reply, with date]
- Status: [queued / waiting / follow-up due / replied / hold / won / stopped]
- New reason for the next touch: [what the follow-up adds that the last one did not]
- Stop reason (if stopped): [no / opt-out / bounce / wrong person / max touches / won] on [date]
- Suppressed: [yes, date added to the do-not-contact list / not needed]
Next action
- Outreach owner: [name] - task: send follow-ups due today and log each one by [date]
- Tracker owner: [name] - task: review overdue rows and stop reasons by [weekday]
- Content owner: [name] - task: supply the new reason or asset for touch 2 by [date]
Completion check
- Every open row has a next date. Every closed row has a stop reason and date.
- No row has more touches than the campaign maximum.
- Every follow-up note names a new reason, not just "bumping this up".
- Opt-outs are on the do-not-contact list, with the date they arrived.
- Each row has one owner. Won rows are copied to your backlink tracker.
Follow-Up Timing Rules
When to use: Set the next date from the row's status, so follow-ups go out on time and never stack up.
Follow-up timing rules
Pick your rules once per campaign and write them at the top of the sheet. Then the next date comes from the status, not from memory.
| Status after the last touch | Next date | Next action |
|---|---|---|
| Sent, no reply, touches left | [N] working days after the last touch | Follow up with a new reason |
| Sent, no reply, last touch used | None | Stop: max touches |
| Replied: interested | Next working day | Answer the question, then wait for the link |
| Replied: not now, try later | The date they named | One check-in, then close |
| Out-of-office reply | Two working days after their return date | Same touch number, resend |
| Agreed, link not live yet | The date they promised, plus a few days | One polite check |
Rules that keep the tracker honest
- Set a maximum, such as two follow-ups after the first email, and write it in the header.
- Leave more days between later touches than between early ones.
- An out-of-office is not a touch. Do not count it.
- Before a follow-up, open the prospect page. If it moved or died, check it in the Redirect Checker and update the row.
- Send each follow-up in the same thread, so the editor sees the history.
The email copy for each touch lives in the Cold Email Outreach Sequence Template. This tracker decides when it goes, and when it stops.
Stop Condition Picker
When to use: Choose the stop condition for each row, and handle opt-outs, bounces and noes the same way every time.
Stop condition picker
Write the stop condition before the first send. When it happens, the row stops that day, whoever owns it.
| Stop condition | What you do | Row status |
|---|---|---|
| Asks to be removed or not contacted | Stop all touches. Add to the do-not-contact list today | Stopped: opt-out |
| Clear no | Thank them once, or not at all. No more touches | Stopped: no |
| Hard bounce | Stop. Look for a published contact route once | Stopped: bounce |
| Wrong person, no referral | Stop. Do not guess other addresses | Stopped: wrong person |
| Max touches used, no reply | Stop. Note the date in case a later campaign fits | Stopped: max touches |
| Link live or deal agreed | Thank them. Copy the row to the backlink tracker | Won |
Opt-out facts to know (US)
- The FTC says CAN-SPAM makes no exception for business-to-business email.
- A commercial email must tell people how to opt out, and the opt-out must work for at least 30 days after you send.
- Opt-out requests must be honored within 10 business days. You can't charge a fee or ask for more than an email address.
- After an opt-out, you can't sell or transfer that address.
Source: the FTC's CAN-SPAM Act compliance guide for business, checked 12 November 2026. Other countries have their own rules. Check them for your list.
Simplest habit: stop the row the same day the opt-out arrives. Don't wait for the deadline.
New Reason Check (before each follow-up)
When to use: Make sure every follow-up adds something new and still fits the prospect, or stop the row instead.
New reason check
A follow-up that only says "just checking in" asks the editor to reread your first email. Give them a new reason, or let the row stop.
Answer before you send touch 2 or 3
- Is the reason in the row still true? The page, author and topic are the same.
- What is new since the last touch: [an update to your page, a fresh example, a dead link you spotted, a short answer to their likely question]
- Can the editor check it in one minute?
- Is the ask the same size as before, or smaller?
- Has anyone else on your team contacted this site since? Check the tracker first.
Good new reasons
- You updated the page you offered. Say what changed.
- You found a broken link on their page. Report it, with the URL.
- You can offer a short quote or data point they can use, with the source.
Stop instead when
- The page you referenced is gone or rewritten without the section.
- You have nothing new to say.
- The prospect posted that they don't accept suggestions or links.
No asset fits the gap you found? Plan one with the Content Brief generator, then come back to the row.
Weekly Tracker Review
When to use: A short weekly routine for the tracker owner: overdue rows, stale rows, stop reasons and won links.
Weekly tracker review
Pick one day a week. The tracker owner runs these checks and fixes rows on the spot.
Checks
- Overdue: filter next date earlier than today and status open. Send or stop each one.
- No next date: any open row without one gets a date or a stop reason.
- Over the limit: any row with more touches than the max is stopped and noted.
- Opt-outs: every opt-out row is on the do-not-contact list, with a date.
- Duplicates: one site, one active row. Merge rows from different teammates.
- Won: check each promised link is live, then copy it to your backlink tracker.
Review fields
- Review date: [YYYY-MM-DD] - Reviewer: [name]
- Rows fixed: [list of IDs]
- Rows stopped this week, by reason: [opt-out / no / bounce / max touches]
- Pattern noticed: [e.g. one prospect type never replies]
To confirm a promised link, open the page. To see your strongest links, run your domain in the Backlink Analyzer.
Outgrowing the sheet? A CRM such as crmsoftware.pro keeps contacts, follow-up tasks and history in one place.
Spreadsheet Header (CSV)
When to use: A paste-ready header row and allowed values to run the tracker in Google Sheets or Excel.
Paste-ready spreadsheet header
Paste this row into cell A1 of Google Sheets or Excel, then split text to columns by comma. One row per prospect and campaign.
prospect_id,campaign,site,page_url,contact_name,contact_role,contact_route,relevant_reason,first_contact_date,previous_contact_date,touches_sent,max_touches,last_reply,status,next_date,next_reason,stop_condition,stop_reason,stop_date,do_not_contact,owner,won_link_url,won_date,notesAllowed values
- contact_route: email, contact_form, social
- status: queued, waiting, follow_up_due, replied, hold, won, stopped
- stop_reason: opt_out, no, bounce, wrong_person, max_touches, won
- do_not_contact: yes, no
Sheet tips
- Highlight rows where next_date is before today and status is waiting or follow_up_due.
- Highlight rows where touches_sent is more than max_touches.
- Keep a separate do-not-contact tab. Check it before you add any new prospect.
- Never delete stopped rows. They stop a teammate from pitching the same person again.
Build the prospect list first with the Link Prospect Qualification Sheet. Only qualified rows go in here.
Worked Example (fictional sea kayak shop)
When to use: Four filled rows for an invented sea kayak gear shop: one won, one on hold, one bounce and one opt-out.
Worked example: Drovemere sea kayak gear
Example only. Drovemere is an invented sea kayak gear shop. The sites, URLs, names and dates are made up to show a filled-in tracker.
Campaign: cold-water layering guide - Tracker owner: outreach lead - Max follow-ups: 2
| Prospect | Relevant reason | Previous contact | Next date | Stop condition | Owner |
|---|---|---|---|---|---|
| tideway-paddlers.example/blog/winter-kit-list/ - Ines, editor | Winter kit list has no layering section. Our guide has a layering chart | 27 Oct 2026, touch 2, email | None | Link live on 6 Nov 2026 | Outreach lead |
| wickentarn-paddle.example/capsize-drills/ - Tomas, author | Post mentions cold shock but links nowhere on clothing | 22 Oct 2026, touch 1. Reply: "Revisit in spring" | 2 Mar 2027 | One check-in, then close | Outreach lead |
| coastclub-north.example/resources/ - club secretary | Resource list for new members, no cold-water section | 21 Oct 2026, touch 1, hard bounce | None | Stopped: bounce. No other route published | Outreach assistant |
| harbourkit-reviews.example/drysuits/ - site owner | Drysuit review page, layering question in comments | 23 Oct 2026, touch 1. Reply: "Please remove me" | None | Stopped: opt-out, suppressed 23 Oct | Outreach assistant |
How the rows were filled
- Row 1: touch 2 added a new reason: the guide now had a printable chart. Ines replied and added the link.
- Row 2: "not now" became a dated hold, not a nudge next week.
- Row 3: the team did not guess other addresses at the club.
- Row 4: the opt-out went on the do-not-contact tab the day it arrived, well inside the deadline.
Why this works
- Every row ends with a date or a reason, so nothing is left hanging.
- Nobody got a third follow-up, because the max was in the header.
- The won link moved to the backlink tracker the same day.
Want help planning a follow-up process for your link campaigns? Book a free consultation with Anatolii Ulitovskyi.
How to use this template
- Add only qualified prospects, one row each, with the reason they fit.
- Write the max follow-ups and the timing rules in the sheet header.
- Set a stop condition for every row before the first email goes out.
- After each send or reply, update previous contact, status and next date.
- Before each follow-up, write the new reason. No new reason means stop.
- Stop opt-outs, bounces and clear noes the same day, and add opt-outs to the do-not-contact list.
- Review the tracker weekly and copy won links to your backlink tracker.
Pro tips
- Put the max number of follow-ups in the header. It ends arguments about one more nudge.
- Treat "not now" as a dated hold, with one check-in on the date they named.
- An out-of-office is not a touch. Resend the same touch after their return date.
- Keep stopped rows forever. They are your memory of who said no.
- One site, one active row. Check the tracker before any teammate sends.
Frequently asked questions
What is an outreach follow-up tracker?
A sheet with one row per prospect. It records why they fit, the last contact, the next follow-up date, the stop condition and an owner.
How is it different from a cold email sequence?
The sequence is the emails. The tracker decides when each one goes and when to stop. Use both: copy from the Cold Email Outreach Sequence Template, timing from here.
How many follow-ups should I send?
Pick a small maximum, such as two after the first email, and write it in the header. Each follow-up should add a new reason, or the row stops.
How fast do I have to honor an opt-out?
For US commercial email, the FTC's CAN-SPAM guide says within 10 business days, with no B2B exception. Stopping the row the same day is simpler.
When should I move the tracker into a CRM?
When several people send outreach, or you lose track of who owns which contact. A CRM keeps history, tasks and owners in one place.