Explained: Dynamic Landing Pages

Landing pages are a vitally important part of your pay-per-click campaigns because they need to deliver on everything you’ve advertised in your campaign.

Following on from your keywords and ads and providing relevant landing pages is crucial for both conversions and Quality Score.

Google includes relevancy at the top of its priorities in its landing page quality guidelines.

However, this can pose two problems:

  1. How can you create a targeted landing page that’s relevant for every single keyword in your campaign? 
  2. How do you then synchronize this landing page with every keyword when it’s triggered.

Trying to accomplish this by hand is a mammoth task and prone to errors. It’s far more accurate and much easier to automate this relevancy through dynamic landing pages.

So let’s go through some landing page options for your PPC campaigns.

There are really four main types of landing pages you can use with SpeedPPC. There are perhaps others, but these are the types you will use most (in ascending difficulty).

1) Simple non-dynamic pages. Don’t use the dynamic elements at all and use the same URL for every keyword.

2) Simple variable passing to a site search box. You might want to use the existing site search engine and pass the variables in to display the right information relating to the keyword and ad group.

3) Dynamic landing pages through SpeedPPC. This allows you to pass the keyword information to the page to customize the way it looks and the information it presents. This is perhaps the most common version.

You’ll find more details on each of these below. However, in this chapter, we’ll be focusing on number 3, using dynamic landing pages with SpeedPPC.

Simple, Non-Dynamic Pages

Don’t use tokens when building the campaign. Simply put in a static URL in the URL template section of the Campaign Builder. This will assign the same URL to all the keywords.

Simple Variable Passing to a Search box

This is useful when the site has a built-in search. For example, our site PayPerClickSearchEngines.com has a built-in site search engine. When you do a search (on let’s say “goclick”), the URL looks like:


You can feed the original keyword into the site search engine without using the site search engine form (on the site). Using this concept, we could add something like this to the URL template section of the campaign builder software.


This would then make the “final” keyword mix link directly into a site search engine for every single keyword. As a result, it would bring up relevant products or pages related to the original keyword.

Dynamic Landing Pages through SpeedPPC

This is the most common type of dynamic landing page.

Below you can read through an introduction to dynamic landing pages if you’re new to the joys of dynamic targeting. This is then followed by the details you need to make your own.

What is the dynamic landing page

Dynamic landing pages are basically a practical way to insert and change content automatically, in response to a search query, so that you can offer the most relevant content to the searcher.

The dynamic landing page is physically one template, so rather than having thousands of pages that you need to upload and host – it’s simply one page.

Firstly, you need to start with a base landing page template that follows Google’s landing page guidelines. By making this template dynamic, you’re simply automating the relevancy required in Google’s guidelines, making what would be unfeasible manually, easily, and quickly achievable.

Dynamic landing pages are a tool and like any tool, it depends on how to use it. So harness it to best deliver the relevancy required for quality scores and conversions.

A great starting point is if you already have a website with an existing format that you want to use. Once you’ve got the base template, then you can tweak it to target the actual content of the page dynamically. 

Where the dynamic landing page fits with your website

If you’re using your existing website format for the base template, the dynamic landing page may look like part of your website.

It may share the same domain name and link back to your main site from the template, riding on the same page rank. Using the same format, it may also have some of the same links, such as About Us or Privacy Policy.

However, you won’t be directing any organic or direct traffic to this page. It’s a completely dedicated landing page for pay-per-click campaigns solely.

For example, your main site might be: www.yourwebsite.com

Your PPC landing page may be: www.yourwebsite.com/index.php

Direct and organic traffic goes to your main website, whereas the dynamic landing page URL is only used in your PPC campaign URLs.

Often the dynamic landing page template will be index.php, while the main website remains .html as it requires a .php page to pass the dynamic content through to the page. (unless you’re using WordPress) 

How it synchronizes with your PPC campaign

You can automatically synchronize your PPC campaigns with your dynamic landing page template through SpeedPPC.

How it works is by passing the dynamic content values through the URL, and you achieve this with SpeedPPC tokens.

When creating your campaigns, remember that the dynamic landing page is closely linked to the URL that you enter in the URL template of SpeedPPC. This URL passes the information to the landing page so it knows what to display.

For example, say your PPC landing page URL was:


This sends visitors through to your landing page, but it doesn’t tell the landing page any values to insert. Using tokens, you can pass the values through to properly target the page, for example:


This passes the keyword in your seed list in SpeedPPC through to the landing page so it’s given the seed keyword that triggered the ad and knows what to then insert into the landing page the visitor’s sent to.

You can pass through multiple SpeedPPC tokens by simply adding an ampersand symbol in between each token, for example:


The above example gives you the flexibility of adding different values and being able to use seed and expansion separately, as well as together through final. So you can make your landing page content keyword-rich and natural to read as well.

Just remember that the tokens that you use in your URL template should match the tokens in your dynamic landing page template.

What landing page content do you make dynamic?

There are a number of areas of content that you can target dynamically. In fact, almost anything a browser can read can be made dynamic.

You can:

  • Make your Page title completely relevant – dynamically
  • Make the meta tags on your page relevant – dynamically
  • Make page headings relevant – dynamically
  • Change images to suit your content – dynamically
  • Change captions to suit your content – dynamically
  • Make alt text relevant – dynamically
  • Make your sales copy or page content relevant – dynamically
  • Make text buttons relevant dynamically

This specialized targeting can make your landing page keyword-rich, appealing to both search engines and visitors alike!

How to set up your dynamic landing page

This example is slightly more complex and requires that your web hosting supports PHP (of which 99% of servers do).

You create your landing page and name it with a .php extension (e.g. index.php).

You then write your landing page copy so that it will allow the dynamic insertion of text. For example instead of writing:

“If you’re looking for a contractor to do your work, you should talk to us as we’ll put you in touch with the best company in your local area”.

You would write:

“If you’re looking for a contractor to do your (INSERT SEED) work, you should talk to us as we’ll put you in touch with the best company in (INSERT EXPANSION)”.

So when SpeedPPC has done its magic, the finished product looks something like:

“If you’re looking for a contractor to do your decking work, you should talk to us as we’ll put you in touch with the best company in Oceanside”.

Notice the difference? Your text is completely customized.

So here is how you would do that.

You need to ensure two things:

  1. That your landing page has a .php extension (e.g. index.php). 
  2. That your hosting supports PHP. Most do (even Windows servers).

Now open your landing page in your favorite HTML editor and go through your copy and replace all the parts of the copy that would suit to have customization.

So read through your copy and where appropriate add:

(Insert Seed Here) = The places that would suit the seed word replacement. 
(Insert Expansion Here) = The places that would suit the expansion word replacement.
(Insert Final Here) = The places that would suit the final mixed combination word replacement.

Now go to the HTML view (not the WYSIWYG view). Look in the code itself.

Find the spots that wrote (Insert Seed Here) and replace that with:

<?php echo str_replace(“-“, ” “, $_GET[“seed”]); ?>

Find the spots that wrote (Insert Expansion Here) and replace that with:

<?php echo str_replace(“-“, ” “, $_GET[“expansion”]); ?>

Find the spots that wrote (Insert Final Here) and replace that with:

<?php echo str_replace(“-“, ” “, $_GET[“final”]); ?>

(Note: Ensure that it looks EXACTLY like this in the HTML code).

If you wish to make the first letter of each word capped, then use these codes instead:

<?php echo ucwords(str_replace(“-“, ” “, $_GET[“seed”])); ?> 
<?php echo ucwords(str_replace(“-“, ” “, $_GET[“expansion”])); ?> 
<?php echo ucwords(str_replace(“-“, ” “, $_GET[“final”])); ?>

This will now work for the example Template URL (within the Campaign Builder) given in the example earlier.


Different Examples of Dynamic Insertion with SpeedPPC

Here are some more examples of how the codes can be used in different elements of your landing page.

The {final} token has been used universally across all examples following, but you can change this token to reflect the value you want to be inserted, e.g. you can use seed, or expansion and different combinations to insert your full search term or different keywords within your search term throughout your landing page.

Dynamic Page Title

Normally, your page title would be hard-coded in, but you can insert the token code between the title tags and make your page title dynamic.

<?php echo str_replace(“-“, ” “, $_GET[“final”]); ?>

Dynamic Meta Tags

To insert dynamic meta tags for both description and keyword, you’d follow a similar format.

<META NAME=”Description” CONTENT=”<?php echo str_replace(“-“, ” “, $_GET[“final”]); ?>”>
<META NAME=”Keywords” CONTENT= “<?php echo str_replace(“-“, ” “, $_GET[“final”]); ?>, keyword 1, keyword 2, keyword 3″>

Dynamic Page Headings

You can insert the same token code between any heading tag to target your headings to the triggered keywords.

<H1><?php echo str_replace(“-“, ” “, $_GET[“final”]); ?></H1>
<H2><?php echo str_replace(“-“, ” “, $_GET[“final”]); ?></H2>
<H3><?php echo str_replace(“-“, ” “, $_GET[“final”]); ?></H3>

Dynamic Images & Alt Text

<?php echo str_replace(“-“, ” “, $_GET[“expansion”]); ?>

To dynamically change the filename according to expansion, you could use:

1) If your images were named “city_sydney”
<img src=”city_<?php echo str_replace(“-“, ” “, $_GET[“expansion”]); ?>.jpg” />

2) If your images were named “country_australia”

<img src=”country_<?php echo str_replace(“-“, ” “, $_GET[“expansion”]); ?>.jpg” alt=”<?php echo str_replace(“-“, ” “, $_GET[“expansion”]); ?>” />

The expansion token in the code will change the filename to match your image name, you just need to make sure you name your images accordingly. Just let me know if you’re not sure of anything!

Dynamic Caption & Text

Simply include the token code within your content where applicable, as per the original example.

<?php echo str_replace(“-“, ” “, $_GET[“final”]); ?>

Dynamic Text Buttons / Calls to action

Something really special is to make your text buttons or calls to action dynamic.

You could have a button saying “Get XXXX” and name the specific product. Eg.

<button>Get <?php echo str_replace(“-“, ” “, $_GET[“final”]); ?></button>


The string replaces part of this code replaces the hyphens with a space. So if you use the default URL separator of a hyphen in SpeedPPC, it will put spaces in place of hyphens when it puts the keyword in your page. Otherwise, your keywords will appear as they do in the URL, with hyphens between the words.

So if you choose to use a different URL separator, just make sure you change the hyphen to the symbol you’re using, eg.

Replacing hyphen with space
<?php echo str_replace(“-“, ” “, $_GET[“final”]); ?>
Replace plus with space
<?php echo str_replace(“+”, ” “, $_GET[“final”]); ?>
Replace underscore with space
<?php echo str_replace(“_”, ” “, $_GET[“final”]); ?>

When creating dynamic landing pages, it’s best not to use the “No space” URL separator which removes all spaces. Otherwise, you won’t be able to replace anything with a space and your keywords will insert as one string.

Once you’ve finished inserting these into your landing page code, the template is set-up to receive the values that you pass through the URL.

You’ll need to make sure you change the index.php file name and the domain name to suit your own file name and domain.

You can put this into subfolders easily. You’ll just need to change the URL template to reflect that change.

Now you’ll now need to upload your landing page template to the location on your site that you set in the Root URL template within the campaign builder.

Advanced Users Only

If you would like to make your URLs neater you can modify your .htaccess file to rewrite your URLs so that the same URL above works with this new neater URL:


Then you need to open your .htaccess file and add this to it:

RewriteEngine on
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/?$ index.php?expansion=$1&seed=$2&final=$3 [L]

(Important: You need to change the index.php file name to whatever you called your landing page template file).

Still need help? Contact Us Contact Us