Transcript for:
Effective High ROI Email System Overview

What's going on everybody in this video I'm going to show you one of the simplest but also highest ROI email systems that you can build. This is going to completely transform your warm campaigns, specifically campaigns that are coming from ads, so like maybe PPC ads or something like that, SEO where they're filling out a form on your website, or anything where basically the customer has to come to you. I built this own system out for myself multiple times. I built the system for dozens of clients at this point. And this is one of those systems that can literally quadruple your conversion rate on the front end.

It takes just a few minutes to build. I'm going to show you exactly how to do it right now. All right, so I'm going to show you the system in a moment.

And it's a nice system. We're going to build every module in this flow together. But first, I just want to show you the deliverable, like what is the output of the system.

And the output of the system is an extraordinarily simple form that looks like you wrote it in 20 seconds. That's the whole point. That's the whole objective here. The whole idea is when somebody fills out a form on your website, if somebody's clicking into an ad and then somebody puts in a bunch of personal information, you get back to them within two minutes with a hyper-customized reply that shows that you're a real person on the other end of the line, that's read through their website, read through their information, and that is basically ready to tango, if you will.

This is one of the lowest hanging fruit in any ad campaign. It would absolutely break your guys'hearts to see how much money is wasted on a daily, weekly, or monthly basis, especially at these big PPC agencies who run these things and then send all the traffic into the void. If you have something like this for a PPC campaign, right off the front end, your conversion rate is probably going to double, maybe triple, or quadruple. So that's really the whole purpose of this system. And I'll walk you through the logic just using this make.com scenario flowchart before we build it together.

Basically at the front end, we have a form. Now you can use any form that you want. I'm using a type form.

Type form is just one of many form providers. You could use jot form, you form, you could use like Wix forms, WordPress forms, Webflow forms, paper form, like there's like a million and one providers. But the whole point is just pretend that this is somewhere on a website, right? If you go to my website, maybe you are funneled here into an ad campaign.

And down at the very bottom, we just have like an embedded type form or something very common design pattern. And basically I'm you know, the prospect and I'm interested in working with these people. So they ask me some information and I'm filling out a brief little, little form here on their website.

And they're asking me for my website URL. Maybe it's a business thing. It's obviously B2B.

So they want my website for some purpose. Maybe they want to sell me a service. And then I click submit. Now what normally happens here, if you are a prospect on some website, looking to work with somebody is your form entry just went into the void. And You have no idea where it went.

You have no idea who's reading it. You're probably not going to get a reply for at least 15, 20, or 30 minutes. And basically this is just the shittiest user experience on planet earth, but it's also the one that the vast majority of businesses do. It seems like a really low hanging fruit to fix this, right?

Well, you'd be surprised at how many people don't. What our system is going to do is our system is going to do two things. First, you're going to get an immediate transactional email. A transactional email is just an email that you get basically immediately after you fill out a form. And it's just a way to notify the customer that, hey, how's it going?

We got your form entry and we're going to get back to you soon. OK, seems pretty simple. Again, you'd be surprised at how many people don't do this.

This is a simple one that I put together in like five seconds. And then what will happen after that is a few moments after you'll get a customized reply from somebody that works at one of this at this company. In my case, it's Nick from Workflow Loop.

And then Nick from Workflow Loop will have read through your website, gotten a bunch of information that you really. could not have known unless he actually did his research. And then I'll send you this message here saying, Hey, how's it going? Listen, I'm out of the office right now, but do you want to chat later when I'm back?

Happy to give you a ring. Just send me over a couple of times. This basically instantly cements this call within just a few minutes of somebody filling out a form. And it's just a very straightforward way of ensuring that you always maximize the quality of every lead. Like what a lot of people do on forms is they'll add like big calendars.

They'll add like multi-step things, tons of questions and that sort of deal. And I understand the reason why you want to do this. You want to collect as much info up front so you can do cool stuff with it later, add them to CRMs, do like personalized outreach and that sort of deal. But the really cool thing is if you take advantage of AI, you can usually just collect very little information, make it really easy for them to sign up and then just use the AI to do all that customization stuff on the backend. And that's basically what we're doing here.

So it starts with Typeform. We'll fill out a couple of, we have a couple of these modules for Typeform. Now what we'll do is we'll get the website URL and then we'll actually scrape it just using an HTTP request.

We'll then parse the HTML there, turn it to text. And then if we found a parsed website, sometimes we will not have, then it'll go through, then it'll actually customize the reply using both a templated transactional email and then a human email. Then if we don't find it, then we'll do sort of two templated transactional emails and then like a human email that is still templated, but I've just written it in sort of like a very A very... intelligent way, I want to say. One that implies that I am actually a real person on the other end of the line.

I'm going to show you what all that looks like in a second, but let's actually get to building out the system from scratch in a new tab over here. Now, the first thing you're going to need is you're going to need an intake form of some kind, right? So I have an intake form right over here, and it's just called intake form. It's obviously very simple. It asks, what are your contact details?

Then we have the first name. We have the phone number. And then we have an email address. You can imagine how if you're building an ad campaign or something for, I don't know, roofing, maybe you also want to ask some questions about the dimensions of their home or something.

You can do that here. I'm just trying to make it as simple as humanly possible so you can just take my template, just build whatever the hell you want on top of it. I'm also asking for a website URL because in my case, it's like B2B.

If you're doing something else, again, if you're doing like a roofing company, maybe you ask the geography, maybe you get the address. And then maybe instead of doing an HTTP request to the website, You do an HTTP request, the Google Maps API, and then the Google Maps API tells you something about the area that you then use to customize in the email. But again, I'm just assuming most people that are doing this are probably in a similar scenario to me. They probably just want like a simple solution that works for B2B purposes.

So this is what my form looks like. It's really not any more complicated than this. You could build this out in two seconds. You just click add content.

First thing you need is contact info. I'm not going to do last name. Then I'm not going to do company. And then I'll just...

in my case copy and paste up in your case just write something what are your contact details and then for the second one you need to add a website module and then just ask you know what's your website url make sure to make these required fields if they're required let's see if they're required here then they'll have a little asterisk next to them and then that way nobody will just like not include some of the information that you need We're not asking for a whole lot here, so obviously it's fine to require them. If you're asking for a ton of information, maybe some of these fields won't be required. Anyway, let's publish this puppy. Now, once we publish this, what I'm actually going to do is, first, I'm just going to go and I'm going to fill out the form as an example.

So my first name is now going to be Peter. My phone number is going to be this, and then my email is going to be the same one that I usually have, nickatleftclick.ai. And then again, I'm pretending that I'm a company called LeftClick that's signing up for some service, but voila, I have it done.

It says, all done. Thanks for your time. What we're going to do next is I'm just going to create a new module or a new flow here. I'm going to call this AI auto responder example.

And we're going to start not with the type form watch rows module. We're going to start with the list response. So I'm going to go over here to my form and I'm going to select intake form right over here.

And then I'm just going to scroll all the way down here to limit and press one. And why did I do this? Well, I did this because I want to right click this, press run module only. And then I just want to see the response that I put in. So Peter.

phone number, make a left click.ai, left click.ai. Okay, awesome. Now that I've done this, I actually have most of the information that I need to finish the sequence. The next thing I'm going to do is I'm really quickly going to go over to HTTP, and I'm just going to say make a request.

Then I'm just going to pump in this URL here, left click.ai. The method I'm going to use is get, body type is going to be raw, content type is going to be JSON, application slash JSON. And then I'm going to click parse response. Why did I do that?

Well, it's because I'm trying to scrape this website. If I click run once, you'll see the output of this now. is a bunch of HTML, and this is the HTML of my website.

If you go to left click and look for WeBuild Hands-Off Growth Systems, you'll see that this is actually inside of the HTML. It's represented in code. But to be honest, the code isn't super important to us. What we want is we just want the raw text.

So in order to get the raw text, we go down here to Text Parser, go HTML to text, then just feed in the data, which just contains HTML code into this module. Now, if we run this. Well, now we don't have the HTML. We actually just get a bunch of text. And this is a couple things for us.

It makes it a lot easier. It makes it a lot shorter. It makes it a lot more interpretable for the next step, which is feeding it into AI.

It also saves you some money on token costs and that sort of thing. It's pretty sweet. We could actually go even further here. Right now, this is pretty long because there are a lot of new lines, right? What we could do if we wanted to is we could actually strip all of these new lines in the next step.

So hypothetically, I'm just going to go set a variable. Then I'm going to say trimmed and stripped. Then I'm going to trim this.

And then I'm also going to go and replace all of the new lines here. I'm just going to replace them with a space instead. And now if we press run once, the end result is just this big block of text.

It's no longer spaced out. It's no longer super crazy long. We've eliminated basically a bunch of tokens that we don't need anymore.

So it's easier. It's a little bit shorter. You can obviously perform as many of these arbitrary text transformations as you want.

You could remove everything within these brackets. If you wanted to, these brackets are just files that are being hosted on the website. Yeah, there's just a million and one different ways to do this.

But now that we have our text in a relatively compressed format, what I'm going to do is I'm going to feed this into AI. And what I've chosen to do for this one is I'm using Anthropic Cloud. You can use GPT-4 here.

There's literally no difference between the two at this point. I'm just using Anthropic Cloud because in most of my previous videos I've used GPT-4 and I just want to show you guys that you could use Anthropic. What we're going to do is we're going to create a new user prompt with a type text and let me just see what I said in the other one here. Okay I'm just going to copy this whole prompt and then we'll read it.

I don't want this video to be about me just creating a prompt from scratch because that's just rebuilding the wheel. We're just going to pretend that we've already written it. Okay, so in terms of the prompt, what am I saying? The prompt isn't actually magic here, and it's not the best prompt.

I think a lot of the people that are making these videos, they always make it seem like their prompt is super special. This isn't super special. I wrote it in like 15 seconds, and I just said what I wanted it to do, and it did an alright job.

You could probably optimize this a lot further, and I'll talk about how to do that in a sec. But all it is, is it says below is a website scrape and some contact details. Use it to customize an email reply to a prospect.

Write in a short, succinct way. Use this template, filling in the variables with data from the site. Do not output anything except for the email copy.

Now what is the actual text? The text is, sorry I just have to move this so we can all see it. The text is hi variable.

This variable here that I've selected is the first name. As you see it sort of says Peter down here. Hi Variable, thanks for reaching out. Whatever the company name is looks great. Love your unique value prop.

I'm out of the office right now, but do you want to chat later today when I'm back? Happy to give you a ring. Just send over a couple times. Tomorrow works too. Now this copy here, I've written it in a way that just makes it seem like it's a real person that's responding to the email.

I've done a lot of copywriting, so I'm just familiar and comfortable with writing in such a way. I usually write my cold emails in a similar manner as well. But typically, the whole idea here is for whatever you're doing. You just want to make it seem like somebody was on their phone when they got the inquiry, and then they just penned the response just right there while they were on the phone, maybe in the middle of the street or something.

You don't want to write in a super complicated way. You don't want to spend too much time making this seem really polished and grandiose. You just want it to seem very incidental is the term. So that's what this message is. And if you see what we're doing here is we're adding these curly braces and saying whatever the company name is, then we're saying unique value prop.

Well, the whole idea here is we're actually going to get AI. to take the information from the website and use that to fill this in for us. So we're going to grab the company name from the website.

We're going to grab the unique value proposition from the website. It's going to be pretty sweet. Okay, great. Now for our next prompt, we're going to go to text and then I'm just going to write, um, I guess we already have the company name. I'll just write first name again anyway, just in case.

And then what I'm going to do, I'm going to say website scrape, and I'm just going to dump in this trimmed and stripped section over here. And then I'm just going to go to advanced settings for system prompt. I'll say you are a helpful, intelligent writing assistant.

You don't output anything except for what you're asked. And then the temperature I'm just going to go 0.7 and that looks pretty good. Okay.

As you see, we're not building on this successively. So if I click run once, everything finishes very fast, except for the anthropic cloud module, obviously, but you'll see what ended up happening was We went through, we scraped the website, we converted that website into its text form. We compressed the hell out of that text. Then we fed it into AI. And then we use that to fill in these variables.

So now it says, hi, Peter, thanks for reaching out. Left click your website. Looks great. Love your approach to building hands-off growth systems for B2B founders.

Now, if you think about it from Peter's perspective, the guy that just filled out the form, if he sees this, all he's thinking is, oh, this is a real person that just went on my website and he filled out a quick little, you know, he wrote a quick little email for me. This is a very high ROI for Peter. Peter is going to be impressed. Peter's going to be a lot more likely to want to work with the service because you've done a little bit of work, which, you know, most other agencies and coaching programs and stuff just can't for whatever silly reason. Then I'm out of the office right now, but do you want to chat later today when I'm back?

Happy to give you a ring. Just send over a couple of times tomorrow works too. All right. So, um, at this point you'd probably be like, well, we're done. We don't have to do anything else.

Unfortunately, we still do have to do a few more things. We have to now know that we've built like the bones of the system. We have to obviously make it work.

So we have to. connect this to an email module. So I'm going to go down here to email and then we click send an email. Email module historically is a lot better to use than the Gmail module.

Fortunately for whatever reason always defaults back to a very old connection that I've set up. We're gonna want to save the message after sending just because I'm gonna want to like track that I did indeed send the email and then down here I have to select folder inbox. If I don't do that, then it just disappears.

Now for the purposes of demonstration I'm just gonna be sending this to the same email address my own. But you can imagine how what you should be doing is you should be going down here and getting the email from the form fill. Right. That makes more sense. And then subject line, you can do whatever you'd like.

But I'm just going to say thanks for filling out our intake form. And then the content type will be plain text. I'm just going to say this is going to be our transactional email.

So we'll say, hello, first name. This is the workflow loop team. We wanted to let you know that we've received your submission and we're excited to get back to you. Please keep an eye on your inbox.

Our team prides themselves. on replying within five minutes. Let's say, thanks for getting in touch. Talk to you in five minutes. Let's do that.

That'll be nice. Our team prides themselves on replying within five minutes. If you have any questions, feel free to reach out. Thank you, workflow loop team. So if you're running an agency, you can imagine this sort of verbiage is probably pretty important.

And then the talk to you in five minutes, that's just meant to be, hey, this is pretty impressive. We're going to talk to you in five minutes. you know a human being will get back to you doesn't matter if you fill it out at 2am in the morning we will get back to you now what i'm going to do is i'm going to copy this email module paste it it's just a very quick and easy way to ensure that all my settings are saved i have the same connecting connection settings and stuff like that and what i'm going to do is i'm going to add some emojis because i love getting an emoji and then i'm just going to respond i'm going to say nick here nice to meet you what i'm going to do is because I've already written this copy and I know that it works, I'm just going to go back over to the human email. I'm just going to copy this whole, Oh, actually I don't need to.

What am I doing? I guess paste in this text response here and the subject line is going to say, Nick here. Nice to meet you.

Okay, great. So I think we have everything that we need now. I'm just going to say, send transactional email. This one's going to be send human email. And now what I'm going to do is I'm just going to run this from start to finish.

Now these two email modules are right next to each other. So you can imagine how in reality, we said five minutes, this is like two seconds. So we're going to need to add some sleeps, but I'm just doing this because I want to show you guys what it, what it actually looks like.

Okay, great. So these are the two emails and I'm just doing them on nick at left click. I on, on my email address, just because I wanted to show you what it looks like from my perspective. And this is just a little bit more reliable. So the email, the first email that sent us, thanks for getting in touch.

Talk to you in five minutes. Hello, Peter, this is the workflow team. We wanted to let you know that you received your submission. We're excited to get back to you.

Please keep an eye on your inbox. Our team prides themselves on replying within five minutes. If you have any questions, feel free to reach out. Thank you.

We're a fluid team. That's a fantastic experience because I just filled out the form and I just got the response. The next email is this one here.

And this now comes from a real person that says, Hey, Peter, thanks for reaching out. Left click looks great. Love your approach to building hands-off system growth system for B2B founders. Again, this is the customized part right here. I'm out of the office right now, but do you want to chat later today when I'm back?

Happy to give you a ring. Just send her a couple of times. Tomorrow works too. You can imagine how now I basically have cart blind. I can chat with them anytime.

It doesn't actually matter. I could even give them a call right now, but by providing this, I've basically implying that the quality of our service is fantastic. And we're basically second to none.

That's going to make a great impression. That's going to make your, um, your warm lead flow process go very, very far indeed. Okay.

So these are the bones of the system. Now we have to add a couple of things. We have to add a little bit of error handling because there's a possibility that this will not work. And then we have to add a couple of routes because we need to account for the route where they supply a website that works. And then we also account, we have to account for the route where they supply a website that doesn't work, right?

Like this is an all hunky dory. There's a possibility that there may be an issue here. In my previous videos, I haven't really talked a lot about error handling and really fleshing things out perfectly, but I figure it's about time that I start being responsible.

So. That's what we're going to talk about now. How do we turn this, the bones of this system into one that actually works and would be sort of production ready?

Well, the first thing we need to do is we just need to add a sleep between these two modules, right? You can imagine how, let's do three minutes. The reason why is because we send the transactional email that says, hey, we're going to get back to you within five minutes.

And then we sleep for three minutes and then we get back to them. Maybe we'll even do two minutes. Maybe we'll do like 154 seconds or something.

That'll seem a little bit more random, which is nice. So that's good. The second thing that we have to do is with the HTTP module where we're calling the website that they supply us, we need to go over to flow control and then we need to add and ignore. Why do we need to add and ignore?

Because hypothetically, if I run this, but then the website that I add is a website that doesn't exist, this is going to time out. It's going to be looking for a website URL that doesn't actually exist. I think the timeout is like 30 seconds or something like that.

When this happens, you're going to get this little yellow thing that says connection error, service is not reachable. And if somebody supplies a website that isn't real or a website that we can't scrape for whatever reason, we just need a way to continue moving on with the flow. And so that's what this ignore is going to do. It's going to say, hey, even if we get an error with this HTTP request, fuck it, let's keep going.

Next up, we need a way to account for the fact that if there is an error here, this is not going to parse anything. So what we're going to do is we're going to provide a router now. So I'm going to right click this.

Oh, actually, we can just click add router, you don't actually need to do that. We've added a router. And what we want to do is we want to provide two cases.

The first case is sort of as normal. and that says parsed. What we're going to do is we're going to look at this text parser here, and then we're going to say, hey, does this exist? If this exists, if the output of this data, if there is an output of this data, odds are that this data thing was successful, right? Meaning that we got website scrape data and we can proceed with the flow.

But we also need to provide a route for if it doesn't exist. And what I'm going to do here is I'm just going to copy these three because that's all that really matters. And then we're going to add a second route that says empty, or maybe fail.

Let's do that. Where this thing does not exist. Now, if you think about it, we've now covered every possible case, either this variable can exist or this variable cannot exist. The two cannot be true simultaneously.

So this will only ever proceed down one of our routes. The issue now though is, well, if you notice, I had an AI module in the bottom route, but no AI module in the top route. The problem is obviously if you don't get website copy, it's very hard to customize this, right?

So what I've done instead is I've just written some copy that seems customized, even though it's not, and it's not perfect, but it does a pretty good job. So I'm just going to go over here and paste this in, show you guys what that looks like. We have a high name. So I'm gonna go find the name Peter. Thanks for reaching out just out of the office right now, but do you want to chat later today when I'm back?

Happy to give you a ring. If so, send me a couple of times and I'll call you at, and then we have the phone number here. Tomorrow works too. The idea in providing the phone number is just to make it seem a little bit more customized. And then what we're doing is we're thanking them for reaching out, but we're not really providing anything super custom.

So this is sort of our fallback in case the rest of the flow doesn't work. You always have to have a fallback in these scenarios. It's just something good to get in the habit of doing.

Okay, great. So this looks pretty good to me, but we've just forgotten one more thing that we have to do with the left-hand side here. And that is we have a module now that lists the responses, but anytime we want to run this, we actually have to manually go and click run once. What I'd like to happen is I'd like to, I'd like for this to run completely automatically. This is just a module that I use for testing.

The way that I'm going to do this, I'm going to watch responses and I'll actually drag this all the way on the left here. And what I'm going to do next, I'm going to add a little sleep module and the sleep module just allows me to test very quickly if I ever need to. And I'm just going to say three seconds and I'm going to connect this.

What this watch responses module is going to do is it's going to watch intake form. And now what's going to happen is every time I fill out this intake form, we're then going to sleep for three seconds. We're then going to list the most recent fill on the type form.

We're then going to do the HTTP call to the website. We're going to parse the text. If it is parsable, we're then going to compress the website data.

We're then going to feed it into AI, send a transactional email immediately, which is going to impress them. We're then going to wait about two to three minutes. Now we're going to send a human written email. If there is no website data, we're then going to send a transactional email, do the same thing, sleep about three minutes, and then send a sort of poorly written human email, but still a human email nonetheless.

And that's our flow from start to finish. Let's actually give this a quick little run. Now, if you think about it, if I do give this a run, it's going to take sweet ass time because I'm waiting to sleep for three minutes. So I'm just going to hypothetically, for the purposes of this example, just change this to 10. It's going to be 10 whole seconds instead of 154. But as you can imagine, it's the same sort of deal.

Okay, so I just click run once and now we're waiting. What I'm going to do is I'll go back to the intake form and I'm just going to pretend that I'm a woman called Janet. My email is janet at gmail.com and my website URL is maybe one second copy.com. Let's try that.

We're going to go back here. We're going to get that data, make the request, and we're going to proceed down the first row. sleeping for three minutes. Really, it's just 10 seconds.

And now we're going to proceed with writing our human email. Very nice. And why don't we take a look at the result? Okay, great.

So this is the transactional email and Janet got it instantly immediately after we filled this out. Very nice. And this is the customized email right over here.

Very sexy. Hi Janet, thanks for reaching out. One second copy looks great.

Love your network of hand-picked, high-quality writers working on demand. Out of the office right now, but do you want to chat later today when I'm back? Happy to give you a ring. Just send her a couple times tomorrow works too. Color me impressed.

There's no way Janet is not working with us now. So that is the system in a nutshell. What I'm going to do over here is I'm just going to change all of these email addresses to the email that is supplied, and then I'm going to save this as a blueprint. The reason I'm going to say this is a blueprint is so that everybody in the YouTube...

Anybody in the YouTubes, like an old man now, even got glasses. Anybody in that dang YouTubes going to have access to these blueprints. And then you can take the stem of a system and then build on however much complexity you want.

As I mentioned earlier, you could swap out this HGTV module for basically whatever you want, anything you could, you know, if it's like a B2C thing and you're doing some construction project, or I don't know, you're like a general contractor. These flows are very important for general contractors and companies of that nature, right? Because you want to get back to people quickly and you want to provide them the impression of very customized service.

Well, if you're doing something like that, you just swap out the HTTP module for like a Google Maps module that then tells you something about the location, right? Maybe it gives you the city name and then you pump the city name into AI and have it say, hey, tell me some cool, unique things about the city. And then that's what you feed into the email.

There are a variety of different ways you can do it, but I think you guys get my point. Thanks so much for watching this video. I know that this is one of the simplest and most straightforward systems that I've done, but I wanted to dial back the complexity a little bit here before I proceed and increase the complexity again over the coming weeks. If you guys have any questions or anything like that, just drop a comment down below.

More than happy to help. If you have any ideas for future systems, please do the same. I source most of my ideas from the YouTube comments now.

Otherwise, if you could give me a big solid and like and subscribe, I will forever be in your debt. Catch you on the next video. Bye-bye.