Ontraport Tutorial: 2-Way SMS Marketing Messages

Ontraport Tutorial: 2-Way SMS Marketing Messages

What’s going on Ontrapreneurs?

If you’re watching this video then you either use SMS marketing as part of your Ontraport campaigns or you’re thinking about doing so in the future.

Either way, by now you know that Ontraport is dead simple to use as your SMS marketing software solution right out of the box.

Just grab your complimentary SMS enabled phone number, add some credit to your account and drop the send SMS element into the visual campaign builder to supercharge your marketing efforts.

But what do you do when someone replies to one of your texts?

Savvy marketers know that an engaged prospect is much more likely to take the action you want them to so being able to take advantage of every channel possible is always top of mind.

In today’s ClickFix, I’m going to walk you through two different options for deploying a 2-Way SMS messaging flow into your business.

The first makes use of a simple visual builder campaign, one email or text message notification & the “one-off” SMS feature introduced in April of 2019.

So let’s jump into the campaign to take a look at how you’ll be setting this up.

Like with most visual builder campaigns we drop in the End element under the Manual trigger.

Then we drop an Inbound SMS trigger using the Ontraport SMS number we want to use to start a new stream. Make sure it’s set to trigger for any contact in the account and that it moves people back to the top every time they send a new SMS.

Next we tell Ontraport to Notify someone with an email. You could use a Notify with SMS element instead if you want, but that’s double credits and you’re going to have to use Ontraport to respond anyways. I chose to notify the contact owner, but you can use this to notify any user or any email you specify.

For the email message, I just created a very simple text block that is mostly made up merge fields that looks like this.

A new SMS was received from: [First Name] [Last Name]

They Said: [Last Inbound SMS]

Click here to respond: https://app.ontraport.com/#!/contact/edit&id=[Contact ID]

Finally I dropped one last End element and published the campaign.

Whenever someone sends an SMS, the campaign triggers and I get an email that looks like this with a hyperlink.

Clicking on the link takes me directly to the contact record where I can click the SMS icon from the action tray at the top.

Then I just click Quick SMS, write my reply & click Schedule & Send to fire it back to the prospect.

The PROS to this approach are in its simplicity and the fact that it doesn’t take anything other than a basic Ontraport account to enable this 2-way SMS marketing solution. You’ll be able to get it in place in less time than it took for me to shoot this video and it probably works well enough for most people who only receive a random incoming SMS here or there.

The CONS are that it isn’t scalable. First, every person on your team that you want to answer incoming SMS would have to be given access to Ontraport. So either individual users or a single user account, but there’s no way around them needing to be in the back end if you want to use the same phone number for both incoming and outgoing messages.

Second, imagine trying to maintain even 5 simultaneous conversations with this method. Between swapping back and forth between email and Ontraport and no easy way to see the whole conversation at once, you can imagine how easy it would be to make a mistake or to get frustrated with the process. Sure, you can look through the contact log to piece together the info, but personally I’m too lazy for that 😂.

That’s why I asked the ClickFix dev team to come up with a way for us to extend Ontraport’s SMS capabilities into an easy to use interface that makes it simple to keep the conversation going.

It integrates with your account in via an API Key and a custom campaign that handles the backend communication with our servers.

Once it’s up and running, you get a unique URL that launches your 2-way messaging app which works just like most basic messaging services.

The PROS to this approach are many. To start, you don’t have to log into Ontraport in order to send & receive messages. That means you can have anyone you want monitoring your communications and replying in real-time without worrying about what other information they have access to.

It also makes it easier to understand what the conversation is about because the entire history is right there for you to browse if you need a quick reminder of where you last left things.

But probably the thing that has members the most excited is the fact that it is MOBILE RESPONSIVE which means you can send & receive messages anywhere you have an internet connection. Like the beach which is of course my preferred spot to work from 🤣

The CONS are that it is a paid third party solution which of course is a deal breaker for some people.

It could also be overkill for solopreneurs or people who don’t have a high volume of incoming messages… yet.

So, if you just need a solution that handles the odd reply, then just deploy that simple manual 2-way SMS campaign flow I showed you at the beginning. 

That will at least get something in place that allows you to experiment more with the SMS features to see if dedicating more resources to that channel makes sense in your business.


Supercharge Your Ontraport Projects Today For Just $1

Ontraport Thank You Page Into Order Summary Playground

Ontraport Thank You Page Into Order Summary Playground

Hello Ontrabelievers!

So, the other day I dreamed that I was talking to a prospective client (yes I dream about Ontraport sometimes 😂) who was worried about whether or not Ontraport would really be able to replace ClickFunnels (first time you’ve heard that I’m sure LOL)…

So, I asked him exactly which pieces of CF he was most concerned about and he echoed the usual…

“I’m worried that Ontraport doesn’t have enough pretty templates”
“With ClickFunnels I can deploy a whole funnel in a couple of clicks”
“Building with CF is so easy & I’ve heard Ontraport is hard”
“I’ve heard Ontraport has a huge learning curve”

So I gave him the spiel…

“Templates don’t matter nearly as much as the Offer, the Copy & the Audience. Besides, Russell Brunson himself starts from ZERO on his live funnel builds so stop thinking the ‘right’ template is going to make or break your success. The Ontraport team has also taken an active interest in putting more templates in place. Plus, I’ll give you access to a library of templates to choose from along with all the ones we make in the future. If you really see one you’re dying to have, I’ll get the team to whip one up no problem…”

“Full funnels? Well, not really because you still have to write the emails and copy, right? But OK, I have 4 plug-&-play funnels ready to go and they even have the email templates + landing page copy 80% done for you. Check.”

“CF is easy to build pages with. But so is Ontraport. Especially if you’ve never touched either one. Plus both have live webcasts that show you how the founders approach building out the pages so I’d actually put the learning curve about on par. But is building the pages yourself really your highest & best use of time as the captain of your ship?”

But then he threw me a curveball…

“ClickFunnels has a dynamic order summary page.”

I was stumped, so I said let me get back to you and then I woke up…

But it wasn’t the first time I’d heard a similar request so I went digging through the group and sure enough, Danno Sullivan mentioned something similar way back when.

So, I started playing around with the ClickFix shortcodes to see if we could make something even cooler than the basic order summary page…

Since Ontraport conveniently let’s us pass CGI + eCommerce variables when we submit forms, it was actually much simpler than I thought it would be.

Let me show you how I did it.

First I grabbed the checkout page and went into the form settings to have it pass both the CGI & eCommerce variables by clicking the check boxes. Then I set the thank you page to the HTTPS version of my thank you page.

Then I saved all the changes and switched to my thank you page.

Over there, I dropped in the ClickFix shortcode activation snippet into the header section of the page.

Then, I set up my page using the [FromURL] shortcode to grab things from the URL query string like the item quantity, item name, item price and the first name to set up both the dynamic sentence as well as a simple dynamic summary table.

I was able to whip this up pretty quickly with 0 attention to design, but I’m sure you’ll come up with something that looks even better!

Doing this particular usecase project got me really excited about all of the other possibilities presented by the [FromURL] shortcode.

For example, I could also set it up to pull any URL parameters that get populated dynamically by Google Ads or Facebook Ads and put that into strategic parts of my landing page.

Let’s say you target men and women and a bunch of different age groups. You could theoretically set up a single page that would read those variables and put something in the page like

“If your a [FromURL gender] between the ages of [FromURL age], then you’ll want to pay close attention.”

As people click on your ads, they’ll get message variations that seem to speak directly to them:

“If your a man between the ages of 35-40, then you’ll want to pay close attention.”

We could even take this one step further and include other shortcodes like our group of conditionals to show and hide elements on the page like images so that the entire page experience changes based on the information being passed to the URL.

Think about that for a second!

That means that with a bit of creative thinking, you may be able to set up a single dynamic landing page that adapts to your visitors instead of having to make duplicates and ads that are pointing all over the place.

Do any other ideas come to mind?

I love talking about this stuff as some of you can confirm first hand so if you have any questions or feedback, don’t hesitate to make yourself heard.


Supercharge Your Ontraport Projects Today For Just $1

Ontraport User Controlled Conditional Blocks

Ontraport User Controlled Conditional Blocks

It’s time for another ClickFix case study Ontrapreneurs…

QUICK POLL: Do you sell things internationally?

In today’s ultra-connected world, the chances are that you do have at least a few clients from other parts of the world deciding whether or not to give you some of their hard earned cash…


Did you know that studies show as much as 65% UK, 47% Australia, 43% Germany, 39% Canada will leave USD only website in order to calculate exchange rates before deciding to make the purchase?

If you’ve been around the web game for any length of time, you know that a good chunk of those people never make it back 🙁

So it’s no wonder that savvy Ontrapreneurs like Linda Rossiter are on the lookout to increase their competitive edge whenever possible…

Now, even if you only sell to one country and don’t need to worry about displaying prices in different currencies, you’ll definitely want to keep reading because the principles can be applied to any type of content you’d like to display based on certain conditions.

Ontraport’s v3 Page Builder introduced an awesome new feature called conditional blocks. With their built-in options you can choose to display content blocks based on:

  • The device (mobile vs desktop)
  • A time delay
  • Conditions pulled from the contact profile
  • A combination of the above

That means that right out of the box you could set it up so that based on tags or information like the country inside of the contact record could show the visitor the right content.

For our multi-currency pricing table example, that means that you could set up three different blocks with one pricing table per block. Then, you could set up conditions based on the country field to determine which block to show.

If you want to get a bit fancier, you could set up a campaign that tags people with a currency preference based on their location and reduce the block conditions to just looking for those tags (shout out to Landon for that piece).

But what if you want to give the visitor control over the currency (or content being displayed)?

Or maybe you’d like to be able to use information from the URL to determine which block gets shown like setting the UTM parameter to a country/currency as part of an ad campaign…

That’s where something like the ClickFix FREE shortcode engine comes in handy.

There are at least 4 or 5 ways I can think of how to set something like this up with shortcodes, but for this example I chose to make it work with:

  • A URL parameter
  • A text link
  • A drop-down selector

You can play with it at https://clickfix.ontraport.net/multicurrency

If you’re curious about deeper explanations of the shortcodes, you’ll get access to the docs when you sign up for a free account.

But let me run through the setup line by line…

Line 1 is the script that enables shortcodes to work.

Line 2 hides the shortcodes when the page is first loaded.

Line 3 turns the individual blocks that hold our pricing tables into tabs and hides them from view until the page receives some interaction.

Line 4 shows the block with the USD pricing table by default.

Line 5 hides the submit button. By default, Ontraport only allows you to use form fields on the page if you include a submit button. In our case we want to use a drop-down field to change which pricing table is displayed, but there’s nothing to submit so we just hide the submit button.

Line 6 tells the system to look at the URL to see if there is a parameter called currency defined. If so, it changes the value of the drop-down field to match.

Lines 7-9 tell the system to change which block is shown based on the value of the drop-down field.

Line 10 closes the command to hide the shortcodes when the page is first loaded.

Now when we go to the page you can see how it works.

USD is loaded by default, but we can change the displayed pricing table either with the text links or the drop-down controls. Obviously you’d probably only use 1 or the other, but I wanted to illustrate different options.

I could have just as easily used images or buttons as well.

The last little trick makes use of a URL parameter called currency.

So when someone visits a link with the currency pre-defined like https://clickfix.ontraport.net/multicurrency?currency=EUR%20(€) the shortcodes shift to display the proper pricing table.

Again, this is just one possible set up for this.

More importantly, hopefully you can see how mixing and matching simple shortcodes can really open up all kinds of new functionality for your Ontraport pages.

Now it’s your turn!

What kinds of shortcodes would you love to see or what kinds of ideas are you dying to try out?


Supercharge Your Ontraport Projects Today For Just $1

How To Use The Ontraport Page Inspector Chrome Extension

How To Use The Ontraport Page Inspector Chrome Extension

QUICK QUESTION: How creative have you gotten with your new Ontraport pages since they dropped v3?

Have you taken your design game to the next level yet?


Well, let me show you a quick CSS trick that should give you some food for thought.

Between completed Ontraport page templates & the ones currently with the design team we’re fast approaching 50 plug-&-play options…

But until recently we shied away from dealing with designs that featured any overlapping elements because without a simple way to add custom CSS IDs or classes it was a major pain.

We would have to open the page inspector, look for the info and really play around with things to get it right.

That was until we got fed up with having to deal with the inspector every time we wanted to get our ClickFix shortcodes to work or add some custom CSS to really make things pop.

So the devs got to work in the lab and came up with a Chrome Ontrapage Inspector Extension that shortened the process to a couple of clicks.

In fact, it made our lives so much simpler we decided to give it away for free.

Just search for “ClickFix” on the Chrome Web Store and you can install it if you want.

In a nutshell, it highlights the identifiers used for field names, bump offers, blocks, columns, & elements so you can reference them with our shortcodes, custom objects, CSS and more.

But, how did this help me create an overlapping element?

Well, once I had my page set up in the page builder remember I needed to figure out what to reference for my style.

So I published the page and told the ClickFix Chrome extension to give me the column ID I wanted to target so that the entire thing would overlap.

Once it identified the column in question as “10” all I needed to do was drop the CSS into the header area, click done, save & voila!

div [opt-id=”10″] {margin-bottom: -45px;}

Now, I just showed you one possible application for what you can do with an easy way to identify the pieces of your Ontraport pages.

Are there any other uses for these identifiers that will make your life any easier?

Drop us a line if you have any awesome ideas you’d like to try.


Supercharge Your Ontraport Projects Today For Just $1

Ontraport Locked Links

Ontraport Locked Links

In today’s ClickFix, you’ll learn how our exclusive Locked Links™️ work to give you more control over how people interact with the links you share.

In basic terms, Locked Links™️ give you the opportunity to create links that you can expire or lock after:

A) A certain amount of time passes
B) A contact clicks on them a certain number of times

In a separate video, we’ll go over some potential uses cases to help get your creative juices flowing. So, let’s jump into the ClickFix dashboard and take a look at how to get started.

Once you’re on the Locked Links™️ page, the first thing you’ll want to do is to give your locked link a descriptive name. This name is strictly for your internal use, so you’ll want to name it something that’ll help you keep them organized.

For our purposes, we’ll just call this one Locked Link Demo.

Next, we’ll select the Ontraport application key that we want to use. If you haven’t set up your Ontraport Key yet, navigate to Settings > Ontraport API Keys & set one up right now because all of the ClickFix apps will ask for your key before allowing you to use them. If you need help setting up your key, please refer to the video tutorial linked on that page.

After selecting your Ontraport key, you’ll need to select the field that you’ll be using to store your locked link information inside the contact record. I’ll explain exactly what you can do with this field in a minute, but first let’s head over to Ontraport to get that set up.

Your navigation may vary depending on your Ontraport subscription, but you’ll want to look for the “Field Editor” which for us is under Contacts > Settings.

It’s up to you where you want your fields to live, but it’s probably a good idea to organize these in their own section since you’ll need to create separate fields for every locked link that you want to keep active.

I’ve gone ahead and made a “Locked Links” section and created a text field called “Locked Link Demo” but you can call yours anything you want.

While you’re there, you should also make a numeric field, which I called “Demo Counter,” but you can call it anything you want. I’ll explain what each field is used for in a moment.

Don’t forget to save the field editor and then head back over to ClickFix.

You’ll probably want to deselect and then reselect your Ontraport Application Key at this point so it refreshes the field selectors with the latest additions.

Now when we begin typing the name of the field we just created, we’ll be able to select it from the results. Do the same with counter field.

Next we need to select the destination URL that we want people to see when they click on an active link. In other words, if the link isn’t locked or restricted where should we send them.

In this case, I’ll just use the main ClickFix.io website.

After that, you’ll want to select whether this is a website or a file. The main difference is that if it is a file, then you’ll get an extra layer of protection by keeping the file extension secret.

Then, we’ll put in the URL that people should be taken to when the link is locked by the time or click options we’ll select in the next step.

In our case we’re going to send them to a MEME.

Now we’ll need to decide how we want to lock our link. At the moment we have three options.

First, we can lock the link after a certain number of days or hours. We’ll explore this deeper in the use case video, but for now just imagine using this during a flash sale where your prospects only have X days to take advantage of a discount.

Second, we can lock the link according to the number of clicks on the link. Please keep in mind that this click count is on a per contact basis. In other words, this is not what you’d use if you were trying to limit the number of global clicks to a link. Instead, this is more for ensuring that your content isn’t being shared or to limit the number of times someone accesses a piece of content.

Last, you can use a combination of both time and clicks to lock your link. Whichever condition is met first will trigger the lock and send the person to the expired link URL chosen above.

OK, so after saving you’ll get the webhook that you’ll need to activate your locked link. Go ahead and copy that, then head back over to Ontraport.

Navigate to Campaigns and then start a new campaign or choose an existing one if you prefer. I just started one from scratch. Because I’m going to add a contact here manually, all I did was add a Send a Webhook element under the default trigger.

Then I simply paste in the webhook generated by ClickFix into the first box and click Done. Now publish the campaign and you’re all set.

The last thing that’s left before you can use your locked link is to put the contacts you want to use the locked links into the campaign you just created. In most cases, that’ll probably be everyone on your list so you can just add everyone to the campaign.

However, I’ll just show you what it looks like with my test profile so you know what to expect.

As you can see, a link has now been pushed into the contact record. When we paste it into our browser, it takes us to ClickFix.io just like it’s supposed to.

But now let’s lock the link manually so you can see what happens.
To do so, all I need to do is delete the URL currently there and save the change.

Now when I visit that link, you can see that it takes me to my Locked Links™️ URL instead.

That means that now you have an easy way to keep your content from being shared without authorization, to help increase conversions by including real scarcity or any number of creative ways to use this feature to help grow your business.


Supercharge Your Ontraport Projects Today For Just $1

Use Magic Hooks To Change Billing Schedules

Use Magic Hooks To Change Billing Schedules

In today’s ClickFix, you’ll learn how our exclusive Magic Hooks™️ work to give you more control over how people interact with the links you share.

In basic terms, Magic Hooks™️ let you do a couple of things at the moment.

  • Change when someone’s subscription or payment plan payments are charged
  • Toggle whether or not you want someone to receive a recurring invoice with every charge

I’ll get deeper into specific use cases in a separate video, but for now imagine that you want to gain better control over your cash flow so you decide that from now on, everyone is going to be charged on the first of every month. With Magic Hooks™️ you can do that and much more…

So, without further ado, let’s jump into the ClickFix App to see exactly how we create our Magic Hooks™️ and what types of options you’re currently working with.

We’ll start with changing the next charge date of an open order.

Once you’re on the Magic Hooks™️ page, you’ll notice that the first thing you have to do is select the Ontraport Application Key that you want to work with.

If you haven’t set up your Ontraport Key yet, navigate to Settings > Ontraport API Keys & set one up right now because all of the ClickFix apps will ask for your key before allowing you to use them. If you need help setting up your key, please refer to the video tutorial linked on that page.

After selecting your Ontraport key, you’ll see that the base URL changes to show your unique token.

From here, you just need to add the URL parameters that’ll tell Ontraport which open order to update & when you want the next charge (and subsequent charges) to take place. Let’s go over them one by one.

First up is the &id= parameter. This one will always be &id=[Contact ID] so that Ontraport knows which contact record to modify. Every Magic Hook™️ you create needs this parameter to work, so be sure to include it every time.

Next, you have the optional &from= parameter which allows you to choose between ‘today’ and ‘order’. This parameter tells Ontraport whether you want the offset you choose in a later step to be counted from today or from the current date of the open order.

Let me try to explain that with an example. Adding &from=today means that whatever offset type you choose later will be calculated from today. So, if you chose a 3 day offset, your Magic Hook™️ would change the next charge date to 3 days from today (ie. If today is November 21st, the next charge would be on November 24th). If you were to choose &from=order, then it would calculate 3 days from the date of the next order (ie. if today is November 21st & the next charge is set for December 21st, this would change the next charge to December 24th).

Moving on, we see that we can also choose the time zone that we want to use for the webhook’s calculations. This looks like &timezone= followed by the desired time zone in a Continent/City format like &timezone=Europe/London. Google “tz database time zones” if you need a list of compatible time zones. This is an optional parameter, but if it’s not specified, please keep in mind that it’ll default to GMT (essentially UK time for the uninitiated).

After that, we have the option to specify which product this is for using the &product= parameter. You can find your product ID list in your Ontraport dashboard under Sales > Products and then either adding the “Product ID” column or if you’re in Chrome you can just hover over the product name and look in the lower left corner of the browser window. Adding the &product= parameter tells your Magic Hook™️ to only modify the charging schedule of a specific product. If you don’t include this in your webhook, you may end up modifying every open order (both subscriptions and payment plans) currently active for that contact. So, make sure you include the specific product ID if you have multiple subscriptions and/or payment plans available on your website.

From there we get to the &type= followed by the &offset= parameters.

As the table shows, you have several options that you need to consider for the &type= variable which will determine what number you should include for the &offset= value.

Numeric 1 to 7 (Monday to Sunday)
Numeric from 1 to 31 (if no 31 in that month, set to last day of the month)
A number of days in the future
A number of weeks in the future
A number of months in the future

So, if you wanted to change the next charge date to next Tuesday, you would add &type=nextday&offset=2.

Or maybe you want it to be on the first of next month. In that case you’d add &type=nextmonth&offset=1.

Want to move it by a set number of days, weeks or months? Just add &type=days/weeks/months&offset=insert_a_number.

At the bottom of your ClickFix interface, you’ll see a couple examples of ready to use webhooks to give you a headstart on building yours.

The last thing to note is that you also have the option to combine Magic Hooks™️ for even more granular control.

For example, setting up 1 webhook element with https://klikfx.com/a/h/change-charge-date?token=Pick an Ontraport Key above to reveal your token]&id=[Contact ID]&type=nextmonth&offset=1

Followed by another like this https://klikfx.com/a/h/change-charge-date?token=[Pick an Ontraport Key above to reveal your token]&id=[Contact ID]&type=nextday&offset=1&from=order

Would push the next charge date to the 1st monday of next month.

Let’s jump over to Ontraport to see how to deploy your new Magic Hook™️ in a campaign.

Once you’ve logged into Ontraport, navigate over to campaigns and start a new campaign from scratch.

Now you’ll need to decide on the type of trigger you want to use. If you’re planning on just updating your entire database to use a specific billing schedule like the first of the month, you’ll probably just place the webhook element directly under the default trigger and add your whole list.

But for this example, let’s assume that you want new subscribers to your membership site to be charged on the first of every month.

For that, we’ll make a trigger based on a specific product being purchased. Once we have our product selected, we add a webhook element to the canvas. Now, you’ll just copy & paste your Magic Hook™️ URL into the form field. Before you click done, double check that your product ID is correct so you don’t run into any issues.

That’s it!

Now every time someone purchases your subscription, they’ll automagically be charged on the first of every month like clockwork giving you a predictable way to manage your cashflow.


Supercharge Your Ontraport Projects Today For Just $1