ClickTale Support Forums

All times are UTC - 6 hours



Post new topic Reply to topic  [ 1 post ] 
Author Message
PostPosted: Wed Aug 19, 2009 3:20 am 
Offline
Site Admin

Joined: Fri Jul 21, 2006 2:39 pm
Posts: 1206
Location: Israel
This error is most commonly caused by a redirecting code in your page that takes the frame to a different location than the one loaded by ClickTale and which ClickTale needs for proper functioning.
Normally you need to disable the redirecting code in your page from running when the page is shown in ClickTale playback or reports. This usually requires some HTML or javascript coding.
One the redirecting code is blocked, you need to make new recording before you see the change. Fixing the redirection will not make pre-existng recordings work.

In the bottom you can find specific solutions for: Google Web Site optimizer and TinyMCE

Generic solutions:
There are two method for disabling code from running during playback or reports.
Method 1 uses "ClickTale exclude blocks" which are explained in this article: viewtopic.php?f=5&t=595 . By defining an exclude block around the redirecting code you instruct ClickTale to remove the block before processing, so the redirecting code is not executed.

Method 2 uses a simple function to detect whether the page is currently show within ClickTale. If so, you should enable or disable functionality within the javascript of your page to prevent redirecting.
Code:
<script>function CTIsPlayback() {
   try { return parent && parent.WebPlayer; }
   catch(e) { return false; }
}</script>

Google Website Optimizer:
GWO in A/B testing mode, will redirect your entry page to a different page based on your configuration. While this is active you will not be able to play or do a report on your entry page in ClickTale.
Once redirection is blocked, you will actually be able to see the correct variation for each visitor and also aggregate each variation separately in Heatmaps or Form Analytics reports.

If your current GWO code looks like this:

Code:
<script>
function utmx_section(){}function utmx(){}
(function(){var k='XXXXXXXXXX',d=document,l=d.location,c=d.cookie;function f(n){
if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c.indexOf(';',i);return c.substring(i+n.
length+1,j<0?c.length:j)}}}var x=f('__utmx'),xx=f('__utmxx'),h=l.hash;
d.write('<sc'+'ript src="'+
'http'+(l.protocol=='https:'?'s://ssl':'://www')+'.google-analytics.com'
+'/siteopt.js?v=1&utmxkey='+k+'&utmx='+(x?x:'')+'&utmxx='+(xx?xx:'')+'&utmxtime='
+new Date().valueOf()+(h?'&utmxhash='+escape(h.substr(1)):'')+
'" type="text/javascript" charset="utf-8"></sc'+'ript>')})();
</script><script>utmx("url",'A/B');</script>

Change it to be

Code:
<script>
var CTIsPlayback=true;
try
{
   if(!parent || !parent.WebPlayer) // if there is no WebPlayer or if the above frame is not accessible
      throw false;
} catch(e) { CTIsPlayback=false; }
</script>
<script>
function utmx_section(){}function utmx(){}
if(!CTIsPlayback)
{
(function(){var k='XXXXXXXXXX',d=document,l=d.location,c=d.cookie;function f(n){
if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c.indexOf(';',i);return c.substring(i+n.
length+1,j<0?c.length:j)}}}var x=f('__utmx'),xx=f('__utmxx'),h=l.hash;
d.write('<sc'+'ript src="'+
'http'+(l.protocol=='https:'?'s://ssl':'://www')+'.google-analytics.com'
+'/siteopt.js?v=1&utmxkey='+k+'&utmx='+(x?x:'')+'&utmxx='+(xx?xx:'')+'&utmxtime='
+new Date().valueOf()+(h?'&utmxhash='+escape(h.substr(1)):'')+
'" type="text/javascript" charset="utf-8"></sc'+'ript>')})();
}
</script>
<script>
if(!CTIsPlayback)
   utmx("url",'A/B');
</script>

This will run GWO A/B testing in any normal use of the page and not run it when doing ClickTale playback.
Note that the ID in the code varies per test and needs to be changed to the ID you have been provided by from GWO.

TinyMCE:
TinyMCE will not redirect, but it will set a domain limitation of the document in the frame in a way that will prevent it from being accessed by ClickTale. The following code will work around that issue. Add this code before including the "tiny_mce/tiny_mce_src.js" file in your HTML.

Code:
<script type="text/javascript">
try
{
   if(!parent || !parent.WebPlayer) // if there is no WebPlayer or if the above frame is not accessible
      throw false;
   var tinyMCEPreInit = {base : ''+location.hostname};
} catch(e) {}
</script>


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group