Guide

How to build an Upwork proposal tracker spreadsheet

The exact columns for tracking Upwork proposals and connects in a spreadsheet, the formulas for view, reply and hire rate, and where a sheet runs out.

Published · By the ProposalIQ team

The short answer

You need two tabs: one row per proposal, and one row per connect purchase. The proposals tab records what each proposal cost and how far it got. The purchases tab records what you paid for connects. Between them you can work out your view rate, reply rate, hire rate and what each client cost you - none of which Upwork shows you.

The columns below are the ones ProposalIQ began as, and the ones its importer reads, so a sheet built this way can be moved across later without retyping.

Tab 1: one row per proposal

Proposals tab
Date Applied
The day you submitted. Needed for monthly totals and trends.
Job Title
As posted, so you can recognise the row later.
Client Name
Often blank until they reply. Fill it in when you learn it.
Job URL
The one value that identifies a job. Stops you logging it twice.
Bid Amount ($)
Your rate or fixed price on this proposal.
Connects Used
The apply cost only, without any boost.
Boosted?
Yes or No.
Boost Connects
What you bid on the boost, kept apart from the apply cost.
Boost Refunded
Connects Upwork gave back.
Total Connects
Connects Used + Boost Connects − Boost Refunded.
Proposal Viewed?
Yes once the client has opened it.
Client Replied?
Yes once they have written back.
Status
Applied, Interview, Hired, Rejected, Withdrawn and so on.
Amount Earned ($)
What the contract has paid, if it became one.
Cover Letter Used
A short name for the template or version you sent.
Notes
Anything you will want to remember about this job.

Two habits make this tab worth having. Fill in the row when you submit, while the connect cost is still on screen - it is hard to find afterwards. And go back to update Viewed, Replied and Status whenever something changes, because a tracker that only records what you sent cannot tell you where proposals are being lost.

Tab 2: one row per connect purchase

Connect purchases tab
Date
When you bought the bundle.
Connects Purchased
How many were in it.
Price Paid ($)
What it cost you, including tax if you count it.
Price per Connect
Price Paid ÷ Connects Purchased.
Payment Method
Card, or your Upwork balance.
Notes
For example a promotion or free monthly connects.

This tab exists for one figure: the price you actually paid per connect. Total paid divided by total connects bought is the number to multiply your connect spend by. Without it your costs stay in connects, and connects do not tell you whether a client was worth winning.

The formulas

  • View rate = proposals viewed ÷ proposals sent
  • Reply rate = proposals replied ÷ proposals sent
  • View-to-reply = proposals replied ÷ proposals viewed
  • Hire rate = hires ÷ proposals sent
  • Connect spend = sum of Total Connects × price per connect
  • Cost per hire = connect spend ÷ hires
What the sheet produced for one real month
Proposals sent
13
View rate
15.4%
Reply rate
15.4%
Hire rate
7.7%
Net connects used
83
Cost per hire at $0.15 a connect
$12.45

The month that started ProposalIQ. Thirteen proposals is too few to plan around, but it was enough to show that eleven of them were never opened.

Use COUNTIF for the counts, for example =COUNTIF(K:K,"Yes") for viewed proposals, and SUM for the connects. Keep invitations out of this tab or give them their own; they cost no connects and reply far more often, so they flatter every rate.

Where a spreadsheet runs out

  • Boosts get counted twice. If you also keep a separate boost log, the same connects end up in both places and the total drifts.
  • Comparisons need new formulas each time. Boosted against unboosted, one cover letter against another, before and after a profile change - each is another set of filtered counts to build and keep correct.
  • Nothing warns you about small samples. A sheet will happily print 100% from three proposals.
  • It only works if you keep it up. The updates after you submit are the part people stop doing.

None of that is a reason not to start with a sheet. A month of rows in the columns above will already tell you more than Upwork does.

Moving a sheet into ProposalIQ

Export each tab as CSV and import it. Proposals are matched on the job URL and purchases on date and quantity, so importing the same file twice does not double anything. From there the rates, the connect ledger and the comparisons are worked out for you. See importing a spreadsheet in the docs, or the cost per hire guide for the arithmetic by hand.

Keep reading

Get these numbers for your own proposals. Free to start, no card.