Increase your landing page conversion rate with artificial relevancy

tl;dr  
Add dynamic keywords to your landing pages to make them more relevant to your users.  

Why specificity is good

When shopping, users will favor products that cater to their specific needs.

Let's say that Bob has a puppy, and he's about to run out of dog food. After a quick online search, he ends up on three landing pages, with the headlines:

  1. Pet food -- High quality pet food for all your pet needs!
  2. Dog food -- The best dog food around!
  3. Puppy food -- Helps your little guy grow up healthy!

He's likely to convert in the third option, because he feels that the product fits his needs more closely. It is more relevant.
In the same way,

  • "Acupuncture insurance" is stronger than "insurance" (for acupuncture businesses in search of insurance)
  • "Paris car rentals" is stronger than "car rentals" (for tourists going to paris)
  • "Women's vitamins" is stronger than "vitamins" (even though they contain the same ingredients)

Making your landing pages more specific

1. Advertize for a subsection of your customers

This is the most difficult and important part.
Write and target your ads for a smaller slice of your customers. Taking the insurance example, we would split an ad targeting insurance into three mutually-exclusively-targeted ads home-insurance, car-insurance, and workers-insurance.

This has the added benefit hopefully increasing your Quality Scores, lowering your CPCs.

2. Append a specific key-phrase to your ad destination URLs

If your original insurance ad pointed to example.com/buy-our-insurance, you would change it to
example.com/buy-our-insurance?di=home%20insurance

example.com/buy-our-insurance?di=car%20insurance

example.com/buy-our-insurance?di=workers%20insurance

(the %20 is a url-safe space)

3. Edit your landing page headline and copy to use this key-phrase.

Anywhere you want to use your key-phrase in your copy, use <span class="dynamic-insert">DEFAULT TEXT HERE</span>.

For example, if your headline is
We are the leading insurance experts, change it to
We are the leading <span class="dynamic-insert">insurance</span> experts

That way, if a user lands on example.com/buy-our-insurance?di=car%20insurance, they will see

We are the leading car insurance experts

Which will convert users that clicked on a car insurance ad much better than the more generic headline would.

Here's the code that makes the insertion happen:

<script>  
function getParameterByName(name) {  
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)");
    var results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

function replaceContentInContainer(matchClass, content) {  
    var elems = document.getElementsByTagName('*'), i;
    for (i in elems) {
        if((' ' + elems[i].className + ' ').indexOf(' ' + matchClass + ' ') > -1) {
            elems[i].innerHTML = content;
        }
    }
}

function r(f){/in/.test(document.readyState)?setTimeout('r('+f+')',9):f()}

r(function(){  
    var dynamic_insert = getParameterByName('di');
    if(dynamic_insert){
        replaceContentInContainer('dynamic-insert', dynamic_insert);
    }
});

</script>  

You can put this script anywhere. It doesn't have any dependencies.

The interesting part is this:

//Get the url parameter "di" (example.com?di=something)
var dynamic_insert = getParameterByName('di');

//If it exists, 
if(dynamic_insert){  
    //Replace all elements with the class "dynamic insert"
    replaceContentInContainer('dynamic-insert', dynamic_insert);
}

If you know a bit of javascript, you can easily extend this super simple example with things like

  • Adding different conjugations/turn-of-phrases by adding support for other tags than dynamic-insert.
  • Using some kind of key instead of the full phrase in the URL to mask the insertion (at the expense of flexibility).
  • Adding the dynamic_insert value to a hidden field in your lead-capture form so that you know what "version" of the page the user saw.

Here it is in action

https://altus.io/blog/dynamic-insertion-example
https://altus.io/blog/dynamic-insertion-example?di=car%20insurance
https://altus.io/blog/dynamic-insertion-example?di=home%20insurance
https://altus.io/blog/dynamic-insertion-example?di=workers%20insurance
https://altus.io/blog/dynamic-insertion-example?di=WHATEVER

Bonus: PHP version

You will notice that it takes a split second for the script to replace the text, which can be a bit jarring if you're using the key-phrase in key areas of your page (as you should be). That's because the code has to wait for the page to be loaded before it can start running. Try it out. If you don't think it's acceptable, there is a solution.

This will replace the text before the page is sent to the user's browser, which might be better for your needs if you use PHP.

Somewhere before your landing page starts, add this chunk of PHP:

<?php  
if(isset($_GET['di'])){  
    $dynamic_insert = $_GET['di'];
}
else {  
    $dynamic_insert = 'YOUR DEFAULT TEXT HERE';
}
?>

Then, in your copy, add this where you want to have your key-phrase:

<?php echo $dynamic_insert; ?>  

If you use a framework such as wordpress, you might need a plugin that lets you run php from the editor, such as https://wordpress.org/plugins/shortcode-exec-php/.