ECMS A/B Split Testing

From NewHaven Software Wiki

(Difference between revisions)
Jump to: navigation, search
(Created page with 'If you want to do split testing in eCMS one of the cleanest ways to do it is with a promo or customer group code set via the URL. http://www.example.com/checkout_shipping/?p=pag…')
Line 1: Line 1:
-
If you want to do split testing in eCMS one of the cleanest ways to do it is with a promo or customer group code set via the URL.
+
If you want to do split testing in eCMS one of the cleanest ways to do it is with a promo or customer group code set via a [[ECMS URL Parameters|URL parameter]].
-
 
+
<pre>
http://www.example.com/checkout_shipping/?p=pageb
http://www.example.com/checkout_shipping/?p=pageb
and
and
http://www.example.com/checkout_shipping
http://www.example.com/checkout_shipping
-
 
+
</pre>
Then in the checkout_shipping template just do a simple test:
Then in the checkout_shipping template just do a simple test:
-
 
+
<pre>
{if $promo.code == 'pageb'}
{if $promo.code == 'pageb'}
Do this.....
Do this.....
Line 12: Line 12:
Do something else.....
Do something else.....
{/if}
{/if}
-
 
+
</pre>
You will also need to an a test to the _meta.tpl, something like this:
You will also need to an a test to the _meta.tpl, something like this:
-
 
+
<pre>
{if $view == 'checkout_thanks'}
{if $view == 'checkout_thanks'}
{literal}
{literal}
Line 38: Line 38:
{/literal}
{/literal}
{/if}
{/if}
-
 
+
</pre>
I tested this in Website Optimizer and it works. Two things to note:
I tested this in Website Optimizer and it works. Two things to note:

Revision as of 17:19, 10 March 2011

If you want to do split testing in eCMS one of the cleanest ways to do it is with a promo or customer group code set via a URL parameter.

http://www.example.com/checkout_shipping/?p=pageb
and
http://www.example.com/checkout_shipping

Then in the checkout_shipping template just do a simple test:

{if $promo.code == 'pageb'}
Do this.....
{else}
Do something else.....
{/if}

You will also need to an a test to the _meta.tpl, something like this:

{if $view == 'checkout_thanks'}
{literal}
<!-- Google Website Optimizer Tracking Script -->
....code for confirmation page.....
<!-- End of Google Website Optimizer Tracking Script -->
{/literal}
{/if}

{if $view == 'checkout_shipping' && $promo.code == 'pageB'}
{literal}
<!-- Google Website Optimizer Tracking Script -->
.....Code for Page B......
<!-- End of Google Website Optimizer Tracking Script -->
{/literal}

{elseif $view == 'checkout_shipping'}

{literal}
<!-- Google Website Optimizer Control Script -->
....Code for default page.....
<!-- End of Google Website Optimizer Tracking Script -->
{/literal}
{/if}

I tested this in Website Optimizer and it works. Two things to note:

  • If you try to manually navigate to a checkout page you will be

redirected to viewcart or the index page so you will have to manually upload the HTML for the pages for Google's validation service to work. Pretty trivial process and you would likely have to do this with any cart.

  • If you set the promo code via the URL you may have this overwritten by

a customer using a promo code. This could potentially skew your statistics a bit. There may be a way to compensate for this with proper setup in GWO. The other option is the use the customer group via URL feature that was just released. Similar to promo codes, ?c=CUSTGROUP. This feature was just released and anticipating your wanting to continue to use promo codes in conjunction with A/B testing I did some testing of this feature today and found a minor bug where the customer group is not persisting in the template vars. I have spoken with CV3 regarding it and they are looking at it right now.

Personal tools