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.
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.
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,
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:
The opportunity types that I have setup that I use most often (there’s a lot of others I use less frequently):
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.
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.
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.
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.
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:
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.
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:
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.
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:
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).
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.
The default colors used (2) are:
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.
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 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:
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 example.com/shoes, 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:
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. Linkedin.com or Zendesk.com, 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.
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:
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:
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:
Once you’ve refined your list, hit ‘Start Prospecting’ and you’re off!
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:
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:
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.
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.
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.
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:
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:
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]):
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]!
*CRAFT CUSTOM FROM HERE*
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:
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:
Once you’ve crafted your email templates, it’s time to dive right into outreach.
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:
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.
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:
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’.
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.
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.
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!
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>