Automating Link Building with Zapier (Advanced Tutorial)

Automating Link Building with Zapier (Advanced Tutorial)

Link building is a time suck. You have to find prospects, vet them, find their
emails, verify them, and send outreach emails plus some follow ups. But half of these steps can be semi-automated
using Zapier. So if you want to learn how to automate these
3 steps of the link building process, then stay tuned. [music] If you haven’t heard of Zapier it’s a tool
that lets you connect web apps together using “If… Then” statements. When you create a combination of web apps,
they’re called “zaps.” For example, this zap says: “If you get a
new customer through Stripe then add them to an onboarding sequence in ActiveCampaign. Or if you have a paid account with Zapier,
you can create multi-step automations. So lets add on to our previous example,
which now says: “If you get a new customer through Stripe then add
them to an onboarding sequence in ActiveCampaign and send them an SMS through Twilio. Zapier has over 2,000 apps you can mix and
match, so there are virtually an infinite number of automations you can create. But hey, this tutorial is about automating
link building. So to prepare our link building automation, we
need to do some of the manual work first like getting a list of link prospects, vetting them and finding
the first and last name of authors or editors. To do this, I exported backlinks reports from
Ahrefs’ Site Explorer and had someone vet the list of prospects. Now, the only thing manual left to do is to
find the first and last names of the people we should be contacting. Now, two quick sidenotes: #1. I’ve already had someone find these people
and I’ve recorded their names in a note. And the reason why I’m not entering them in
here yet is because the automation requires a trigger in order to start. So we’ll talk about this in a second. And the second sidenote is that you need
at least one row of sample data in order to actually build and test the automation. So for that reason, I’ve entered the first and last
name of the person in the last row of the sheet. And in this case, I used my own information
to protect the privacy of others. Let’s start building our zap. Alright, so the first thing we need to do
is set our trigger. Basically, Zapier needs to know when it should
run the automation. So the first step in any automation will be
to choose an app and then a trigger event. So I’ve chosen Google Sheets as my app, and
based on the selections from the dropdown, I want my automation to start when there’s
a new or updated spreadsheet row. Next, I gave Zapier access to my Google Drive
and this is something you’ll need to do with any third-party app you want to integrate. In the next part, I chose my spreadsheet, selected
the worksheet, and I also set a trigger column. The trigger column is basically a more
specific condition that needs to be met in order for the automation to run. So this is what I was referring to in my sidenote
and as you can see I’ve set the zap to run after the Last Name field is updated in the sheet. So I’ll go to Find Data and expand my data
sample to make sure everything looks good and I’m going to select that row for
the rest of our testing. Alright, so the next step is to set our first action. And looking back to our initial 5-step list
of link building steps, the first action we need to do is find emails. So as you can see here, I’ve set the app to
Hunter and the Action Event to Find Emails. Now, for the custom settings, you’ll need
to map the Domain, First Name and Last Name fields with the columns in your sheet. Otherwise the app won’t work using the Find
Emails action since these are all required fields. Now, let’s pause for a second and go over
a couple email-finding scenarios you may run into. Scenario one is if you can’t find a first
and last name. In this case, the zap won’t be triggered because
we set our event to only happen if the Last Name column is updated. So in this case, you’ll have to find the email manually. Scenario 2 is if you have the first name but
can’t find the last name. This is the same deal as scenario one. But since a lot of people and companies use
emails like [email protected], you can try entering the letter “a” in the last name
field to run the row through your automation. Worst-case scenario, you get an invalid email
that won’t even be sent. And the best-case scenario is you find their email. Alright, the next step is to update your spreadsheet
with the found email. But before we can do that, we need to set
up a separate step to find the correct spreadsheet row to update. Otherwise, Zapier might update the wrong rows
and we don’t want that. So, here I’ve chosen Google Sheets as my app
and Lookup Spreadsheet Row as the event action. For the custom options, I’ve selected the
Spreadsheet and Worksheet as usual. But you also have to set a Lookup Column and
a Lookup Value. For the Lookup Column, select the Referring Page
since there shouldn’t be any duplicates there. And for the Lookup Value, just click the dropdown
and find the corresponding referring page value. Now, I’ll click on the Send Data tab and click Test
and Review to make sure everything looks good. Okay, so now we need to actually update the
email into our spreadsheet. So I set up a new step and I’ve chosen
Google sheets as my app. And now that we’re creating an Action
instead of a Trigger, we have the option to update a spreadsheet row. So for our custom settings, I’ve selected
my Spreadsheet and Worksheet as required, and for the Row, you actually have to choose
a custom value. So just click on the dropdown, then choose
the Custom tab, and then select the Row from the third step. By doing this, Zapier will dynamically choose
the row it’s working on for future tasks. And all we need to do now is go to the email field
since that’s what we’re updating, click the dropdown, click on the Hunter dropdown and choose
the found email address. Now, when we go to the last step and click Test
and Review, you’ll see that the data is correct and if we look at our spreadsheet, it should have been automatically updated with
the email address that Hunter found. Alright, the next step in our list is to validate the email, meaning, is the email Hunter found deliverable? Now, in order to verify an email, you need
an email address to validate. The thing is, Hunter won’t always find an email. So we need to add a filter step before connecting
our email validation app. If you’re not familiar with Zapier filters,
they’re just conditional operators. So by setting one, we’re telling the automation:
“Only continue If a specific condition is met.” So I’ve chosen Filter by Zapier as my app. And then I set a condition that says: “Only continue if the Email from Hunter contains
the @ symbol. Reason being, all email addresses have an
@ symbol and if Hunter didn’t find an email, then the automation should stop and run again
on the next row of data. So I’ll click Continue, and Zapier confirms
that this zap would have continued because Hunter found an email. Now, that our filter is good to go, I’ll choose
my email validator app, which is NeverBounce. And I’ve selected the action to Verify Email Address. And customizing this is really easy. Just click the dropdown, choose Hunter, and
then select the email field. So we’ll test and continue on with our automation
to make sure the data is being pulled in correctly. And in this case, the email is valid. Now, the next step in our automation is to update
our spreadsheet with the NeverBounce status. So in this step, I’ve chosen Google Sheets as my app,
and set the Action to Update Spreadsheet Row. And since we had previously set up a lookup
step to find the row we need to update, I’ll click on the Row textbox, then the Custom tab,
and choose the correct row number from step 3 again. Finally, I’ve mapped the NeverBounce text result
code to the Verify column in my Google Sheet. And you can quickly find that by just clicking on
the textbox and searching for “text result code.” Finally, I’ll hit the Test and Review button,
and then look back to my spreadsheet to make sure the correct row was updated. And everything looks good here. Now, if you haven’t worked with NeverBounce,
they generally send back one of four status codes. Valid, catchall, invalid, and unknown. From my experience valid emails are deliverable
around 98% of the time, catchall emails are around 80-85% correct, and then invalid and
unknown emails are almost always undeliverable. So to make sure we’re not sending emails to
invalid addresses, the next step is to set a filter. So I chose “Filter by Zapier” as my app. And for the conditions, I’ve set it to say: “Only continue if NeverBounce’s text result code
is valid OR if the text result code is catchall. Otherwise stop the automation.” And if I click Continue, you’ll see that this particular task
would have continued because the email was valid. Alright, the next step is to actually send
these emails and follow-ups. And the tool that I use to do this is Mailshake. Mailshake is an email outreach tool that lets you
send personalized emails and automated follow-ups. Now, I won’t bother going through setting up Mailshake
since that’s outside of the scope of this tutorial. So within Zapier, I’ve added another Do this
action and chose Mailshake as my app. And for the Action Event, I set it to add
a recipient by email address which will add the prospect to one of my campaigns that I’ve
already set up in Mailshake. Now, we need to customize the settings for Mailshake. First, I chose my Mailshake campaign which
is called Ahrefs Sample Campaign. For email, I clicked the dropdown and chose
the one found directly from Hunter. And then I choose the first and last name
from my Google Sheet. The last thing I added here is a Text Replacement,
more commonly referred to as a merge field. These are just snippets of code you can add
to your email template, which will dynamically replace them for each contact. And the primary purpose is for personalization. So as an example, I’m feeding the referring
page from my Google Sheet into Mailshake. To complete this step, I’ll go to Send Data
and click on Test and Continue. Now, if I head on over to my Mailshake account,
you’ll see that one contact was added. And if I go to the email preview, you can
see that the contact’s referring page URL was inserted into the email since that’s how
I set up my sample template. Ok, the final step is to update your Google Sheet
with some data from Mailshake. And this is more for tracking purposes. Again, I chose Google Sheets as my App and
Update Spreadsheet Row as my Action Event. I chose my Spreadsheet and Worksheet, then I chose the dynamically selected row that we found in step 3. And finally, I set the step to update the status ID
column with Mailshake’s Check Status ID response, which confirms that Mailshake has received
the request. If I run the Test and Continue, then you’ll see that
the final column in the sheet gets updated. So the entire automation is setup and all
we need to do now is turn on the zap and then start entering in first names
and last names into our sheet. And as the zap runs, it should slowly but surely
fill in the blank spaces for you when the last name column is updated since that’s our trigger. And now you have yourself a semi-automated
outreach and link building system. Now, keep in mind that this is a system –
it’s meant to work for you over time. And with the time you save, you can spend that on
personalizing your emails and improving conversions. Now, I’d love to know if this is something you’re
going to try when doing outreach for links. Let me know in the comments, and if you enjoyed
this video, make sure to like, share and subscribe for more actionable SEO and marketing tutorials. So keep grinding away, and I’ll see you in
the next tutorial.

23 thoughts on “Automating Link Building with Zapier (Advanced Tutorial)

  1. hey sam, would you be required to do these entire steps from start to beginning for each and every campaign (G sheet)? Or this something that can be "templated" in zapier and used over different campaigns?

  2. As usual Amazing Video Sam, Thanks a lot!
    But I am worried about Zapier pricing, Do I need to buy any zapier plans?

  3. Just a bit of feedback – the black and white theme was a bit weird and didn't really add any value to the video. Great video as always, though!

  4. Ahrefs you're killing it with the content, keep the more advanced content coming. There are too many beginner-friendly videos out there and not enough content like this ✌️

  5. I don´t think that this is GDPR compliant, you know, sending those massive mails to people who did not authorize me in any way.

Leave a Reply

Your email address will not be published. Required fields are marked *