Let’s say I sell furniture. I have a single-page site (marketing page, landing page) and advertising campaign in Google AdWords. Each visitor sees the same title, such as “Furniture”. It will work well if coincide with the client’s request. However, the efficiency will be lower if he comes for other request: “Office Furniture” or “Furniture in New York for the house,” “Luxury furniture for individual”. It’s also my sphere, but it’s not clear for client, and therefore I just lose him.

Solution is simple: set headers and text related for each client. If he comes from “Office Furniture” ad, he will see the same page, but with own variant of headers, which are as close as possible to him.

Video preview, YouTube, duration — 2:22 (in demonstration used Live Preview example, not Furniture).

How it will help me?

Let’s say, that I have 1000 unique visits per day and 2% conversion in payment. 1000×0.02 = 20 payments / day. After adjusting headers we could make conversion bigger. We assume that script did not help us and the conversion increased only by 1 percent. But 1000×0.03 = 30 payments / day. 10 additional clients only by small trick. In practice result could be much better.

It’s only one scenario of usage. You could use this to show contact numbers for departments. For request “Furniture in New York” I can show one phone, for “Furniture in Miami” — other. It’s also improves client experience.


Backup your site completely before proceeding.

  1. Download plugin to your desktop.
  2. If downloaded as a zip archive, extract the Plugin folder to your desktop.
  3. With your FTP program, upload the Plugin folder to the wp-content/plugins folder in your WordPress directory online.
  4. Go to Plugins screen and find the newly uploaded Chameleon Pages in the list.
  5. Click Activate Plugin to activate it.

How add replacement

  1. Go to Tools > Chameleon Pages
  2. Here you will see list of your replacements. To add new replacement, click on Add replacement button.
  3. Complete provided fields:
    1. Name — explain what this replacement is about. It’s only for you.
    2. Selector — element which body you want to replace. Read below how to choose selector properly.
    3. Condition — pair “variable-value” from URL to your site, which will activate this replacement. Read below how to specify this parameter.
    4. Replace for — selector’s body will be replaced with value of this field.
    5. Label — allows you easy find related entries. Could be blank.
    6. Status — you could switch off replacement for a while.

How to choose selector

You able to choose from different types of selector:

  • Tag
  • Class
  • ID
  • Mixed

Example code of page:

<!DOCTYPE html>
<title>Page Title</title>

<h1>This is a Heading</h1>
<p class="red">This is a red paragraph.</p>
<p class="green">This is a green paragraph.</p>
<p id="note" class="red">NOTE: This is a red paragraph with identifier.</p>

<div class="contacts">
<span class="phone">123-456-789</span>


Examples of selectors from here:
Tag: h1, p, div, span
Class: red, green, contacts, phone
ID: note

What is difference? Tag and class in most cases are common and could be matched many times for whole page or site. ID (in well-crafted layout) will be matched only one time per page (or even per site). So, use class selector if you need replace texts in many places, or use ID if you need replace text only in one place.

Examples of usage for this code:
replace all red paragraphs — selector Class red (result: 2 matches)
replace phone number — selector Class phone (result: 1 match)
replace paragraph with note — selector ID note (result: 1 match)
replace all paragraphs — selector Tag p (result: 3 matches)

How to specify condition and build URL with parameter

Let’s say, link to my site is
Also I can provide additional parameters (pair “variable=value”) through link. Parameters list starts after ? symbol in URL: (parameters: variable – “source”, value – “google”) (parameters: variable – “partner”, value – “facebook”)

When client visit your site by using this link, he will see own variant of site with replaced headers and/or texts (if you have active replacements with properly settings).

Your link could contain as many parameters as you need. In this case they should be delimited by & symbol: (parameters: “source” – “google”; “type” – “cpc”; “ad” – “promo_ny”)

Variable names and it’s values could be any, as you want. Best practice for this — names and values should be easy to read and understand. It will allow you manipulate with URL’s faster. Compare:
?a=163&b=7321 and ?campaign=newyear&source=youtube 


If you have any questions that are beyond the scope of this help, please feel free to email via my user page contact form. Thanks so much!

P.S.: Also will be happy for any feedback and suggestions  :)


Source: Codecanyon

Leave a Reply