What You'll Need
Gather this before you touch a single report. Ten minutes of setup now saves you from arguing with your own data later.
Search Console access (owner or full user). You need 30 days of position, click, and impression history exported before any link goes live.
A rank tracking platform. Daily checks across Google, Bing, and Yahoo. If you sell locally, pick one that offers map-pack grid views.
A backlink tool for spot checks. Semrush works. So does any tool that shows referring domains, authority metrics, and anchor text.
A spreadsheet for your order ledger. One row per link: target URL, anchor, tier, publisher metrics, live date.
The signed-off order list. Exactly what the link building company agreed to deliver, with target pages and the planned anchor mix.
The vendor's delivery report. It must list live URLs. A screenshot of a spreadsheet won't cut it.
An index checker. You'll verify each URL got crawled before you credit it with anything.
A short list of control pages. Pages that won't get links, so you've got something to compare against.
Skills: basic spreadsheet work, reading Search Console reports, and a working grasp of tier structure and anchor ratios. No coding.
Time required: about 2 to 3 hours for the initial setup. After that, plan on roughly 30 minutes a week for checks and 1 hour a month for the report. The full read on results takes 8 to 12 weeks, so don't expect answers at week two.
Most people who hire link building companies can't say which link moved which page. They get a monthly PDF, a few green arrows, and a vague sense that something worked. Then renewal comes around, and they decide on gut feel. That's an expensive way to buy.
The problem isn't the vendors, at least not always. It's that nobody set up a way to measure the work before it started. Rankings drift for a dozen reasons: a content update, a Google core change, a seasonal spike, a competitor's bad month. Drop twenty new links into that mess and every position change looks like proof of something.
It isn't. Not unless you've pinned down a baseline, logged every delivery, and checked that Google ever crawled the links in the first place.
Here's what 12 years in this work teaches you fast: the buyers who get value from a link building agency are the ones who keep their own records. They know the target URL, the anchor, the tier, and the live date for every placement. They don't wait for a vendor to tell them what happened.
That matters even more for in-house SEO owners who've already paid an agency once and watched the results get fuzzy. You've seen the retainer. You've seen the vague reporting. Buying links directly cuts the margin, but it also hands you the job of proving what worked.
So how do you do that without a data science team? With a handful of habits, a spreadsheet, and a rank tracker that checks positions every day. The setup takes an afternoon. The payoff is knowing, rather than guessing, which orders deserve a reorder.
What You'll Achieve and What You Need Before You Start
A founder pays for twelve guest posts in March. By June, rankings on three pages have jumped, but nobody can say which links did it. The agency report lists domains, not dates. That's the exact mess this guide fixes.
The end result: a ranking record that ties each link to a movement
Done right, you'll hold one sheet that matches every placed link to a live URL, a go-live date, a target page, and a keyword position before and after. No guessing. Just a timeline you can defend to a boss or client.
Most link building companies hand over a vague monthly PDF. You need more than that, and you can build it yourself.
Prerequisites: access, accounts, and a signed-off order list
Get these in place first:
Search Console and analytics access for the domain, set up before the first link goes live.
A rank tracker with daily checks (a free tool works for a small list, but daily history matters).
A baseline snapshot of 20 to 50 target keywords, taken at least two weeks before launch.
A signed-off order list naming each target page, anchor text, and planned publisher.
Skip the order list, and you'll never know what was promised versus delivered. Does that sound fussy? It isn't. It's the only way the data means anything.
Step 1: Freeze a Baseline Before the Link Building Agency Touches Anything
No baseline, no proof. That's the rule. Once a link building agency starts placing links, every movement in rankings gets blurred with seasonality, algorithm shifts, and your own site edits. Lock the numbers first.
Export 30 days of positions, clicks and impressions from Google Search Console
Open the Performance report, set the date range to the last 30 days, and export the Queries and Pages tabs. Save both files with today's date in the name. Thirty days smooth out weekday swings, and it's short enough that the data still reflects the site as it is now.
Capture three things per query:
Average position (treat it as a range, not a fixed rank)
Clicks
Impressions
Then add a rank tracker snapshot, since Search Console averages hide daily movement. Most link building companies won't hand you this. Collect it yourself.
Record the pages and keywords the links are meant to move
Write down the exact target URL for every planned placement, plus the keyword each one should lift. A vague goal like "grow the blog" can't be tested. "Move /pricing from position 14 to the top 5 for one commercial term" can.
For service-area pages, the same discipline applies to local link building, where you'd log the Google Business Profile position alongside organic rank.
Finally, note any site changes planned during the campaign.
Content rewrites, migrations — title tweaks all muddy attribution. Hold them, or log them with dates.
Step 2: Build an Order Ledger for Every Link Your Link Building Company Delivers
Who remembers what was ordered three months ago? Nobody does. That's why a buyer working with link building companies needs a ledger from the first order, before a single ranking moves.
Columns to log: target URL, anchor, tier, publisher metrics, live date
One row per link. No exceptions.
Target URL: the exact page the link points at, whether a money page or a Tier 1 asset.
Anchor: the text as published, not as ordered.
Tier: Tier 1 or Tier 2. Tier 2 should never point at the money site.
Publisher metrics: domain rating, trust flow, monthly organic traffic, referring domains.
Live date: the day the URL went live, plus the date it was submitted for indexing.
A local business has one more job: tag each row by service area. A local seo link building company should deliver citations — map-pack links in a format that drops straight into those rows.
Why a report with live URLs beats a screenshot of a spreadsheet
A screenshot proves nothing. It can't be clicked, crawled or checked (and it's easy to edit).
A report listing live URLs lets the buyer verify the link, the anchor — the page in two minutes. Paste those URLs into the ledger, then compare them against rank data a few weeks later. That's the only way to say what worked.
Step 3: Sort Links by Tier So Tier 1 and Tier 2 Effects Don't Blur Together
One syndicated article can land on 175 or more separate sites, one link per domain. Log that as a single line in a rank tracker and the data turns to mud. Link building companies often deliver mixed batches, and a mixed batch makes every ranking jump look like proof of something.
Money-page links versus links pointed at your Tier 1 assets
Tag every delivered URL with a tier before it touches your spreadsheet. Tier 1 means real publishers, wires, and syndication, aimed at pages that earn revenue. A guest posting service placement is the clean example: one article, one publisher, one target URL.
Then split your tracking sheet into two groups.
Tier 1 rows: target is the money page. Track that page's keyword positions weekly.
Tier 2 rows: target is a Tier 1 asset. Track whether that asset got indexed, not whether the money page moved.
Don't merge the two. Ever.
Why Tier 2 never points at the money site
Tier 2 links are volume links with lower trust. Aimed at a homepage, they can look unnatural. Aimed at a Tier 1 asset, authority flows uphill through a page Google already trusts (and that's the whole mechanism).
The rule also keeps your data readable. If a money page climbs, check Tier 1 indexation first — did Google crawl the placement? — and compare the date against your Tier 2 run. If Tier 2 never touched the money site, you know exactly which layer to credit. Simple.
Step 4: Set Up Daily Rank Tracking for Your Target Keywords
Weekly rank checks are not good enough. A keyword can jump twelve spots on Tuesday and slide back by Friday, and a weekly snapshot hides which placement caused it. Daily data is the only way to tie a move to a delivery date.
Pick a rank tracking platform and load keywords in one batch
Choose a platform that stores history, not one that runs a lookup when you ask. Profit Labs™ has recorded 2.7 million ranking data points across 5,965 tracked keywords, so the daily-history approach is how its own work gets checked too.
Load everything at once.
Pull your keyword list from Search Console queries, your campaign plan, or a sheet. Then tag each keyword by target URL and by the order it was placed under, such as paid guest posting services or press distribution. Those tags turn a pile of positions into a readable before-and-after.
Track Google, Bing and Yahoo, plus local map-pack grids if you sell locally
Google gets the attention. Bing and Yahoo still send real traffic, and a placement that moves one engine but not the others tells you something about the link.
All three engines: daily positions for every keyword, per client.
Map-pack grids: block-by-block heatmaps showing where a local listing ranks, not just one average number.
Fresh re-checks: a dropped keyword should be re-verified with a live lookup before it's logged as a miss.
Skip that last one and a crawl blip reads as a lost ranking. Annoying. Avoidable.
Step 5: Verify Every Link Is Live and Indexed Before You Credit It
A founder gets a delivery report from one of the link-building companies he hired: 40 placements, all marked complete. He credits them for a ranking jump in week three. Then he checks. Eleven of those URLs return a 404 — nine more never got crawled. The jump came from something else entirely.
That's why a report isn't proof. A live URL that Google hasn't seen passes nothing.
Run an index check on each URL
Pull every delivered URL into one sheet. Then check three things for each one:
HTTP status: it should return 200, not a redirect or an error.
Link presence: your target page and anchor text sit in the live HTML, and the tag isn't nofollow unless you paid for that.
Index status: the page appears in Google, not just on the site.
Run a quick site: search on the URL, or use a bulk index checker. Anything unindexed after a week goes on a watch list. Don't credit it yet.
One click to submit, then track each link to indexed status
Here's what most people miss: indexing doesn't happen on its own for most links. Submit the stragglers, then keep polling until each one flips to indexed. On Profit Labs™, it's one click, then the platform tracks each asset until Google has it, and the report is stored permanently.
Apply the same discipline to private-network placements. If you buy a PBN backlinks service, those links get the same check as everything else. No exceptions.
Only credit a link once it's live and indexed. Everything before that date is noise.
Step 6: Annotate the Timeline So Each Ranking Move Has a Cause on the Calendar
A ranking chart without dates is just a squiggly line. Anyone who has paid link building companies for a few months knows the argument that follows: did the links do that, or did something else? A calendar settles it.
Mark live dates, indexing dates, content updates, and site changes
Start a shared sheet, or use annotations in the rank tracker. Log every event with a date, because the gap between a link going live and Google crawling it can run from a day to several weeks. Placements like high authority backlinks should get two entries, not one.
Live date: the day the URL goes public.
Indexing date: the day Google actually sees it (check, don't assume).
Content updates: rewrites, new sections, title tag edits on the target page.
Site changes: migrations, template swaps, redirects, speed work.
Skip the indexing entry and the lag looks like failure. Skip the site changes and a developer's tweak gets credited to the vendor.
Keep a separate note for algorithm updates and seasonality
Keep these on their own row. Core updates and holiday demand swings (an ecommerce store in November, say) move rankings regardless of any link. Mark them in a different color so they never blend with your own work.
Then read the chart. A jump that follows an indexing date by a week, with no other event nearby, earns the credit.
Step 7: Wait the Right Amount of Time, Then Read the Movement Correctly
How long should anyone wait before judging what link building companies delivered? Longer than most people want to. Checking rankings three days after a placement goes live tells you nothing.
Typical lag between a live link and a visible position change
Plan on 4 to 12 weeks for a clear signal. A link has to be crawled, indexed, then weighed. Skip the indexing check, and you're guessing. Authority passes slowly, and tier 1 backlinks on real publishers usually show their effect before volume links do.
Here's the practical read on timing:
Weeks 1-2: confirm the live URL and indexed status. No ranking verdict yet.
Weeks 3-6: watch for early shifts on low-competition terms.
Weeks 6-12: judge competitive keywords against your baseline.
Don't touch titles or content on the target page during this window. Change two things, and you can't say which one worked.
Position, impressions, and clicks: which one moves first
Impressions usually move first. Google starts testing the page for more queries before it climbs into the top ten, so Search Console shows broader exposure while the average position barely twitches. Position follows. Clicks come last, because they only grow once you cross onto page one or win a better snippet.
So read them in order. Rising impressions with flat clicks means the link is working and the ranking hasn't landed yet. That's progress, not failure. Flat impressions after twelve weeks, with the link indexed, is the point to question the placement.
Step 8: Separate Link Effects From Content, Technical and Seasonal Noise
Roughly 4 in 10 ranking jumps credited to a link campaign trace back to something else on the site. That's a guess, but any practitioner who's audited a few dozen accounts will tell you it's close. Link building companies rarely volunteer that number.
Use control pages that received no links
Pick 5 to 10 pages that match your target pages in age, intent, and starting position. Then leave them unlinked. Same content team, same site, same seasonality. If the control group climbs 6 positions and your linked pages climb 8, the links earned you two. Not eight.
Log every content edit, template change, and redirect on a shared sheet, because a rewritten title tag can look exactly like a link win. Pages that took high authority link building placements should be compared against that log before anyone claims credit.
Check Search Console queries to confirm the right pages moved
Rankings in a tracker can lie. Search Console doesn't. Filter by the exact URL that received the link, then compare impressions and average position for the 28 days before and after indexation.
Target page, target queries: impressions should rise first, clicks follow.
Target page, unrelated queries: movement here points to content or technical changes.
Control pages: flat lines confirm the lift was real.
Does the right page rank for the right query? If not, the link didn't do what you paid for.
Step 9: Check Anchor Ratios and Referring Domains Against What You Ordered
A tidy delivery report doesn't prove the order was filled correctly. Most link building companies hand over a list of live URLs, and that's where many buyers stop. Don't. The report shows what shipped, not whether it matches the plan.
Compare delivered anchors to your planned mix
Export every delivered link into a sheet. Tag each anchor as branded, exact match, partial match, naked URL or generic. Compare the percentages against the mix in the original brief.
Branded and naked URL anchors should carry most of the profile.
Exact match anchors above the ordered share signal drift.
The same anchor repeated across many domains looks like a template.
Syndicated placements need their own row, since one article can produce hundreds of near-identical anchors. Buyers using content syndication services should count those copies separately from guest posts, or the ratios will mislead. (Mixing them is the most common spreadsheet mistake.)
Spot-check publisher authority, traffic and niche fit using a backlink tool like Semrush
Sample at least 10 percent of referring domains. Run each through Semrush or a similar platform and record authority score, monthly organic traffic, and topical category.
Confirm the traffic is real and not sliding toward zero.
Check the niche matches the ordered category.
Flag any domain that carries outbound links to casino, pharma or unrelated services.
But here's the thing. A site with a high authority score and no organic traffic is a weak placement. Would anyone pay for that twice?
Log every miss and send it back to the vendor within the same week.
Step 10: Score Each Delivery by Cost per Ranking Gain
A founder pays one of the link building companies $6,000 for a month of work — gets a report showing a dozen new placements. The main service page moved from position 14 to 9. Good result? Maybe. Nobody can say until the spend gets divided by something.
Divide spend by positions gained on money pages
Use one formula: delivery cost divided by positions gained on the target page across its tracked keywords. Start measuring the day before the links go live. Count money pages only (the ones that earn revenue), not the blog posts that happened to rise.
A $1,200 batch that lifts a service page five positions costs $240 per position. Simple. Log it per order, not per month.
Rank guest posts, press releases, syndication, and niche edits against each other
Build a table with one row per delivery type and these columns:
Spend in dollars or credits
Positions gained across the keyword set
Cost per position
Indexed? (a link Google never crawled can't take credit)
Guest posts — niche edits usually move one page hard. Press releases and syndication spread volume across hundreds of URLs, so they often lift supporting assets more than the money page itself. Judge them on that basis. Don't expect a wire release to behave like a niche edit.
But overlap muddies everything.
Did the press release work, or the guest post that landed the same week? Stagger deliveries by at least two weeks. After two or three cycles, the cheapest cost per position gets the next budget. Wouldn't you rather fund that than guess?
Step 11: Build a Monthly Report You Can Hand to a Boss or Client
A report nobody can audit is just a story. Plenty of link building companies send those, so the in-house owner needs a format that survives scrutiny: one page of numbers, one page of notes.
What goes in: baseline, ledger, index status, rank deltas
Baseline: positions, organic clicks, and referring domains captured the day before the first link went live.
Ledger: every placement with live URL, anchor text, publish date, and target page.
Index status: how many ledger URLs Google has actually crawled. An unindexed link counts for nothing.
Rank deltas: movement per keyword against baseline, pulled from daily checks so one crawl blip doesn't read as a lost ranking.
Add a notes column too. Which links are tier 1 and which are tier 2 boosters? (Tier 2 should never point at the money page, so the ledger should show that at a glance.) Flag anything that dropped. Don't hide it.
White-label reporting for freelancers and agencies reselling the work
And here's where resellers get stuck: the client should see the agency's brand, not a vendor's. Use a portal on your own subdomain, put your logo on every report — schedule delivery by email on the first of the month. Simple. Repeatable.
Profit Labs™ returns a branded report for each asset with every live URL, while rank tracking sits in the same dashboard. The ledger and the rank deltas never end up in separate spreadsheets, and the client relationship stays yours. Isn't that the point of buying the work from link building companies in the first place?
Troubleshooting: Common Mistakes That Make Link Building Results Impossible to Read
Why does a ranking jump so often get credited to the wrong vendor? Usually because nobody wrote down who built what, and when. Most link building companies report their own work and nothing else. That's fine. It just means the reading job falls on you.
Buying from several vendors at once with no shared ledger
Three vendors, one month, one traffic bump. Who earned it? Nobody can say. Fix it with a single sheet that every order lands in the day it's placed.
Order date and vendor name
Target URL and anchor text used
Live link URL once delivered
Crawl or index status and the date you checked it
A platform that handles guest posts, press, syndication, and Tier 2 boosters under one login does this for you. It's the cheapest way to stop guessing.
Judging results at week two, or crediting links that never got crawled
Week two is noise. Most placements need several weeks to get crawled and settle, and a keyword can wobble before it moves. Here's what most people miss: a link Google never crawled can't have caused anything.
So check indexation first. Then compare rankings against the placement date, not the invoice date. Credit only links that show as indexed (one click to submit, then track it to indexed). Everything else stays on the pending list.
Next Steps: How to Confirm Your Tracking Is Accurate and Decide What to Buy Next
Across 5,965 tracked keywords, Profit Labs™ has logged 2.7 million ranking data points. That's roughly 450 checks per keyword, and it's why one bad day never gets read as a trend. Daily history separates tracking from guessing. Verify yours before spending another dollar with link building companies.
A short verification checklist for your own data
Baseline: confirm positions were recorded before the first link went live.
Dates: match every live URL in the pickup report to a placement date.
Indexation: check that each link was crawled. An unindexed link can't move anything.
Dropped keywords: re-check with a fresh lookup before logging a miss.
Search Console: compare clicks and impressions, not rankings alone.
Reorder what moved rankings and cut what didn't
Line up each order type against the keyword movement that followed it, over four to six weeks. Which guest posts, press releases, or syndication runs came before a gain? (Judge Tier 2 boosters separately, since they point at Tier 1 assets and not the money page.)
Reorder what moved. Cut what didn't.
But don't overreact to one result. Did a single niche edit lift that page, or did three assets land the same week? If it's the latter, rerun the mix once before dropping anything. Isolating one variable beats trusting a vendor's recap every time.
How-To FAQ
How long should I wait before judging what a link building company delivered?
Wait 6 to 12 weeks after the last link goes live and gets indexed. Impressions in Search Console usually shift first, then positions, then clicks. Judge at week two and you'll cut the wrong vendor. Judge it once the link is confirmed indexed, not the day it was delivered.
What if rankings drop right after the links go live?
A dip in the first few weeks doesn't prove the links hurt you. Check three things before you panic:
Calendar overlap: did a content update, site change, or algorithm update land the same week?
Control pages: did pages that got no links drop too? If so, the cause isn't your links.
Anchors: does the delivered anchor mix match what you ordered?
If only the linked pages fell and the anchors look off, send the ledger to your vendor and ask for a fix.
Do I need paid software to track this?
No. Google Search Console is free and covers your baseline, queries, clicks, and impressions. A spreadsheet works fine as an order ledger. Paid tools only earn their keep once you track hundreds of keywords daily across Google, Bing, and Yahoo, or need map-pack grids for local work. Start free, and upgrade when the keyword list outgrows it.
Can I track results if I buy from more than one vendor?
Yes, but only with one shared ledger. Log every link with its target URL, anchor, tier, publisher metrics, and live date, no matter who sold it. Without that, you can't tie a ranking move to a specific order. Mixed vendors with no ledger is the number one reason people end up guessing.
How do I know a link was actually indexed?
Run each URL through an index checker, and don't credit a link until it shows as indexed. Submit it once, then re-check on a schedule. Plenty of links never get crawled, and that's money wasted. A pickup report with live URLs makes this check quick, because you're verifying real addresses instead of trusting a summary.
Is this process hard for a non-specialist?
It's moderate. Expect two to three hours for setup: baseline export, ledger, keyword load. After that, plan on about 30 minutes a week. The hard part is discipline, not skill. If you log every order the day it ships, the rest is just reading the numbers.
Tracking isn't a reporting chore. It's the only way a buyer knows which spend earned its place. Without a baseline, an order ledger and a calendar of live dates, every ranking move gets credited to whatever vendor pitched last.
Buyers who work with link building companies and keep their own records gain something agencies rarely hand over: proof. A frozen starting point, tier-separated links, index status on each URL, and a few control pages turn a vague "rankings went up" into a line item with a cost per gain. That's the difference between renewing on instinct and renewing on evidence.
Patience matters too. Reading results at week two produces bad decisions in both directions, so the calendar has to carry the weight.
The next step is concrete. Export 30 days of Search Console data today, list the money pages and keywords the links are meant to move, and open a ledger with one row per delivered URL. Then place a small first order on Profit Labs™ and log every live link in that ledger. Within a couple of months, the numbers will tell the buyer what to reorder and what to cut.