Digital PR & Link Building Tracker

Free template

Your link tracker counts links. The assistants count sources.

Every link building sheet has DR and traffic in it. Almost none record whether the publication is one that AI engines actually quote. That column is the difference between a campaign that moves rankings and one that moves whether ChatGPT names you.

No email. No signup. Rebrand it and use it with your own clients if you like.

Prospect A
National lifestyle site
DR78
Monthly traffic2,400,000
RelevanceLoose
LLM source weightLow
VS
Prospect B
Trade publication in your niche
DR41
Monthly traffic90,000
RelevanceCore
LLM source weightHigh

Every tracker built on DR picks A. We pitch B. A Core link from DR 40 beats a Loose link from DR 80, and B is a site the assistants already quote when someone asks about your category. A is a number in a report.

The problem

DR was a proxy. It is now a distraction.

Domain rating was always a stand-in for something we could not measure directly: does this site carry weight. It was a decent proxy for Google. It is a bad one for assistants, which quote a much narrower set of publications than Google ranks, and quote them regardless of DR.

Links move rankings. Citations move answers.

These are now two separate outcomes from the same activity. A link on a site no assistant ever references still helps you rank. It does nothing for whether an assistant names you. If you only track DR, you cannot tell which one you bought.

Unlinked mentions are worth logging

Classic link building throws away a brand mention with no link. But assistants read the sentence, not the anchor. Brand mention only is teal in this file, not red. It still counts, it still gets reported, and pretending otherwise means half your wins vanish from the sheet.

The diagnosis usually comes from somewhere else

If the GEO visibility tracker shows most of your citations coming from third-party sites rather than your own, that is not a content problem and more blog posts will not fix it. This tracker is what you run next. One diagnoses, the other prescribes.
The layer

The columns that change the decision.

The tab is banded left to right: PROSPECT, CAMPAIGN, OUTREACH, OUTCOME. One row per target site, not per link. Most of it is ordinary, and you already know what a contact email is for. These are the ones that decide who you pitch and what you report.

ERelevance
Core, Adjacent, or Loose topical fit with the client.
A Core link from DR 40 beats a Loose link from DR 80. If you find yourself filling in Loose, ask why the target is on the list at all.
CoreAdjacentLoose
FLLM Source Weight
How often this publication turns up as a cited source in AI answers.
The GEO reason to do PR. Links move rankings, but citations on frequently-referenced sites move whether an assistant names the client. News, Reddit, Wikipedia and established trade press punch far above their DR here.
HighMediumLowUnknown
HAngle / Hook
The one-line reason a journalist would run it.
If you cannot write this line, the pitch is not ready. It is about their readers, not the client’s services. One cell, and it kills more bad outreach than any other part of the file.
I / JTarget Page and Anchor Text
Where the link points, and the anchor you want knowing you rarely get it.
Decide before you pitch. Links landing on the homepage by default are wasted equity. Aim for brand or natural phrasing on the anchor: a row full of exact-match anchors is a footprint.
SOutcome
Link live, Brand mention only, In progress, Rejected, Ghosted.
Brand mention only is not a failure. Unlinked mentions still feed AI citation and still get reported.
Link liveBrand mention onlyIn progressRejectedGhosted
TLink Type
Dofollow, Nofollow, UGC, Sponsored, Mention only.
Be honest here. A tracker that quietly logs sponsored links as dofollow wins is a tracker that lies to you in six months. Sponsored is orange as a flag, not a punishment. Just do not report it as earned.
DofollowNofollowUGCSponsoredMention only
LCost
What the placement actually cost, zero for earned.
Feeds cost per link. The number that tells you whether the campaign is a PR programme or a buying programme. Worth knowing which one you are running before the client asks.
The method

How to run it yourself.

The whole thing is on this page. If you want to do it yourself, this is everything you need.

1

Build the list. One row per site, not per link.

If a site eventually gives you two links, note the second in the Notes column. One row per target keeps your reply rate and win rate honest, because those are rates per relationship, not per URL.
Fill the PROSPECT band first: site, domain, DR, traffic. That part is mechanical and any tool gives it to you.
2

Score relevance and LLM source weight before you pitch

Relevance is a gut call you can defend. LLM source weight is a judgement call too, and it is not a metric you can pull from a tool. Score it on whether you have actually seen the site cited in AI answers for this client’s topics. If you have not looked, the honest entry is Unknown, not a guess.
This is where the list gets shorter, and that is the point. Two columns, filled in before anyone writes an email, will usually delete a third of your prospects. Good. Those were the ones that were going to eat six weeks.
3

Write the angle before you write the email

One line, in column H, that explains why a journalist would run it. About their readers, not your client. If the line does not exist, the row is not ready to pitch and sending anyway just burns the contact.
Decide the target page and the anchor in the same sitting. Both are cheap to decide now and impossible to change once the piece is live.
4

Two follow-ups, then stop

The cap is built into the Status list, and Follow-up 2 is amber-orange on purpose. Past two follow-ups, move on. Anything beyond that is a new angle, not another chase.
PitchedFollow-up 1Follow-up 2Lost
Lost carries brand red. Closing a row honestly is better than leaving it Pitched forever, and a pipeline full of rows nobody will admit are dead is how a campaign quietly stops being measurable.
5

Log the outcome honestly, including the awkward ones

Outcome, link type, cost, live URL. The tracker does the rest: reply rate, win rate, cost per placement, average DR of live links, Core-relevance links live, and the share of your placements that landed on high LLM-weight sites.
That last one is the number this whole file exists to produce. Everything else your old sheet already told you.
Calibration

Three ways people get this wrong.

Sorting the list by DR

It is the most satisfying column and the least useful one on its own. Read it next to Relevance, never alone. A DR 78 Loose placement looks like the best row in the report and did nothing for the client.

Quietly reporting sponsored as earned

Nobody sets out to do this. It happens one row at a time, when a paid placement gets logged as Dofollow and the cost cell is left blank. Six months later the cost per link is a fiction and so is the case study.

Treating a brand mention as a miss

Old habit from a link-only world. An unlinked mention on a site assistants quote is worth more for GEO than a dofollow on a site they never read. Log it, count it, report it.
Questions

FAQ

Is the digital PR tracker really free?
Yes, and there is no email form. Download it, edit it, rebrand it, use it with your own clients. It is the file we run campaigns on, published as it is.
How do I score LLM source weight?
By looking. Run your client’s core prompts in ChatGPT, Perplexity and Google AI Overviews and note which publications keep getting cited. Those are your High rows. It is a judgement call, not a metric you can pull from a tool, and if you have not checked, the honest entry is Unknown.
Do unlinked brand mentions actually count?
For GEO, yes. Assistants read the sentence, not the anchor tag, so being named in a paragraph on a site they frequently cite feeds your visibility whether or not there is a link on your name. For classic SEO the link still matters. That is why Outcome and Link Type are separate columns: one records what happened, the other records what kind of equity you got.
Why cap follow-ups at two?
Because the third one does not work and it costs you the contact. If a journalist has not replied twice, the angle was wrong for them. Come back with a genuinely different story rather than another nudge on the same one.
Can I use it in Google Sheets?
Yes. Use the Make a copy link at the top of this page. The dropdowns, colour coding and the live tracker all carry across.
How many rows does it handle?
The dropdowns and tracker formulas run to row 125. Add rows past that and you have to extend both, or the tracker will quietly stop counting them.
Or we can just run it

The tracker is the easy part.

A spreadsheet does not know an editor. The work is the angle, the relationships, and the discipline to close a row as Lost instead of leaving it Pitched forever. That is the engagement.