Scalable Link Building Campaigns, Processes & Workflow

by Jon Cooper

Before I get right into it, I want to do a short Q&A so you can better understand this post & its context. If you’d like, you can skip to the Table of Contents.

What is this post about?

This post is about how to conduct scalable link building campaigns from start to finish, and it outlines each of the individual processes & the workflow involved.

Who is this for?

This post is not targeted to the casual link builder. This is tailored to link building teams (2+ people), but it can also be helpful to those who spend at least 5 hours a week building links. Usually for those who are doing less, you can get away with Excel spreadsheets and a gmail inbox.

Why are you writing this post at this point in time?

There are two answers to that. The broader answer is that I’ve been building links long enough that I’ve tried more than a few ways to do things, and I’ve tried out enough tools to know which ones get the job done in a scalable fashion.

The more short term answer is that I had been waiting a  long time for a new feature from BuzzStream, one of my favorite link building tools (if you follow me, you know how much I love it), and they finally released it today. I’ve had to contain my excitement while beta testing it, but now that it’s live, it’s scaled my entire prospecting workflow, and I thought this was a great way to share about it.

Why are you giving away this information?

A few of the smart SEOs I try & surround myself with have asked me this, and I understand why; this information took me a long time to acquire, this post won’t make me any direct profit (I had considered selling it as an eBook), and the people who will find it most helpful could be considered competitors, are in small number (so no huge sharing potential), and will most likely just keep it to themselves.

But with that said, quality link building still takes hustle, grit, and determination, and I know less than 5% of you will actually put this information to good use. So I’m not really concerned about sharing it.

What do I hope to gain? I’ll be 100% transparent. I want to, over time, establish this post as a pillar on my site, alongside of my Link Building Tactics post. I want you to share it, and I hope that the effects of your sharing will benefit me in some shape or form. I want you to use my affiliate links in this post if you decide that any of the tools I use (that have an affiliate program) are a good fit for you.

So I do have motives, and that’s a good thing.

Table of Contents

Note: this post is roughly based around BuzzStream, a link building CRM & platform that makes scalable campaigns possible for the rest of us (who don’t have customized enterprise solutions). For those who don’t regularly read my blog, I’m kind of a big fan.

Setting Up & Customizing BuzzStream

Initial Setup. If you don’t already have an account, you can sign up for one  here. I’m not going to take you through the entire sign up process, as it’s pretty self explanatory. However, I will note that you need to make sure you’re using Chrome, since you’ll be wanting to setup their new BuzzMarker, which is a chrome extension. You’ll find it in the ‘Setup Buzzmarker’ step, as shown below.


(For those who already have an account, you can setup the Buzzmarker by going to your Settings > Setup Buzzmarker page.) 

Projects. Once you’re in, you’ll need to enable projects, then setup at least one. To enable them, click on the gear icon in the top right-hand corner, go to Settings and then go to Manage Projects.

It’s up to you how you want to organize your projects; you can have multiple projects for a single domain, but it’s not really necessary unless you’re a big team & it helps you stay organized better that way.

Note: from here on out, where it says ‘Link Partners’ for me (verbiage used for older accounts), it will say ‘Websites’ for you.

Custom fields. This is the bulk of the customization you’ll need to do. You’re going to tailor all the fields you use throughout BuzzStream to link building, and specifically to certain tactics. To view the custom fields area of the app,

  1. Go to your settings page (see icon in top right of app)
  2. Go to the ‘Customize Fields’ tab (left hand side)
  3. Find the ‘Custom Fields for Link Partners’ section

Note: there are three types/levels of custom fields: for People, for Link Partners, and for Links. All of the above are for  Link Partners .

The first two custom fields we’ll address are  website type &  opportunity type. Website type (just ‘Type’ in BuzzStream) is a required field that cannot be deleted. Opportunity type is a completely custom field that I personally use to segment the tactic being used.

To edit fields, use the icon in the left column, which will take you to a screen allowing you to determine the type of field it is (i.e. Drop-down, Text, Number, etc.), and the selectable options if there are any.


To create new fields, locate the ’New Custom Field’ button below the table.

The website types I have setup on my account are:

  • Blog – self explanatory.
  • News – self explanatory.
  • Forum – self explanatory.
  • Directory – I group all types of directories (i.e. niche, local, etc.) into this one option.
  • Static – these are websites that don’t have dated content, but rather static (unchanging) pages.
  • Other – for anything else I come across that doesn’t fit any of the above.

The opportunity types that I have setup that I use most often (there’s a lot of others I use less frequently):

  • Submission – if I’m submitting to the site, which is most likely a directory.
  • Links/Resources page – if I’m trying to get a link on a specific links/resources page.
  • Guest contribution – if I’m trying to contribute content to the site.
  • PR – if I’m trying to get coverage on the site (i.e. on a news site).
  • Sponsorship – if I’m trying to sponsor a club, charity, event, etc. that I know would net me a link.
  • Blogroll – although taboo to most, if it’s an opportunity to get a link from a blog’s blogroll.
  • Product review – if I’m trying to get a product reviewed on the site.

Next is the  relationship stage custom field. Since different prospects will be at different parts of the pipeline during the outreach process, we need to label them as such. Here are the stages that I use.

  • Not Started (default) – this is the stage for prospects I haven’t tried contacting yet.
  • Attempting to Reach (default) – tried contacting, having heard from yet. BuzzStream will give it a number alongside of it to show how many times you’ve attempted to reach them.
  • Email Failed (custom) – if I tried emailing, but the email didn’t go through. Marking it as such in BuzzStream allows me to go back in, find a new email, and attempt to reach again.
  • In Talks (custom) – they’ve responded at least once, and no clear outcome has resulted.
  • Agreed to Link (custom) – they’ve stated that they’ll link, but they haven’t yet.
  • Link Accepted (default) – if the link has been confirmed as live.
  • Rejected (default) – they’ve clearly stated they will not link.
  • Inactive (default) – we’ve tried contacting them 3 times in a row, and still haven’t heard back.

Note: BuzzStream may update which relationship stages are default, so if some of the default options I mention above aren’t default for you, then worry not, you’ll just have to add them yourself.

The next group of custom fields I walk through are opportunity specific. They best illustrate what you’re able to do with these fields. To see examples of them being used, see the outreach section of this post.

The first group are  links page fields. I’ve got a handful of fields that I use for my link beg & broken link building template emails.

  • Page Title – This is what I will be calling the page in my templates (i.e. “I came across your green building web resources page and I…”).
  • Link Location – if there is a specific place on the page where my link fits (i.e. “the external resources section”, “with the other infographics listed”, “under ‘bay area plumbers’”, etc.). This is so I don’t have to come back & find it a second time.
  • Broken Links? – This is a simple Yes/No answer on if there are broken links on the links/resources page. If there are, I proceed with a BLB template. If there isn’t, I proceed with a link beg template.
  • Broken Link (3) – I have 3 fields (#1, #2, & #3) for the first 3 broken links I find on the page (I write the anchor, not the URL). I find them up front, so I usually don’t have to visit the page again, and can easily insert their names dynamically in BuzzStream.

The second group are  guest blogging fields. Yep, I’m still doing guest blogging, but I’m usually going for longer term contributions for these opportunities than just one-offs.

  • Guidelines / Contributor page – the guidelines can be lengthy, so listing the URL instead of adding the full guidelines as a Note is more practical.
  • Evidence – usually you come across these opportunities by finding posts by other authors. This is where we put the URL of a guest contributors tags/category page, or an individual post by a guest author.
  • Found via (optional) – this is a drop down option that lets me know how the prospect was found. This is just for internal use & analysis to see where the best are coming from. The options I use are below:
    • Search queries
    • Reverse prospecting author bios
    • Blog directories & lists
    • Web mentions
    • Other

Tags. For most blogs, I add custom tags for their niche/vertical. This is only for my own internal use to quickly find all blogs I’ve saved on a given topic. Tags can be created on the fly (i.e. in the BuzzMarker), but that kind of power can make them unusable (imagine having 100 blogs with 100 different random tags). If you’re building links for only one or a couple of closely related sites, then establish a small set of tags that you and/or your team can agree on that cover all the related bases. If you’re building links for a variety of sites in a variety of niches, establish a group of higher level tags (i.e. Health, Travel, Home & Garden, etc.), and use a second or even third level of specificity, if needed.

Now that we’re setup, let’s take a look at what the new BuzzMarker can do & how it’ll be aiding us in prospecting.

Walkthrough of the new BuzzMarker

In a nutshell, the BuzzMarker integrates their CRM into the same window you’re viewing prospects with, and it even expedites a lot of prospecting processes.

The three main uses that were shipped with the first version of the tool are:

  1. saving prospects to BuzzStream without leaving the page or opening up new windows
  2. quickly reviewing all external links on the page (think: BuzzBar for the native Web)
  3. quickly scanning a list of links to see past outreach history

Before we break down each individually, let’s first look at how to set it up.

There’s a few ways you can do it. If you just signed up, you should’ve been taken to a ‘Setup Buzzmarker’ page during the process, where you can use the instructions on the page. If you already have an account, then navigate to your Settings page (see: gear icon in top right corner), and locate the Setup Buzzmarker tab.


Now that you’ve installed it, let’s take a look at each of the 3 main features.

1. Saving prospect information

This is the simplest & most expected feature of the BuzzMarker, and takes the place of what their old bookmarklet used to do. If you’re viewing a page and want to save them as a prospect, or update this prospect’s information, just click the extension’s icon at the top of your browser or right click & choose ‘Buzzmark this page’.


Both ways work!

Once the window opens, you can fill out all the necessary fields about the prospect according to the custom fields you’ve created.

The BuzzMarker will find contact information  on its own, and I’ve found it to be one of the better automated solutions, but realize that A) it doesn’t always find info (because i.e. there wasn’t any, it was obfuscated in javascript or images, etc.) and B) it’s not always accurate (i.e. might grab an irrelevant email address). But still, it’s a nice feature, just don’t depend on it (look around yourself!).

When you do save contact information, all forms (email, contact URL, phone #, social profiles, etc.) go into this field:


Note: in the above screenshot, one form of contact, a Twitter profile, was found automatically.

When adding social profiles, you can just copy & paste the URL of their profile page right into the field & it’ll recognize it.

If you want to add a second form of contact info, after entering the first, hit Enter or click the arrow that shows up on the right side of the field, and a second field will be generated below the first.

A few quick things:

  • if you want the BuzzMarker’s window on your screen to go away, you can either A) click the ‘>’ at the top of the window, or B) click the BuzzMarker’s icon at the top of your browser.
  • You can go to other pages on the prospect’s domain while filling out the fields without having to worry about you losing your progress.
  • There’s currently a bug that doesn’t save the contact URL when you enter it when initially saving a prospect. Until it’s fixed (hopefully soon!), after saving a prospect, go back into the contact information section & save the contact URL once more.

2. Create a prospecting list

About a year ago BuzzStream rolled out their BuzzBar, which was a feature within their toolset that allowed you to quickly review a batch of prospects. Unfortunately though you couldn’t use it outside of their app & across the native Web.

But now a more useable version of it is available within the BuzzMarker. When you’re viewing a page with a list of links that you’d like to review, it performs a Scape Similar-like function that grabs all external links. Just right click > Create a prospecting list, and this will show up in your Buzzmarker window.

Screen Shot 2014-05-01 at 2.10.02 PM

Before reviewing them, you can refine your list in one of two ways. The first is using the drop-down filtering option at the top of the list (where it says ‘All Websites’ in the above screenshot). Here’s what the drop-down options are:

Screen Shot 2014-05-01 at 2.12.06 PM

The second is by deleting specific links you don’t want in the list, as shown below.


You’ll also see that, for previously saved prospects in the current project, it lets you know that they were saved, when they were saved, and what relationship stage they’re in.


Once you’ve refined your list, hit ‘Start Prospecting’ at the bottom of the window. You’ll then be taken to this below screen (click to enlarge).

2014-04-30_0505 small

This screen is very similar to the regular view when trying to buzzmark a page, but the difference is there is a carousel feature in a grey bar at the bottom that allows you to quickly go between the prospects in your list.

Also – something in the above screenshot that you don’t see is what happens when you hover over the list icon.


From here, fill out the necessary fields, then when they’re saved, use the carousel to navigate to the next prospect and repeat the process.

Note that if your list includes multiple pages from the same domain, they’ll be grouped together as one item when using the carousel. To find links to each of the pages discovered for that domain, you can find them grouped together using the list icon in the carousel.

3. Scan links for prospect history

If you ever wanted to get a quick look at a list of links on the page & see what relationship stage you’re at with them, this little feature makes it possible. All it takes is a right click > Highlight Contacts in BuzzStream, and a few seconds of load time.

Screen Shot 2014-04-30 at 9.16.42 AM

The default colors used (2) are:

Saved in the current project
Saved in a different project

Since the colors are dependent on what project you’re currently viewing in the eyes of the BuzzMarker, in order to change projects, open up the BuzzMarker window (attempt to BuzzMark the page) and locate the field (towards the bottom) that tells you which project you’re in. Click it, and choose the project you want.


If a prospect in your list of links has already been saved, a ‘View’ icon will appear next to the link that you can click that will open up that prospect’s profile, as shown below.


With all this said about this feature, the first version that was pushed live is a bit buggy with this. Sometimes when I activate this on a page it works, other times it just flat out doesn’t; the loading circle at the bottom left of my screen can either not show up at all, or it shows up & “loads” for minutes on end.

Using Web Based Tools for Prospecting

Because the BuzzMarker integrates right into the window you’re viewing, it’s now possible to  efficiently use web based tools to conduct prospecting. I’ll be walking through a few of my favorite use cases.

Ahrefs for competitor research

Ahrefs is my favorite link index, and the one I use most often. After tweaking my competitor research process, this is now what it looks like.

1. Locating & opening competitors (efficiently) in Ahrefs

Locating competitors is usually the easy part; all it takes is a Google search of some of your head keywords. You can also find them via:

  • Directories – think Dmoz, Y! Directory, BBB, and
  • Links/resource pages – this is usually a goldmine, because if I find them via one quality links/resources page, they usually have links from a few others.
  • Where to buy pages – this is solely for eCommerce, but find brands/suppliers that link to their retailers via a ‘Where to Buy’ page or something similar. They’re not only link opportunities, but they’re sometimes the most comprehensive list of competitors you can find.

Once you locate a competitor, instead of going to Ahrefs and typing in their domain, then going to their inbound links & selecting the ’01 Backlink/Domain’ filter (my preference; it shows only one link per domain, otherwise multiple links from a domain crowd your results), just drag this to your bookmarks (I use it a ton):

When you land on a competitor’s site, just click that bookmark and it’ll take you to the proper Ahrefs page. Another one I use is the same bookmarklet, but for the URL prefix and not the entire domain:

This let’s you see only links to this URL and any subfolders within it. So for example, if the URL I click the bookmarklet on is, it’ll show me all links to /shoes, but also to other pages with the /shoes URL path; so i.e. also all links to /shoes/men, /shoes/men/white, etc.

If I only want to see the links to  this specific URL (and not all pages with that URL path), I use this bookmarklet.

Optional bookmarklet changes – I don’t do it myself, but if you’d like, you can edit the bookmarklet for other filters. One I’ve considered is only viewing dofollow links; to make this change in your bookmarklet, locate the ‘all’ string in the URL, and replace it with ‘dofollow’.

2. Create & Refine Prospect Lists

Once the Ahrefs inbound links page is open, right click and select ‘Create a prospecting list’. You’ll have to a do a little cleanup before you start prospecting. Here are some sites in the list you’ll need to delete:

  • – this is usually the first item on your list. This is a link to Ahrefs’ customer service page. Delete it.
  • the competitor’s domain – the competitor has links to their internal pages via the ‘Link URL Link Anchor’ column of the table. Delete it.
  • already recorded prospects – you should know if you’ve already found them because the BuzzMarker’s window lets you know below each listing if they’ve been saved or not. If they have been, delete it.
  •  – this is usually the last item on your list. This is a link to Ahrefs’ LinkedIn profile page. Delete it.
  • garbage/spam – this is the most tedious part of the step, because you’ll have to manually scan the list of links to find the garbage you don’t want to review. Some examples:
    • IP addresses
    • URL shorteners
    • Domain lists (i.e.,, etc.)
    • Domain stats (i.e.,, etc.)
    • Foreign sites (not all, but you’ll recognize which ones are spam pretty quickly)
    • Scrapers

You’ll get the hang of the last bullet (garbage/spam) after a while; it takes me about 15-20 seconds at this point for a standard Ahrefs page (50 results). You’ll also notice that the further you drill down by Ahrefs Rank (i.e. if you’re on results page 19/20), the more garbage/spam you’ll find, so understand the trade off of drilling too deep.

Note: I’m hoping that I can open up the conversation with the BuzzStream team about domain exclusions, i.e. or, so we don’t have to manually delete each every time.

Once you’ve groomed your prospect list, hit the ‘Start Prospect’ button and move on to the next step, which we’ll get into after outlining the blog discovery process of BuzzSumo.

BuzzSumo for opportunity-specific blog discovery

If you’re wanting to find popular blogs to target for links, then  BuzzSumo (no affiliation with BuzzStream) is your go-to tool. It allows you to search for blog posts and sort by the amount of social shares they received. Luckily for us, it’s currently a free tool (although a PRO version is rolling out soon).

1. Determine the Opportunity Type

You can use BuzzSumo for a variety of opportunity types. Here are a few examples:

  1. Product reviews. Search for relevant blogs that have ran product reviews that were successful. The goal is reaching out to them with a new product for review.
  2. Giveaways. Search for relevant blogs that have ran product giveaways that were successful. The goal is reaching out to them with a new product to giveaway.
  3. Interviews. Search for relevant blogs that have interviewed industry authorities. The goal is tapping into your internal resources (i.e. an executive/founder of your client’s company) for interviews on blogs.
  4. Infographics. Search for relevant blogs that have hosted infographics in your industry. The goal is to try and get your infographic placed on the same blogs.

Note: these are, again, just a few examples of the more popular opportunity types, and are far from a complete list that you can use to find with BuzzSumo.

2. Conduct Proper Searches

There are a few things you need to know about conducting searches on BuzzSumo.

Filter by Type. I haven’t figured out exactly how BuzzSumo is determining if a post qualifies for one of their 6 filters in their sidebar (it’s not just using the Title, URL, & post tags/categories), but I do know is that while they can be useful, they’re not perfect. I’ve found a few posts marked as ‘infographic’ that clearly did not have one.

I point that out because I suggest you use them, but don’t be 100% completely dependent on them. Try searches both with the filter & without for each of those specific opportunities.

Filter by Date. For most cases, I use the max timeline (past 6 months) since I’m looking for the most popular posts published in the industry, and 6 months is still recent enough that the author(s) are still likely to publish similar content.

Advanced search operators. The ones currently available for use are:

  • OR – to find the most shared posts of two or more keywords/phrases.
    • Ex.:  Arsenal OR Chelsea OR West Bromwich – shows the most popular posts that contain any of those 3 words/phrases.
  • “ “ – to find exact phrase matches.
    • Ex.:  “iPhone App Development” – shows only posts that use that exact phrase.
  • (minus) – to exclude certain keywords from your results.
    • Ex.:  propaganda -Matt -Cutts – shows only posts about propaganda that don’t include the word ‘Matt’ or ‘Cutts’.
  • – to see most shared content on a given domain.
    • Ex.: – shows my most popular pages & posts on my domain.

Identifying patterns. You’ll notice that a certain domain, or a certain type of phrasing of posts, will show up that are either irrelevant or undesirable. You can easily get rid of undesirable domains after generating your prospect list with the BuzzMarker, but for specific word patterns, it’s best to handle them in the search itself.

For example, you may search for ‘football’ with the intent of wanting results for American football, and not the sport the rest of the world knows as football (soccer to us). Identify certain words used along with the irrelevant results (i.e. soccer, europe, premier, champions, transfer, etc.) and use a minus sign with them in your search query (i.e.  -soccer). Keep in mind though, you want to limit the amount of false positives you get rid of, so it’s better to be on the safe side with this.

Social platform. If you know your industry loves one social network (i.e. Twitter or Pinterest) over the rest, then when sorting by the most popular posts, sort by that network. This can also help on cutting out irrelevant stories. Like with ‘Filter by Type’, this tip isn’t flawless, but you can use this as an option.

Give all the above things you need to keep in mind when conducting searches, type in some relevant keywords with some advanced search operators, and browse away for blogs that have hosted any content of the four opportunity types we talked about in step #1.

3. Create & refine prospect lists

Once you’ve conducted a relevant search you’re satisfied with, right click on the page and create a prospect list. Here are a couple results you should consider deleting from the list:

  • Previously saved sites – unless you discover a new type of opportunity with a site you’ve already come across & saved, delete them from your list to avoid overlap.
  • Generic sites – usually niche specific sites are what you’re looking for and have the most impact on rankings. Don’t rule them out, but be wary of sites, i.e. something like a, that any site could qualify for (from first look) that show up frequently in your results.

Once you’ve refined your list, hit ‘Start Prospecting’ and you’re off!

Reviewing Prospects & Recording Necessary Info

Note: before you start, if you’re using the Mozbar to get Moz metrics in your browser window, make sure you position it at the top of the page, otherwise it’s not visible at the bottom or right hand side when using the BuzzMarker.

First things first, we’ll need to walk through the qualification process to figure out if we even  want to save the current prospect we’re viewing. For me, that means two things:

  • Do we want the link? This is the most obvious. Is the prospect relevant & authoritative? Most of you working at agencies have your own set of metrics you qualify based off of.
    • For authority, I personally look at PageRank (more so whether or not it’s a ‘?’), Moz Domain Authority (30+ is preferred), the # of external links on the page if it’s a links/resources page (<100 is preferred), # of real comments on latest posts if it’s a blog, and the social followings whether it be Facebook, Twitter, & G+.
    • For relevance, if it’s a highly relevant site, then it can easily make up for some of the authority metrics above. If it’s a more generic site, then it needs to be on the higher scale of authority.
  • Can we get the link? Luckily, relevance helps with this. If it’s not very relevant, then there’s also a good chance we won’t even be able to get the link (why would the webmaster link if it doesn’t make sense to their readers?). But also, if there’s clear evidence that we probably can’t get the link, then it’s not worth wasting our time with. Some examples of this evidence:
    • The blog links out to few, if any, external sources in their posts.
    • The blog uses redirects to link to external sources.
    • The page only links out to sites that meet a certain criteria that you don’t fit (i.e. all links are to .edu, .gov, or .org domains.)
    • The page links to only one competitor for a certain value adding reason (as opposed to a group, where it’s easier to justify including one more option for that information or product)
    • The page links to a single competitor mid-paragraph, making it difficult for the webmaster to include another link that makes sense on the page.

Secondly, once you qualify a prospect (move on to the next if it doesn’t meet your criteria), you need to dig up the necessary information about the prospect.

Before you do that though, you need to decide on whether you’ll be recording contact information. If you don’t, you can build a prospect list faster, and you can hand off the contact finding to someone else since it’s more menial work (i.e. an OP). If you do, once you’re done prospecting, you can immediately dive into outreach.

For this tutorial, we’ll assume that you’re a smaller team that wants to find contact info at the same time, so here are the things you’ll need to figure out about the prospect.

Note: another option is just saving prospects without any of the below information, and making a new relationship stage titled ‘Not Yet Researched’, and having someone go in at a later date to dig up all of the below information.

Website Type. What type of website is this? Refer to the website types I use for guidance (listed above).

Opportunity Type. What type of link opportunity is this? Once again, you can refer to the opportunity types I use that I listed in Process #0, but you’re certainly not limited to that list.

Opportunity specific custom fields. If you’re using the custom fields I use above (broken link building + guest blogging), here’s how to find them:

  • Broken Links? – I use the Check My Links chrome extension to locate broken links. Locate the first broken link on the page, and double check that the page is broken before marking ‘Yes’. If there are none that you can confirm, mark ‘No’.
  • Page Title – not the meta title, but instead, look for a title towards the top of the page that you could tell the webmaster and they’d know which page it is (usually 3-5 words is ideal).
  • Broken Link (3) – for up to the first three broken links on the page, double check they’re broken, then copy & paste the anchor into this field.
  • Link Location – if there is a specific part of the page that you’d point out to the webmaster for inclusion, list this here. I don’t insert this into template, but more so use this & craft it into my response manually.
  • Guidelines / Contributors page – there’s not always one, but by either using a Google custom search (i.e. “ guest contributors”), searching through the top nav links (i.e. their About page might mention one), or locating a guest post & searching for a link in the bio for new contributors, if there is one, you’ll find it.
  • Evidence – I usually land on the blog by tracing it through an individual guest post on it, so usually this isn’t difficult to find, but if you land on the site by i.e. searching for Guidelines / Contributors pages, locate a category/tags page, or run a custom Google search (i.e. “ guest author”).
  • Found via – simply mark how you came across the blog.

Contact information. The amount of contact information you dig up is usually dependent on the type of opportunity it is. If you’re trying to get a link from a single page, then all you really need is the email address (or contact page) & first name of the contact. If it’s the blog of someone you’d like to build a longer term relationship with, then you might also want to add their social profiles, a phone number, or even a bio. I’ll walk through each.

  • Email address (preferred) – a fair amount of times it’s about finding the right person’s email address, and not just the first one you come across. For multi-owner sites, the more specific to that section of the site, and the higher chance they actually care about the content on it, the better they are to use the email address of. Some places to find an email:
    • At the top or bottom of the page you’re wanting the link on
    • On a contact us or about us page
    • In the sidebar, footer, or even header of the page
  • Contact page (not preferred) – I only add one if I can’t find an email address.
  • Name – you really only need the first name for templates. If it’s not close by to the email address or phone number you found, then you have a couple of options:
    • If the site is ran by one person – in this case, if you find a generic email (i.e., and if you know the site is ran by a single individual, then it’s safe to associate their first name with that email address.
    • If the email address has a name in it (i.e. – a Google search on the domain (i.e. “ james”) usually turns up the first name.
  • Phone number – this is usually close by to the email address if you’re trying to find the number of a specific person. Most contact pages will list a generic number you can call as well.
  • Social profiles – if you can’t find them either in the header, sidebar, or footer, then either look for them on an about page, or at the end of a blog post.
  • Bio & Role – this isn’t exactly contact information, but you can include a short bio of the contact and their role at the company/site. They’re actually not customizable fields; for a person, “bio” is also the “about” field, and “role” is also the “job title” within BuzzStream. Here’s where they end up on the contact’s profile page:

00000006 copy

Tags. If it’s a blog, give it one of the tags you’ve previously decided on. Again, you can decide them on the fly, but make you’re diligent about reusing them, and that they cover as much ground as possible with as little overlap as possible.

Notes. If you find anything out of the ordinary that you or the person conducting outreach should know about, then mark it here.

Add A Link. I’m only listing this last because you can’t add a link in Buzzstream until you first Save. Once you do save a prospect, you’ll be taken to the below screen. You’ll need to locate the link icon at the top of your window, which is the middle of the 3.


Click on it, then click the ‘Add New Link’ option. You’ll then be taken to the screen on your right.


You have the option of 5 total fields (and you can add more custom fields if you want), but the only real ones that are necessary are Linking From, and Linking To. Linking From is the URL of the page you’re trying to get a link from, and Linking To is the URL of the page on the target/client site that you’re trying to get a link to. Once you fill these out, hit Save.

At this point, you’re done & ready to move on to the next prospect.

Conducting outreach in BuzzStream

Now that we’ve saved all the prospects with the BuzzMarker, along with all the necessary template & contact information, it’s time to conduct some outreach.

For the sake of this tutorial, we will only be talking about email outreach (phone, social, and even snail mail are your others options), and we’ll be looking at the Links/Resource Page opportunity type, since that’s the most fun when it comes to customizing email templates with custom fields.

Creating email templates

Before you can start firing off those emails, you need to first establish a group of email templates to use. For this opportunity type, you’ll need:

  • Initial email w/ broken links
  • Initial email w/o broken links
  • Response email w/ broken links
  • Response email w/o broken links
  • Follow up email (1st)

And for each, you should be creating multiple versions so you can A/B test response rates. But how do you do that? Well, BuzzStream makes it fairly simple. When you’re ready to choose an email template (we’ll walk through the whole process later), you’ll be taken to the following screen.


Note: the black lines are from me censoring my templates.

As you can see, the emails sent vs. response rate statistic in the top right helps you to easily test email templates side-by-side.

As for the exact emails templates, I will be using a few examples that you can feel free to use, but I encourage you to  test, test, test! Things you can be testing:

  • Subject lines
  • Intros
  • The length of the email
  • The order in which certain things are said
  • The signature / sign-off

But I also encourage you to test bigger things like new templates from scratch, or changing the goal of your initial emails (i.e. it could be getting the highest possible response rate, getting the most highly  engaged responses, getting links w/o a second email, etc.; and those are just for this opportunity type).

Without further adieu, here are 5 example templates.

Initial with broken links:

Hi [First Name],

I was browsing the [Page Title] page on your site when I encountered a few broken links. I didn’t know if you’d be interested in knowing, but if you are, I’d be happy to point out which ones I stumbled across.

-[User First Name] [User Last Name]

The main goal of this template is just trying to bait a response from a real human. I’m not looking for more than a few words telling me something along the lines of “Yep, send them over.”

Initial without broken links:

Hi [First Name],

I was checking out some of the resources listed on the [Page Title] page of your website, and I noticed that I knew of a couple resources that might be worth adding. Would you be interested if I sent them over? If not, I totally understand, just thought it couldn’t hurt to ask.

-[User First Name] [User Last Name]

This is again, along the same lines of the above. Because webmasters & bloggers can get so annoyed with marketers contacting them, I’m trying to be polite & possibly even guilt them into remembering how small of a request I’m making.

Response with broken links:

Thanks [First Name],

I’m happy to send them over. The ones I encountered were here ([Linking From]):

  • [Broken Link #1]
  • [Broken Link #2]
  • [Broken Link #3]

Hope that helps. Also, is there any chance I could make a quick suggestion? *CRAFT CUSTOM FROM HERE*

Well, if I come across any other website errors, I’ll be sure to reach back out.

-[User First Name]

As you can see, we’re giving a little intro of the fact we found a few broken links, then we’re listing them off, up to 3. At this point, I didn’t mention that there are more (there usually are, but the job is done for helping them), and then I craft a custom response based on A) the feel of how they responded and B) the Link Location custom field.

I could also possibly suggest another link besides my own so it doesn’t look as biased. In this case, to avoid having to revisit the page to make sure the extra resource you suggest is OK, make sure you find one that is A) as relevant as possible to your link (since you already checked yours for relevance/fit on their page) and B) not already being linked to by them; so find something with little to no previous links so you don’t have to check each prospect’s page.

Response without broken links:

Thanks [First Name]!


Well, thanks again for your time, I really appreciate your consideration. Anyways, hope you have a great rest of the week!


I honestly don’t use a pre-crafted template for link beg response emails for two reasons:

  • Lack of fields to fill out. For broken link building, it’s a concise, clean approach to list off a group of broken links, then to politely request a link in the appropriate section. Without broken links, there are few page specific fields you could create to use in a template that would actually make sense.
  • More work needed to get the link. For broken link building, you’re tapping into the law of reciprocity to influence the webmaster/blogger to link. When you don’t have that working for you, you’ve got to take a different approach. For link begs, it’s the personal approach; I like to really analyze the page, the webmaster/blogger (i.e. find an about page), and really try to come off as a human being, and to give a convincing reason to be included on that page, while trying to keep it concise. That can’t be done very effectively with templates.


Hi [First Name] – just checking to see if you ever got the below. If you have, my apologies!

-[User First Name]

The above is supposed to be as simple & straightforward as possible, without trying to bug them. Some people who didn’t respond inevitably read the email and decided not to respond, so by trying to be polite, we may be able to convince them that we are in fact human.

Now, let’s talk about merge fields in these templates.

Outside of the custom fields I outlined in the ‘Setting up & customizing BuzzStream’ section of this post, which you can see in the example templates, you can also use the below fields:

  • The names of the user sending the email in BuzzStream:
    • [User First Name]
    • [User Last Name]
  • The names of the contact of the prospect’s website:
    • [First Name]
    • [Last Name]
    • [Full Name]
  • The website:
    • [Primary Website] – the domain name.
    • [Link Partner Name] – if you gave it a different name than the domain name (i.e. the blog name).
  • Contact information:
    • [City]
    • [State]
    • [Country]
  • Multiple linking to / from pages. Can be listed as bullets (ul), numbers (ol), or as a CSV (csv):
    • ex. [ul:Linking To]
    • ex. [ol:Linking From]

Once you’ve crafted your email templates, it’s time to dive right into outreach.

Sending initial emails

Once logged into BuzzStream, navigate to the project of interest’s Link Partners page, as shown below.


The first thing you’ll need to do is filter down to the ‘Links/Resources Page’ option in the Opportunity Type custom field, which can be found under ‘Link Partner Custom Fields’ in the filter menu.

Next, you’ll be segmenting these prospects by whether or not there are any broken links on the page, since each segment will require different templates & responses. We’ll start with those  with broken links. So now choose the ‘Yes’ option in the ‘Broken Links?’ custom field, also found under ‘Link Partner Custom Fields’ in the filter menu.


Now that we’ve narrowed down the list to the segment we want, use the top, far left checkbox to select all, then identify the ‘Outreach’ button in the top nav. From the drop down, select ‘Start Outreach’. From here, select the email template you wish to use, and proceed to the outreach screen.


Once you do so, you’ll be taken to the below screen (click to enlarge).


It might seem like a lot at first, but once you poke around, most of it is pretty self explanatory. With that said, here are some things you should know & do:

  • The 4 tabs on the left. The active tab is History, which shows you all past communication (email / social / notes) with this prospect. The Links tab will show you the Linking From / Linking To fields. The Profile Info has all contact information (this is where you’ll find the contact URL you may be needing). The final tab is an RSS feed if the site has one (i.e. a blog).
  • Choose the from address – make sure you’re sending the email from the correct ‘From’ address. You only need to do this the first time.
  • Double check merge (custom) fields – issues could arise from each:
    • No first name – this is common; if you were unable to find one for this prospect, then make a tiny edit to the email by changing it from something like ‘Hi Diane,’ to just ‘Hi,’.
    • Awkward page title – just make sure it flows OK in the email. i.e. if you added the word ‘page’ to the end of this custom field, my template used above already has that word in the template, so the word would be (unnecessarily) repeated.
    • No email – assuming you could only find a contact URL for this prospect, locate it in the Profile Info tab on the left hand side of the screen. Visit the page, copy & paste the template, Send, then change the relationship stage from ‘Not Started’ to ‘Attempting to Reach (1)’, and move on to the next prospect by clicking the ‘Remove’ button which is located next to the Send buttons.
  • Followup & reply reminders – BuzzStream has followup reminders & reply alerts that act as a notification system. It’s highly recommended you use this feature (I’ll show why in a little bit), so I suggest checking both the boxes below the subject line for these. The time period I use is 7 days.
  • Determine when to send – you have the option to Send Later if you’d like. I could write an entire post on when you should be sending your emails, but for the most part with this opportunity type, stick to mornings / early afternoons on weekdays.

Once you’ve groomed over all the above for the first email, send it, and it’ll take you to the next prospect. You’ll still have to double check merge fields for each, but besides that, you’ll breeze through them.

Once done, go back and repeat the process, but this time for those  without broken links (you’ll use the ’No’ option in the ‘Broken Links?’ filter). The only difference will be the email template you use.

Response & follow up emails

Now that we’ve sent our initial emails, it’s time to pivot to responding as people email us back, and following up with those who we don’t hear from initially.

Here are some things you should know about sending responses:

  • You have to be logged into the account that sent the initial email in order to reply to it. So if there are multiple people on your team have certain people stick with certain prospects.
  • You have to visit each prospect’s profile page to respond. To find where to do so, go to your Link Partners page, then filter your prospects down to the segment you want. Then click on their Name (their domain name), and look for the last email sent in the History column. From there, click on it, then locate the Reply button and use the appropriate template if necessary.
  • Use Followup Reminders to speed through follow ups. Instead of going to every prospect’s profile page individually, you’ll get a notification at the top right of your screen that will take you to the same screen that you sent initial emails, allowing you to send & go to next prospect.

Here are some illustrations of the above bullet points.


To reply to a response, locate their email in the History tab of their profile, and hit ‘Reply’.


The above is an example of the followup reminders you’ll receive.

After your response is crafted, and after the email is sent, continue to conduct follow ups (I go up to 3) for each prospect until you get either a link placed, or a firm ‘No’.

Link Monitoring

Since our prospects aren’t kind enough to always let us know when our links goes live, we have to take it upon ourself to monitor their pages for them.

To do this, I use Monitor Backlinks, since I haven’t had much luck with BuzzStream’s Link Monitoring feature. Luckily, it’s a pretty simple process:

1.  Export Link Partners in BuzzStream. You want to get all of that link partner data into Excel, then narrow it down to two columns: the Linking From page on the prospect’s site, and the Linking To page on your target site. You can delete all other columns.


2.  Upload this list to Monitor Backlinks. They have a specific file format they’ll want in order to upload a CSV (the most efficient way), so once you signup, navigate to their Import Links page.

Screen Shot 2014-04-30 at 8.02.06 AM

3.  Check for new links. Once your list is uploaded, the tool will check them every day to see if they’re live. If they are, their status will either be ‘OK’ or ‘DF’. If it says ‘OK’, you got the link. If you see ‘DF’, it means they’re linking to a different page on your domain, so you can either keep as is, or you could reach back out in BuzzStream to ask them to link to the intended page (I usually just keep as is).


4.  Mark new links in BuzzStream. Once a new link is discovered, find the prospect in BuzzStream and change the relationship stage to ‘Link Accepted’. If the link status is ‘DF’, make sure you also update the ‘Linking From’ field to the URL of the page they instead linked to.


5.  Mark new links as checked in MonitorBacklinks. For each new link, find the gear icon in its’ row, and click ‘edit’. Find the text box labeled ‘Tags’, and enter the tag ‘Checked’.


That way, when you’re looking at your new links, you know which ones you’ve already checked & marked in BuzzStream. MonitorBacklinks will also continue checking if they’re live, and you can now filter by that tag and find links no longer live, so you can reach back out to reacquire them.

Final thoughts

Although I haven’t given away the entire kitchen sink, I hope this detailed walkthrough of a link building campaign of mine shows you how to effectively scale your link building campaigns.

But I do want to point out some things I don’t like about BuzzStream, plus some areas for improvement and features I’d like to see in the hopes that their team sees this and takes action!

  • Make the contact highlighting more stable. I really like this feature on the BuzzMarker, but for the time being, it can be buggy and doesn’t always load properly. It also doesn’t help that it can take more than a few seconds to load, so I’m never sure without waiting for a little bit if it’s going to work this time or not.
  • More colors for contact highlighting. Again, I really like the feature, but it would be even better if it could highlight in different colors based off the relationship stage (i.e. Success in green, Rejected in red, Attempting to Reach in yellow, Not Contacted in blue, etc.).
  • Keyboard commands. Instead of right clicking on the page to either buzzmark, create a prospecting list, or highlight contacts, it would be nice if there was a simple keyword command to save the time of power users like me.
  • Domain exclusions. Notice the links I needed to delete from Ahrefs to get started on a prospect list? It would be nice if I could exclude a certain set of domains ahead of time.
  • A quick indicator of the status of the current site. It would be nice to know without having to click any buttons if you’re on a site you’ve already saved. Something as simple as having a little color on the BuzzMarker’s icon at the top of your browser, using the same colors as contact highlighting, would be outstanding.
  • Ability to send emails from the browser. Imagine creating a prospect list, then going one by one on each prospect, finding the necessary info, then opening up an email editor right there on the page using the BuzzMarker. Hit send, then go to the next prospect. Combining the BuzzMarker’s list creation feature with the bulk outreach feature in the app would be nuts.
  • Improved Link Monitoring. Hopefully it’s not just me, but I’ve found the link monitoring feature does not do a very good job at checking prospect pages for the client’s domain to see if they received a link. As great & simple as MonitorBacklinks is, having this process within BuzzStream would only increase efficiency.

With that said, if you want to checkout any of the tools I used above, you can find them below.

If you have any questions about the above (for those who read it all, you may have a few), I’m glad to answer in the below comments!

And I don’t ask often, but if you could, I’d greatly appreciate you sharing this post. If you do, I’ll add your name to a plaque that I’ll hang above my desk, which I’ll gladly show off to every visitor I have, mentioning each of you by name, both first & last. OK I probably won’t do that, but you’d make my day! </beg>

This post was written by...

Jon Cooper – who has written 129 posts on Point Blank SEO.

Jon Cooper is a link builder based out of Gainesville, FL. For more information on him and Point Blank SEO, visit the about page. Follow him on Twitter @PointBlankSEO.

  1. Matt Morgan says:

    Jon, I’ve been following you for a couple years now. I appreciate that you only post great content and strategies we can actually utilize instead of just generalized tips.

    My SEO team has been struggling lately and we’ve been on the hunt for new strategies. This is very timely.

    Thank you, I’ll be sharing this and reminding my team to use your affiliate links…Stay awesome!

  2. Jake Jordan says:


    Outstanding writeup bro! I’ve been using BuzzStream for about six months just for it’s search capabilities and ease, but been meaning to really get proficient with it. This will help me get there much faster.

    Thanks again 🙂

  3. This is the exact link building training guide that every team leader can provide to their team members.

    Great stuff (as always) Jon! 🙂

  4. Salman Aslam says:

    Glad to see that you finally published a post after sharing your thoughts in the last post.

    Excellent and very useful guide that I’d personally look into and implement in our campaigns.

    You are the man!

  5. Dude.

    *Slow clap

    I am going to be one of the 5%, I’ve been DYING for a good CRM system for my link building efforts. I was trying to mash it into Trello, which sucked. Raven Tools CRM is way to clunky and slow without the custom fields needed to make it really functional as a workflow. I was even considering OnepageCRM an offshoot of Trello but it is not oriented toward link building/social. Thanks for pointing me at Buzzstream!

    • Jon Cooper says:

      Trust me, I’ve been there. That was me a couple years back, and it really prevented me from growing my efforts and managing them effectively. Not that BuzzStream was there 2 years ago, ready to solve the problem (most of their best features have actually came since then), but I am glad that I’ve finally found a system that works!

  6. Jon, this is fantastic. This is the only blog post anyone ever needs to read on linkbuilding.

  7. Wow, thank you. Will be using this post a lot very in-depth

  8. Great Post Jon!

    The animated gifs throughout the post were extremely helpful! How did you make them?

  9. Can you do something with some depth?

    Kidding, this is fantastic! Shared with the neighborhood of SEOs I work with 😉

    • Jon Cooper says:

      No you’re right; it’s like I breezed through it without giving any specifics. I’m disappointed in myself. 😉

      But thanks for sharing Conrad!

  10. Hello Jon! Great insights as usual. I love using buzzstream for my link management, in particular the buzzmarker has been awesome for prospecting! I’ve used the internal buzzbar on many occasions too for link removal review, it’s a powerful tools to quickly view your list of links and the annotate them accordingly. Keep up the great work, always love to see the practical actionable steps!

    • Jon Cooper says:

      I was actually quite pumped when they released the BuzzBar, but I found it to be difficult for practical use since you had to use their internal prospecting tool in order to use it on. The BuzzMarker is what brought that feature to the Web, which is where I did most of my prospecting, and is why I love it so much, because you’re right, the BuzzBar is awesome!

  11. Excellent write up Jon . It would have been great if you could create a tutorial video on this 🙂 And, I think the most important take away from this write up is “I know less than 5% of you will actually put this information to good use.” Thanks again 🙂

    • Jon Cooper says:

      Thanks Anisul! I was actually thinking of putting some videos in the post, but I thought it wouldn’t make sense. You’d need to know the why/how of every specific step, and it would be difficult to illustrate that without the video looking like it’s in slow-mo. Does that make any sense?

  12. John Summers says:

    Thanks Jon. An excellent insight using hrefs and buzzmarker which I will be certain to use:)

  13. Tim Aucoin says:

    This super detailed, extremely informative post is very helpful to me right now. I’ve never heard of BuzzStream before, so thanks for this awesome post and for introducing me.

    • Jon Cooper says:

      Glad to hear Tim! There are other CRMs & outreach tools you can use, but I’ve found this one to be the most agile for what I’m trying to do, and it scales pretty well IMO.

  14. Hey Jon – super awesome post buddy! Thanks so much for sharing.

  15. Steve Walsh says:


    epic post and thanks for taking the time to put it together. We’ve been using Onotolo for a few years for prospecting and discovery. It’s a great tool in that regard but the outreach/CRM feature has some room for improvement so we pass on those functions and use BuzzStream for tracking. That said there’s a heap of tips in here which I had no idea about and thanks for sharing.


  16. Paul May says:

    Thanks for the detailed description of how you can use our new app, Jon! Great resource for anyone who’s promoting content for any reason (links or otherwise). The feature suggestions are also greatly appreciated

    A few comments:

    We’re working on the highlighting feature and should have a fix out soon. Same with the issue you mentioned when you tried to add a “contact us” URL. If you’ve already installed the extension, a fix will get pushed automatically to you.

    The backlink checker is definitely an area where we can improve. It does a good job of checking specific pages, but that doesn’t help if you don’t know where the link is going to go. We plan to work on this.

    We’ve added filters to the List Navigator…you can now filter the list so you’re only going through sites that are not in your BuzzStream account (or that are in your BuzzStream account, but not in the current project). We’ll add exclusion list capabilities as well…we just ran out of time. 🙂

    You actually can add multiple pieces of contact info on the “Add/Edit” screen. Once you’ve added the first piece of contact info, just hit Enter and it will add a row for you.

    I love the keyboard shortcuts idea, as well as the status indicator. I can’t commit to do this, but I’ll still profess love. 😉

    Outreach capabilities are something I want to add to this in a big way. Stay tuned.

    How does that template you’re using for Seer work for you? hehe

    Paul May
    BuzzStream, CEO and co-founder

    • Jon Cooper says:

      Thanks Paul! Really appreciate you stopping by.

      Glad to hear you’re working on a few of those bugs; luckily they’re nothing show-stopping, but they’ll help.

      As for the things that I got wrong / are now updated in the extension, just made the updates! The screenshots/copy above will now reflect those changes.

      And yeah, that template is a gem of mine; but for some reason I haven’t heard back from SEER yet… 🙂

      • Paul May says:

        Hey Jon,

        We just pushed a release that added a couple of major things:
        – highlighting should be much more stable now
        – link custom fields now show up in the Links tab



  17. Brian says:

    Hi Jon. Have you tried Outreachr or some of the other Buzzstream alternatives? I’m wondering how they compare, although it seems like everyone is using Buzzstream.

    Great post, btw, I like how you used animated gifs to demo features.

  18. Victor G says:

    Epic post on link building! Bookmarked for future reference. I combine BuzzsStream and Citaiton Lab’s Link Prospector — your post will help me drastically improve my workflow. Thanks, Jon, for sharing!

  19. Sam Hewitt says:

    What an unbelievably in-depth article. Will be checking out Buzz Stream later on tonight when I get a bit more time.

    Keep up the fantastic work Jon.

  20. Deniz says:

    First of all, this:
    “I know less than 5% of you will actually put this information to good use. So I’m not really concerned about sharing it.”
    is awesome and so true!

    Overall, sweet post. I’m quite embarrassed that I haven’t tried out BuzzStream before. Seems like a great way to organise most of your link building strategy. We have an internal tool built in house that we use to keep track of links, however we lack the link monitoring feature which makes our job a lot more tedious than it has to be. Will surely check out this program. Thanks!

  21. Whoisology says:

    You could safely remove Whoisology from the garbage list.

    We don’t and never have linked to any outside site.

    If Ahrefs is saying that we link, it’s a false positive.

Scalable Link Building Campaigns, Processes & Workflow - Point Blank SEO