How to Create a Fully Dynamic PPC Campaign

My Method

I was approached by a client once that had the issue of having too many clients. A nice problem to have I guess! Their business structure was focussed on volume and therefore they charged a low management fee and had over 200 clients as a result. They approached me for one single project, and that was to overhaul all of the accounts and make all of the campaigns fully dynamic to reduce management time on them so they could focus on conversion rate optimisation (CRO).

To tackle this issue, I explained that we needed to use Dynamic Keyword Insertion (DKI) in the Ad Text so anytime a user types in a close variant of the search phrase then the Ad Text would dynamically change to Match the search query closely. Pretty standard stuff, but in order to make the all of the campaigns dynamic, we had to do the same on the Landing Page itself using some awesome PHP code which I will share below.

Now before I elaborate further I feel I should mention that I personally believe having fully dynamic campaigns should always be tested against non-dynamic campaigns. Especially as WordStream claim that Ads without Dynamic Keyword Insertion are marginally more effective than Ads with Dynamic Keyword Insertion.

Proof: https://www.wordstream.com/blog/ws/2014/04/17/dynamic-keyword-insertion-guide

 

Despite the marginal performance improvement with Non-Dynamic Ads, in this case, a fully dynamic PPC Campaign seemed to be the best way to reduce the PPC manager having to keep making adjustments to the Ads and Landing Page content. So in order to create these Dynamic Campaigns, follow the steps that I took below.

Step 1 – Create numerous targetted Ad Groups

If you’re not familiar with how Dynamic Keyword Insertion works then I’d advise reading this article.

In order for Dynamic Keyword Insertion to work effectively, I needed to ensure that I have really specific Ad Groups targetting a very tight cluster of Search Phrases. This mitigates the risk of a user triggering some dynamic ad text to find an embarrassing advert popping up (PPC Hero have some hilarious ones here). By closely matching the search phrases to the keyword trigger you’re not going to find Ad Text populating a phrase that doesn’t make sense.

Step 2 – Adding DKI Code To Ad Text and Description

Next, I needed to get the Ads Looking right. I use the simple {KeyWord:Example}  code ensuring that the keyword being targetted is the one that’s specific to the Ad Group. I do this for both the Ad Title and Description. If you’re familiar with Dynamic Keyword Insertion then you’ll know that this replaces the text with the match keywords in the user’s search phrase.

Step 3 – Adding The DKI Code To The Landing Page

This is where things get a little bit complicated. If you’re reading through my steps and are wanting to set up a Dynamic Keyword Insertion directly onto the landing page, then it might be worth checking out Unbounce as they allow you to use this function without the need for inputting any code. In my case, my client already had landing pages set up using the good old HTML pages so things were a little trickier, as I couldn’t use Unbounce. I’ll highlight the steps below:

    1. Update the .htaccess file with the follow line of code: AddType application/x-httpd-php .htm .html – this allows for PHP to be utilised on a HTML page. If this doesn’t work, then replicate the HTML page but save it as a PHP page.
    2.  Where I want the keyword to appear I used the following lines of code:

<?php
if ($_GET[‘kw’])
{echo ucwords($_GET[‘kw’]);}
else
{echo ucwords(“Example Text”);}
?>

This utilises an IF statement which will then revert the text back to what shows in the “Example Text” field. This is handy for a couple of reasons:

    • If the Search Phrase used was too big to trigger the DKI
    • If someone has visited the page without using Google Ads
  1. Test the Dynamic Keyword Insertion by changing the URL parameter. In this case the parameter is ‘kw’

Step 4 – Adding Dynamic URL Paramters

To finish off making all of the campaigns fully dynamic I now needed to set dynamic URL parameters. This method allows the user to effectively set the URL Parameter which triggers the DKI on the Landing Page.

Just like in Step 2 I use the same DKI code in the ‘Final URL’ field

{KeyWord:Example}

What this would effectively look like is: https://example.com/?kw=”{KeyWord:Example}” what you would expect to find in this case is that anywhere on the page where you have utilised the Dynamic Keyword Insertion PHP code around your chosen text, is then replaced with anything that appears after /?kw=”
– in this case, the words that generate in the URL Parameter shown are technically user-generated depending on their search phrase.
 

This overhaul of the Client’s Accounts lead to both an increased Quality Score for the search phrases used as a result of a more targetted set of Ads and landing page. As well as less of a need to constantly be tweaking all of the Adverts and Landing Page Content to match new search phrases. At the end of the day, all they had to do was monitor and test the Ads moving forwards to ensure they covered the basics of the service they were offering.

Thanks for Reading!

I'm Available for Hire
Back to JournalGet In Touch