<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>link love &#187; Web analytics</title>
	<atom:link href="http://www.vdgraaf.info/category/web-analytics/feed" rel="self" type="application/rss+xml" />
	<link>http://www.vdgraaf.info</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 24 Aug 2011 06:43:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>At last Google shows search volumes!!</title>
		<link>http://www.vdgraaf.info/at-last-google-shows-search-volumes.html</link>
		<comments>http://www.vdgraaf.info/at-last-google-shows-search-volumes.html#comments</comments>
		<pubDate>Tue, 08 Jul 2008 07:13:16 +0000</pubDate>
		<dc:creator>Peter van der Graaf</dc:creator>
				<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[Breaking news]]></category>
		<category><![CDATA[Web analytics]]></category>

		<guid isPermaLink="false">http://www.vdgraaf.info/at-last-google-shows-search-volumes.html</guid>
		<description><![CDATA[I haven&#8217;t read many blogs lately so much to my surprise I opened up my Adwords account and saw the message: You can now view keyword volume estimates in the Adwords keyword tool! So far Google has never been &#8220;close to&#8221; open about search volumes. Google trends only shows charts without numbers and it has [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t read many blogs lately so much to my surprise I opened up my Adwords account and saw the message:</p>
<p><i>You can now view keyword volume estimates in the Adwords keyword tool!</i></p>
<p>So far Google has never been &#8220;close to&#8221; open about search volumes. Google trends only shows charts without numbers and it has a threshold of about 1000 searches per day. Previously the Adwords keyword tool showed only monthly graphs without any reference field to numbers. But at last they changed their ways and show &#8220;rough estimates&#8221; with real numbers.</p>
<p><span id="more-113"></span></p>
<p>In European countries where Google has a marketshare of more than 90% this is close to a revolution. Yahoo data, Trellian, HitWise, Wordtracker and Alexa are all useless because of the limited coverage in those countries. Hopefully Google will improve even more by showing &#8220;real numbers&#8221; in stead of the current &#8220;rough estimates&#8221;. But even the current improvement is a welcome change.</p>
<p><img alt="Search volume numbers" src="http://www.vdgraaf.info/wp-content/uploads/search-volume1.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vdgraaf.info/at-last-google-shows-search-volumes.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server-side or client-side web analytics (part 2)</title>
		<link>http://www.vdgraaf.info/server-side-or-client-side-web-analytics-part-2.html</link>
		<comments>http://www.vdgraaf.info/server-side-or-client-side-web-analytics-part-2.html#comments</comments>
		<pubDate>Wed, 25 Jul 2007 11:49:37 +0000</pubDate>
		<dc:creator>Peter van der Graaf</dc:creator>
				<category><![CDATA[Web analytics]]></category>

		<guid isPermaLink="false">http://www.vdgraaf.info/server-side-or-client-side-web-analytics-part-2.html</guid>
		<description><![CDATA[What most people don&#8217;t know is that client-side scripting doesn&#8217;t normally allow for any recording of data. Javascript can&#8217;t write data to a file and that is why it needs a way to transfer the data to a server-side script that records it to a database or log file. So web analytics is in absolute [...]]]></description>
			<content:encoded><![CDATA[<p>What most people don&#8217;t know is that client-side scripting doesn&#8217;t normally allow for any recording of data. Javascript can&#8217;t write data to a file and that is why it needs a way to transfer the data to a server-side script that records it to a database or log file. So web analytics is in absolute sense always server-side.</p>
<p>In this part of the article I will explain how you get server-side information into client-side statistics and vice versa.</p>
<p><span id="more-103"></span></p>
<ul>
<li><a href="http://www.vdgraaf.info/server-side-or-client-side-web-analytics-part-1.html">Part 1: What is the difference between server-side and client-side</a></li>
<li>Part 2: How to combine server- and client-side webanalytics (this article)</li>
</ul>
<h3>Part 2: How to combine server- and client-side webanalytics</h3>
<p><strong>Google Analytics</strong><br />For an explanation how client-side web analytics works, I will use the most common one &#8220;Google Analytics&#8221; as an example. Tools like Google Analytics work with a Javascript that requests an image. The image request is interpreted by a server-side script that creates the log files (and it always returns the same image to the visitor). The log files are then interpreted by a program that creates all kinds of fun statistics, for people to interpret into the visitor behavior they want to research.</p>
<p>Because the Javascript and the image are requested from Google servers with Javascript (their browser), the visitor comes in direct contact with those servers and leaves the much needed extra information that javascript cannot detect. This primarily includes visitor IP address and Google cookie. The Google cookie also links to language preferences and other data not available in other web analytics tools.</p>
<p>Because the Javascript is located on google.com that may be listed as a trusted domain in the browser, it could fall under lower safety restrictions and recieve more information. Governmental agencies sometimes have very strict Javascript settings and Google is often one of the exceptions (I just can&#8217;t imagine why).</p>
<p><strong>Communication from server-side to client-side</strong><br />PHP and Javascript have several common grounds where they can exchange data.</p>
<ul>
<li>Javascript and PHP can both read and write the same cookies.</li>
<li>Javascript and PHP can both generate and read URLs and extract GET variables.</li>
<li>Javascript and PHP can both generate and read POST variables.</li>
<li>Javascript can read and PHP can read/generate text files or XML files.</li>
<li>Javascript can be generated by PHP.</li>
</ul>
<p><strong>Server-side information in Google Analytics</strong><br />Just a few examples of server-side data that you might want in Google Analytics or other client-side web analytics programs.</p>
<ul>
<li>Your internal client ID.</li>
<li>Real e-commerce sales.</li>
<li>Files and visitors without Javascript support.</li>
</ul>
<p>So how do you get it there?</p>
<p><strong>Your internal client ID</strong><br />If someone is logged in to your system you can identify that visitor, but how do you get that data in your Analytics report? &#8230; Lets say you have a variable $strClientID. You can enter it as the Google Analytics &#8220;user defined&#8221; variable by doing the following:</p>
<p>
&lt;script src=&quot;http://www.google-analytics.com/urchin.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;<br />&lt;script type=&quot;text/javascript&quot;&gt;<br />_uacct = &quot;UA-000000-0&quot;;<br />__utmSetVar(&#8216;&lt;?php echo $strClientID;?&gt;&#8217;);<br />&lt;/script&gt;
</p>
<p><strong>Real e-commerce sales</strong><br />When you enable e-commerce tracking in Analytics you can communicate every product and every transaction to Google.<br /><a href="http://www.vdgraaf.info/wp-content/uploads/utmtrans.txt" target="_blank">Look at this text file to see how it is done.</a></p>
<p>For more information look at<br />
<a href="http://www.google.com/support/googleanalytics/bin/answer.py?answer=55528" target="_blank">http://www.google.com/support/googleanalytics/bin/answer.py?answer=55528</a></p>
<p><strong>Files and visitors without Javascript support</strong><br />Look at this post about <a href="http://www.vdgraaf.info/google-analytics-without-javascript.html">Google Analytics without Javascript</a>. This requires some PHP skill, but you can probably add your own functionality to the script I&#8217;ve made. I&#8217;ve made 20 different versions for different functionality, so I won&#8217;t bother you with all of them.</p>
<p>The only drawback is that I&#8217;d recommend using a separate profile because all visits are logged on the IP address of your hosting provider. In analytics software &#8220;Webtrends&#8221; I did the same and then you can enter the IP and data of the client provided by your own PHP script.</p>
<p><strong>Summing it up</strong><br />There are several ways to communicate server-side data to javascript and thereby to Google analytics and other client-side web analytics.</p>
<p>I&#8217;d recommend on using client-side web analytics tools and server-side support for extra data. This is the most trustworthy to get the data you need to make sound assumptions about your visitors.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vdgraaf.info/server-side-or-client-side-web-analytics-part-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server-side or client-side web analytics (part 1)</title>
		<link>http://www.vdgraaf.info/server-side-or-client-side-web-analytics-part-1.html</link>
		<comments>http://www.vdgraaf.info/server-side-or-client-side-web-analytics-part-1.html#comments</comments>
		<pubDate>Wed, 25 Jul 2007 11:49:20 +0000</pubDate>
		<dc:creator>Peter van der Graaf</dc:creator>
				<category><![CDATA[Web analytics]]></category>

		<guid isPermaLink="false">http://www.vdgraaf.info/server-side-or-client-side-web-analytics-part-1.html</guid>
		<description><![CDATA[When implementing web analytics programs I sometimes get the question why I use a combination of PHP/ASP and Javascript. What they probably don&#8217;t know is that server-side and client-side scripting can detect different specifics of a visit. Both types have advantages and disadvantages, but you need certain tricks to combine both. This article explains the [...]]]></description>
			<content:encoded><![CDATA[<p>When implementing web analytics programs I sometimes get the question why I use a combination of PHP/ASP and Javascript. What they probably don&#8217;t know is that server-side and client-side scripting can detect different specifics of a visit. Both types have advantages and disadvantages, but you need certain tricks to combine both. This article explains the differences and how to overcome their disadvantages. It is mainly written for people that know something about scripting, but need a quick reminder to fix certain problems.</p>
<p><span id="more-102"></span></p>
<ul>
<li>Part 1: What is the difference between server-side and client-side (this article)</li>
<li><a href="http://www.vdgraaf.info/server-side-or-client-side-web-analytics-part-2.html">Part 2: How to combine server- and client-side webanalytics</a></li>
</ul>
<h3>Part 1: What is the difference between server-side and client-side</h3>
<p><strong>What does client-/server-side mean?</strong><br />To explain the difference between server-side en client-side analytics, I first need to explain the difference between server-side and client-side scripting..</p>
<ul>
<li>Client-side scripting means all calculations are done by the computer of the visitor. Most of the time the script is interpreted by their internet browser (Javascript) or a specific browser plugin (Flash actionscript).</li>
<li>Server-side scripting means all calculations are done by the server your website is hosted on. The script is interpreted by the supported language parser, like PHP or ASP.</li>
</ul>
<p><strong>What can be detected?</strong><br />Many factors like security issues have led to restrictions in both server- and client-side possibilities. Javascript isn&#8217;t even made to be able to communicate back to a webserver, but certain tricks have led to client-side webanalytics and Ajax. Therefore some types or information are only available in Javascript and some information can only be retrieved by PHP. The following table shows information available in both types and the main restrictions.</p>
<table>
<tr>
<th>Client</th>
<th>Server</th>
</tr>
<tr>
<td>Browser properties</td>
<td>Server/site/page properties</td>
</tr>
<tr>
<td>Page element properties</td>
<td>Connection properties</td>
</tr>
<tr>
<td>Change possible on any interaction</td>
<td>Change requires reload</td>
</tr>
<tr>
<td>Read-only access to external files</td>
<td>Many communication possibilities</td>
</tr>
<tr>
<td>Entire script source visible</td>
<td>Script source hidden for visitor</td>
</tr>
<tr>
<td>Restrictions based on browser security- and support settings.</td>
<td>Restricted by server settings</td>
</tr>
<tr>
<td>Client support required</td>
<td>All requests are counted</td>
</tr>
</table>
<p><strong>Client-side summary</strong><br />Languages like Javascript can detect what browser you are using, your screen size, plugin support and much more. But that may be restricted by the security level you set for your browser. It can also detect and change any property of the page (like the width and background-color of a table) you are watching and change it on the fly, based on any type of detected interaction. This interaction can even be a slight mouse movement or the press of a key.</p>
<p>The javascript source code can be read with any text editor, so don&#8217;t place passwords within them. But information a user enters remains client-side (minimizes server load) and normally isn&#8217;t send to any server. But there are ways to send information to the server-side.</p>
<p>Depending on the security settings in your browser, javascript can request and read external files like XML feeds. To circumvent stricter security settings, javascript may also request images; And that is what is exploited by many client-side web analytics programs like Google Analytics. The requested file/image URL can be stuffed with information, so the server can retrieve these GET variables from there.<br />p.s. Javascript can also vacate forms and send them and it can also read/write cookies to communicate with other files.</p>
<p>Javascript web analytics only logs visitors that support this language, in files that allow javascript execution.</p>
<p><strong>Server-side summary</strong><br />Languages like PHP can request (and change) any property of the webpage it is on and any variable used to while compiling the resulting HTML code. It can also see properties of the connection between visitor and server and unlike Javascript it can detect the IP address. Any change requires a reload or new page request, which requires more loading and a client-side action (can be from both a user or client-side script).</p>
<p>Server-side scripting code can&#8217;t be read by visitors, so no one can steal your script and no client support is needed. The calculations are done by the server, so more visitors means more server-load. Different server-side languages, plugins and external data can supplement eachother and the only thing that counts is the end result.</p>
<p>Languages like PHP offer numerous ways to communicate with other servers and files across the web and no one will ever know what was required to compile the data. When a website is hosted on a shared server, the possibilities of server-side can be somewhat limited, but on a dedicated server the only programming limitations are posed by server-load, software licenses and your own technical capabilities.</p>
<p>Standard server-side web analytics is based on server logs. This is a very limiting way of measuring visits and you need many filters to drop search engine robot requests and other non-human visits. But Javascript can&#8217;t detect non-human visitors at all.</p>
<p><strong>So how do you combine both in your analytics reports?</strong><br />How do you get customer information in a javascript web analytics tool? How do you log commerce sales? How do you log search engine robot visits? How do you track requests of images, PDF files or your RSS feed?</p>
<p>All these questions are answered in:<br /><a href="http://www.vdgraaf.info/server-side-or-client-side-web-analytics-part-2.html">Part 2: How to combine server- and client-side webanalytics</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.uvt.nl/studenten/buitenland/reizenpervliegtuig/">Goedkope vliegtickets</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vdgraaf.info/server-side-or-client-side-web-analytics-part-1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Analytics without javascript!</title>
		<link>http://www.vdgraaf.info/google-analytics-without-javascript.html</link>
		<comments>http://www.vdgraaf.info/google-analytics-without-javascript.html#comments</comments>
		<pubDate>Wed, 28 Feb 2007 13:41:55 +0000</pubDate>
		<dc:creator>Peter van der Graaf</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web analytics]]></category>

		<guid isPermaLink="false">http://www.vdgraaf.info/google-analytics-without-javascript.html</guid>
		<description><![CDATA[Yes, it is possible to send data to Google Analytics without executing javascript! In this tutorial I will try to explain how this can be done and I will give some good examples. Server side analytics enables you to measure data like rss, image or pdf visits. Analytics without javascript?When you look at the analytics [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, it is possible to send data to Google Analytics without executing javascript! In this tutorial I will try to explain how this can be done and I will give some good examples. Server side analytics enables you to measure data like rss, image or pdf visits.</p>
<p><span id="more-84"></span></p>
<p><strong>Analytics without javascript?</strong><br />When you look at the analytics javascript code you see that it combines several sets of data into an image request. This image request sends the right data to Google (not the javascript). When you know what url you should use for the image, you can call the image directly and send the same data. Of course you need to be able to request the image url and that isn&#8217;t easy from another image, rss feed or pdf. This is why we request it &#8220;server side&#8221;.</p>
<p><strong>Server side image requests</strong><br />Javascript is &#8220;client side&#8221;; this means the browser does all the calculations and actions that the script requires. PHP, ASP, Perl and many others are server side scripting languages; which means the server that hosts the website does all required calculations. This means javascript knows more about the action of the user and PHP can easily request data from a database or other source.</p>
<p>PHP (I&#8217;ll focus on PHP in this example) can also request a file from the internet without executing or showing it. Just requesting the analytics image is enough to trigger a hit in your report and it will show up in your account. The downside of requesting the image from your server is: You lose the IP address and other data that Google records at the moment the image is requested. The server IP of your web server will be recorded.</p>
<p><strong><em>Server side requests in a client side report will obscure your data. Create a separate Analytics profile for everything you log server side.</em></strong></p>
<p><strong>Who requests my RSS feed?</strong><br />RSS feeds don&#8217;t execute javascript, but in some feed readers you can execute javascript once a post is read. This is why you need to log requests of your RSS XML file differently. You can either use a service like Feedburner or send an Analytics image request from PHP or ASP. The following example shows how you send specific data to Google Analytics from your RSS in PHP.</p>
<ol>
<li>Create a new analytics profile with its own tracking code (not a copy of an existing profile). Activate the profile by temporarily changing the code on your homepage. After activating you return it to the original one.</li>
<li>Add the following PHP code to the file that produces your RSS (preferably at the bottom): <a href="http://www.vdgraaf.info/wp-content/uploads/urchin-image.txt" title="Urchin Image" target="_blank">urchin-image.txt</a></li>
<li>Update the urchin code, domain, user defined variable (if desired) and the fake page request you&#8217;d like to track.</li>
<li>I left all the other data intact because it works with them and they don&#8217;t impact the report, but when I have time I can probably clean it up some more.</li>
</ol>
<p><strong>Tracking PDF or Image requests</strong><br />The script that produces your RSS feed is already executing PHP code. Images and PDF files don&#8217;t execute anything, so you need to add something extra to track these in a similar way. The following code shows you how you can request an image, PDF, SWF or for instance downloads and request the Google Analytics (Urchin) code at the same time.</p>
<ol>
<li>Find out if your server supports mod_rewrite. If it does, you can produce cleaner URLs. As a RewriteRule in your htaccess you add something like: &#8220;RewriteRule ^tracker/(.*).gif$ /tracker.php?url=$1&#038;filetype=gif [L]&#8220;. This requests the file tracker.php whenever a gif image from the (non-existing) directory tracker is requested. You can do the same with all other filetypes that don&#8217;t execute PHP code themselves.</li>
<li>Create tracker.php and add something like the following code: <a href="http://www.vdgraaf.info/wp-content/uploads/tracker.txt" title="Image tracker" target="_blank">tracker.txt</a>. Customize the script where needed and add content type headers for everything you&#8217;ve added to the htaccess.</li>
<li>Now you can open the extra profile you should have created and under &#8220;Content Optimization > Content Performance > Content Drilldown&#8221; you find the directory &#8220;tracker&#8221; with all image/file requests logged in it.</li>
</ol>
<p>Here are all values you can fill: <a href="http://www.vdgraaf.info/wp-content/uploads/image-url-explained.txt" title="Image tracker" target="_blank">image-url-explained.txt</a></p>
<p>Most of the information needed for the statistics is gathered by the javascript file (and you can influence that data), but the other half is collected when the image is requested from the Google server. This means that that information belongs to your server and not to the user that did the real request. Converting server-side to client-side analytics is very usefull, but not flawless. I haven&#8217;t seen this type of Analytics tweak anywhere else, so please let me know if you would like me to post more similar tweaks or more information in the future.</p>
<p><strong>Google Analytics is very good once you implement some of the following tweaks.</strong></p>
<ul>
<li><a href="http://www.vdgraaf.info/google-analytics-tweaks.html">Extra tracking features in Google Analytics</a></li>
<li><a href="http://www.vdgraaf.info/filters-in-google-analytics.html">Using filters in Google Analytics</a></li>
<li>And of course the tweak shown above!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.vdgraaf.info/google-analytics-without-javascript.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filters in Google Analytics</title>
		<link>http://www.vdgraaf.info/filters-in-google-analytics.html</link>
		<comments>http://www.vdgraaf.info/filters-in-google-analytics.html#comments</comments>
		<pubDate>Wed, 21 Feb 2007 21:41:44 +0000</pubDate>
		<dc:creator>Peter van der Graaf</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web analytics]]></category>

		<guid isPermaLink="false">http://www.vdgraaf.info/filters-in-google-analytics.html</guid>
		<description><![CDATA[Google Analytics is a fairly complete webanalytics program, but it has some flaws. As I showed in my article on Google Analytics tweaks, you can overcome many of these flaws with the use of tweaks. In this article I will show what you can do with custom filters and extra profiles on the same website. [...]]]></description>
			<content:encoded><![CDATA[<p>Google Analytics is a fairly complete webanalytics program, but it has some flaws. As I showed in my article on <a href="http://www.vdgraaf.info/google-analytics-tweaks.html">Google Analytics tweaks</a>, you can overcome many of these flaws with the use of tweaks. In this article I will show what you can do with custom filters and extra profiles on the same website.</p>
<p><span id="more-77"></span></p>
<p><strong>What are Analytics filters?</strong><br />Google Analytics filters allow you to select specific visits or visitors on your website and either show only them, exclude them from your reports, or change the way they show up in your reports.</p>
<p><img style="float: right;" alt="Analytics Filter Manager" src="http://www.vdgraaf.info/wp-content/uploads/enter-filters.gif" />You can enter filters in the &#8220;Analytics Settings > Filter Manager&#8221; section of your account when you have administrator rights. Here you can enter filters that &#8220;Exclude all traffic from a domain&#8221;, &#8220;Exclude all traffic from an IP address&#8221;, &#8220;Include only traffic to a subdirectory&#8221; or make your own filter under &#8220;Custom filter&#8221;.</p>
<p><strong>What can I do with Analytics filters?</strong><br />The first two filters mentioned before help you to exclude visitors that cloud your reports with unrelevant visitors, for instance visits from your companies own IP address. The subdirectory filter allows you to separate subsections of your website into separate reports. More on separate website profiles later, but first let me explain how you can use the &#8220;Custom filter&#8221;.</p>
<p><strong>Custom filter</strong><br />In the custom filter section you can include, exclude or edit information based on many variables before they are simplified and combined in your analytics reports. The most important pieces of information to use in your filters are: Request URI, Visitor IP address and Referrer, but others like country and language can always come in handy. <a href="http://www.google.com/support/analytics/bin/answer.py?hl=en-uk&#038;answer=55588" target="_blank">A full list can be found here.</a></p>
<p>Custom filters can use POSIX regular expressions. This means you define what format or sequence the filter should look for and you can extract information from it. I like using the &#8220;Advanced filter&#8221; from the &#8220;Custom filter&#8221; section. There you can use one or two fields and combine extracts from them into another field.</p>
<p><strong>Full referrer URLs</strong><br />Under &#8220;Marketing Optimization > Visitor Segment Performance > Referring Source&#8221; or &#8220;Marketing Optimization > Marketing Campaign Results > Referral Conversion&#8221; Analytics shows only partially where your visitors have come from. For instance the get variables (for instance ?name=analytics-filters) are excluded and it isn&#8217;t easy to just enter the referrer URL and visit it. To get the entire referral URL into your report you can use a custom-advanced filter. Here&#8217;s how:</p>
<ol>
<li>Enter the Filter manager</li>
<li>Click &#8220;+ Add Filter&#8221;</li>
<li>Enter the filter name (like &#8220;Full Referral&#8221;) and select &#8220;Custom filter&#8221; from the drop-down box</li>
<li>From the radio buttons you select &#8220;Advanced&#8221;</li>
<li>For &#8220;Field A -> Extract A&#8221; you select &#8220;Referral&#8221; from the drop-down box and in the text field you enter &#8220;(.*)&#8221; (to select the entire URL)</li>
<li>Leave Field B empty and set &#8220;Output To -> Constructor&#8221; to &#8220;User Defined&#8221;. In the text field you enter &#8220;$A1&#8243; to refer to the first selection of field A.</li>
</ol>
<p>It should end up looking something like this:<br /><img alt="Filter Full Referral information" src="http://www.vdgraaf.info/wp-content/uploads/referral-filter.gif" /></p>
<p>Within a day full referral information will end up under <strong><em>&#8220;Marketing Optimization > Visitor Segment Performance > User-defined&#8221;</em></strong></p>
<p><strong>What have Adwords searchers really typed?</strong><br />Another flaw in Google Analytics is the report on Google Adwords. Analytics only shows what matching option was triggered by the users search query, not what was exactly typed. In my <a href="http://www.vdgraaf.info/google-analytics-tweaks.html">earlier article on Analytics</a> I showed how to fix this with javascript, but you can also use filters to extract this data. Here&#8217;s how that goes:</p>
<p>Copy the following screen to get referral data of cpc clicks into &#8220;Custom field 1&#8243; (this field cannot be seen in your reports)<br /><img alt="Adwords term to custom field" src="http://www.vdgraaf.info/wp-content/uploads/adwords2custom.gif" /></p>
<p>Copy the following screen to combine the data of &#8220;Custom field 1&#8243; and the original data of &#8220;Campaign term&#8221; into one<br /><img alt="Custom field to adwords report" src="http://www.vdgraaf.info/wp-content/uploads/custom2adwords.gif" /></p>
<p>From now the all reports that include Adwords search terms will also include the used query.</p>
<p><strong>Using extra profiles</strong><br /><img alt="New profile based on existing one" src="http://www.vdgraaf.info/wp-content/uploads/new-profile.gif" /><br />You can create extra profiles of the same website and filter specific traffic to only appear in all reports of that profile. I use this option to see if visitors that order something show other behaviour then other visitors, but you can also use it to differentiate Google traffic from Yahoo traffic, or new from returning visitors. This works in all your reports and you don&#8217;t need to use any cross segmentation within your reports.</p>
<p><strong>Google Analytics can do almost anything expansive web analytics software can do. You just need to know how to retrieve the data.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vdgraaf.info/filters-in-google-analytics.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Searcher behaviour</title>
		<link>http://www.vdgraaf.info/searcher-behaviour.html</link>
		<comments>http://www.vdgraaf.info/searcher-behaviour.html#comments</comments>
		<pubDate>Sun, 21 Jan 2007 14:36:22 +0000</pubDate>
		<dc:creator>Peter van der Graaf</dc:creator>
				<category><![CDATA[Opinions]]></category>
		<category><![CDATA[Search advertising]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web analytics]]></category>

		<guid isPermaLink="false">http://www.vdgraaf.info/searcher-behaviour.html</guid>
		<description><![CDATA[The behaviour of people using search engines and vertical search is different for every target audience. As a search engine marketer you should always know the target audience and how they search. In this article I will share some of my experience on the subject of &#8220;searcher behaviour&#8221;. How people use search engines is mainly [...]]]></description>
			<content:encoded><![CDATA[<p>The behaviour of people using search engines and vertical search is different for every target audience. As a search engine marketer you should always know the target audience and how they search. In this article I will share some of my experience on the subject of &#8220;searcher behaviour&#8221;.<br />
<span id="more-67"></span><br />
<strong>How people use search engines is mainly based on experience.</strong> If you try something and it works for you, you are likely to do it the same way the next time. Searcher behaviour is also based on <strong>knowledge in the specific field</strong> they are searching in, and on the <strong>decision phase</strong> they are in. The used search engine and search engine type, internet device and desired content type and many more factors all play a role, but it is possible to exactly define your audience and their most likely search behaviour.</p>
<ol>
<li>Your first ever search engine will be either the default one on your computer or the one someone advices you to use. If you remain satisfied with the results you&#8217;re not likely to switch. This is why all search engines want to become the default on new computers.</li>
<li>Unexperienced searchers are more likely to type full sentences in stead of only keywords. As people become more acquainted with search they will use only key-words and even start using phrase and negative query options.</li>
<li>Unexperienced searchers won&#8217;t know the difference between sponsored and organic search results and are more likely to click ads. As experience grows they will sometimes create an automatic ad filter and they won&#8217;t even notice the ads anymore.</li>
<li>Websites that sell something are more likely to use sponsored listings. And because people aren&#8217;t always searching to buy something the sponsored listings are deemed less relevant in most cases. Only when someone is looking to buy, they are more likely to look at and click on ads.</li>
<li>The decision phase someone is in determines what keywords they use and what they click. <a title="The Search Funnel" href="http://www.vdgraaf.info/wp-content/uploads/search-funnel.pdf" target="_blank">The Search Funnel (pdf)</a> can be used to determine what keywords belong in which phase and shows you which steps need to be taken to end up with a buying customer. Down the AIDA  funnel (Attention, Interest, Desire and Action). In which Action can be buying something.
<p><a title="The Search Funnel" href="http://www.vdgraaf.info/wp-content/uploads/search-funnel.pdf" target="_blank"><img alt="AIDA Funnel" src="http://www.vdgraaf.info/wp-content/uploads/search-funnel.gif" /></a><br />
<em>(Click for PDF)</em></p>
<p>To get a buying customer someone needs to go through the entire decision making process. If you get your website visitor in the &#8220;attention&#8221; phase you need to offer him all the following steps and information without loosing him to a search engine which might be able to give him more information then your site does. The further down the search funnel you get your visitor, the more likely someone is willing to buy or take any other desired action. Maybe this article can help: <a href="http://www.vdgraaf.info/best-landing-page-layout.html" target="_blank">Best landing page layout</a>.</p>
<p>Target keywords from all phases, but make sure you offer the desired information for that phase. Guide them to the desired action on your site, but in these steps offer answers to possible questions in every decision phase.</li>
<li>Most websites are written in only one writing style. They can for instance use commercial language, corporate language or informal language. They&#8217;re also written from a specific knowledge level with the presumption that the visitor has that same knowledge. Write your text from all different standpoints, all knowledge levels and every possible writing style that is suitable for your product or service. Just figure out a way to do it all in one website and target all possible search queries.</li>
<li>Organic and Sponsored search results are almost always placed in the format Title, Description and URL. Eye-tracking studies on the Google result pages show that it is not only important to be amongst the first five search results, but it is even more important to be have a relevant and attractive result. The second result can easily convert better then the first as long as it is more relevant to what the searcher was looking for or even more then he was looking for.
<p><a href="http://www.vdgraaf.info/wp-content/uploads/eye-tracking.gif" target="_blank"><img alt="Eye tracking" src="http://www.vdgraaf.info/wp-content/uploads/eye-tracking-small.gif" /></a><br />
<em>(Click for full page)</em></p>
<p>The different colors show how much time was focussed on a specific region of the page.<br />
The X-es show where the user clicked.<br />
The red lines show how far someone scrolled.</p>
<p>As you can see people don&#8217;t scroll much, but that depends on the first five results. If they are exactly what the searcher was looking for, they will click those. If it was nothing like what they were looking for, they will click the search box to refine the search. If it was somewhat what they were looking for, they will scroll to see if there is something better in those results.</p>
<p>People scan the results for what they were looking for. Having the keyword in your title and description makes them bold. Something bold ate the beginning or end of the line attracts extra attention.</p>
<p>Make sure your result stands out of the crowd. Titles in search engines are your page titles, the descriptions (snippets) are either: 1. Your DMOZ or Yahoo directory description. 2. Your description metatag. 3. A specific piece of text from your page where the search phrase is situated. Test titles and descriptoins in payed search and reflect the successfull ones in your webpages.</li>
<li>The future of search is in personal search, custom result page layouts and vertical search. All of these result types make it harder to predict where and how your result will be shown. Make sure you end up in every relevant vertical search type. In a future post I will focus on influencing personal and vertical searches. It isn&#8217;t very important yet, but just realize that this is coming!</li>
</ol>
<p>These are just a few of my findings. The article would become too long if I continued. Maybe I&#8217;ll focus more future posts on this subject.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vdgraaf.info/searcher-behaviour.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hey you! Where have you been?</title>
		<link>http://www.vdgraaf.info/hey-you-where-have-you-been.html</link>
		<comments>http://www.vdgraaf.info/hey-you-where-have-you-been.html#comments</comments>
		<pubDate>Tue, 16 Jan 2007 21:05:33 +0000</pubDate>
		<dc:creator>Peter van der Graaf</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web analytics]]></category>

		<guid isPermaLink="false">http://www.vdgraaf.info/hey-you-where-have-you-been.html</guid>
		<description><![CDATA[No this is not just a question for someone you haven&#8217;t seen for a long time. This tutorial tells you how to see what other websites your visitors have visited. This can be especially usefull when you see which competitors websites someone has visited. You can use this information to emphasise on your unique selling [...]]]></description>
			<content:encoded><![CDATA[<p>No this is not just a question for someone you haven&#8217;t seen for a long time. This tutorial tells you how to see what other websites your visitors have visited. This can be especially usefull when you see which competitors websites someone has visited. You can use this information to emphasise on your unique selling points compared to the visited competitors or to find out which competitor names you should use as a searchterm.</p>
<p><span id="more-66"></span></p>
<p>Script in action<br />
<strong>You recently visited:</strong></p>
<ul id="site-list">
<li /></ul>
<p><strong>How does it work?</strong><br />
The trick of history detection is looking at the color of visited links. Therefore you need to use a separate color in your stylesheet for visited links. Thanks to <a href="http://jeremiahgrossman.blogspot.com/" target="_blank">Jeremiah Grossman</a> an <a href="http://www.dicabrio.com/javascript/steal-history.php" target="_blank">Robert Cabri</a> for this easy to use script. The script uses javascript and should work in almost all browsers. You need to know the hexadecimal and RGB values of your visited color. The security settings in browsers prevent you from looking at the entire history file, but if you have a link to a visited website on your webpage it will have the a:visited properties attached by it by the browser. Javascript can then look for these properties and communicate them back to for instance <strong>Google Analytics</strong> or any other javascript command.</p>
<p><strong>The script</strong><br />
Fill in your own a:visited color (make sure it is different from a:link and a:hover). Use this <a href="http://www.colorcombo.com/bghex.html" target="_blank">hexadecimal to rgb converter</a> to find out the RGB value for Firefox. Then fill in every URL (each separate webpage) you want the script to check for in the visitor&#8217;s browser history.</p>
<p>Just look at my own javascript <a href="http://www.vdgraaf.info/js/javascripts.js">http://www.vdgraaf.info/js/javascripts.js</a> or the code below:</p>
<p><small>addEvent( window, &#8216;load&#8217;, stealHistory );<br />
 <br />
var IEVisitedColor = &#8216;#cd0018&#8242;;<br />
var W3CVisitedColor = &#8216;rgb(205, 0, 24)&#8217;;<br />
 <br />
var websites = [<br />
  "http://ajaxian.com/",<br />
  "http://www.dicabrio.com",<br />
  "more of your sites...."<br />
];<br />
 <br />
function stealHistory()<br />
{<br />
  if(document.getElementById(&#8216;site-list&#8217;))<br />
  {<br />
    var List = document.getElementById(&#8216;site-list&#8217;);<br />
 <br />
    for( var i = 0; i < websites.length; i++ )<br />
    {<br />
      var bRemove = false;<br />
      var ListItem = document.createElement('li');<br />
      var Link = document.createElement( 'a' );<br />
      Link.href = websites[i];<br />
      Link.id = i;<br />
 <br />
      Link.appendChild(document.¶<br />
createTextNode(websites[i]));<br />
      ListItem.appendChild(Link);<br />
      List.appendChild(ListItem);<br />
 <br />
      if( Link.currentStyle )<br />
      {<br />
        var color = Link.currentStyle['color'];<br />
 <br />
        if( color == IEVisitedColor )<br />
        {<br />
          bRemove = true;<br />
        }<br />
      }<br />
      else if( document.defaultView.¶<br />
getComputedStyle( Link, null ) )<br />
      {<br />
        var color = document.defaultView.¶<br />
getComputedStyle( Link, null ).color;<br />
       <br />
        if( color == W3CVisitedColor )<br />
        {<br />
          bRemove = true;<br />
        }<br />
      }<br />
 <br />
      if( bRemove == true )<br />
      {<br />
        List.removeChild(ListItem);<br />
      }<br />
      else<br />
      {<br />
        urchinTracker( '/visited/' + websites[i] );<br />
      }<br />
    }<br />
  }</small></p>
<p><strong>And then</strong><br />
In Google Analytics you can now find the visited URLs under &#8220;Content Optimization&#8221; -> &#8220;Content Performance&#8221; -> &#8220;Content Drilldown&#8221; under the fake directory &#8220;/visited&#8221;. Feel free to customize this script to do whatever you like with your visitors history. It can also be used to offer specific content directly. Like &#8220;I see you have visited &#8230; You probably don&#8217;t know that our service is much &#8230;&#8221;</p>
<p>This script tracks every javascript enabled visitor. Not just the users of <a href="http://www.mybloglog.com" target="_blank">MyBlogLog</a>.</p>
<ul>
<ul />
<ul /></ul>
]]></content:encoded>
			<wfw:commentRss>http://www.vdgraaf.info/hey-you-where-have-you-been.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Analytics tweaks</title>
		<link>http://www.vdgraaf.info/google-analytics-tweaks.html</link>
		<comments>http://www.vdgraaf.info/google-analytics-tweaks.html#comments</comments>
		<pubDate>Wed, 03 Jan 2007 22:22:04 +0000</pubDate>
		<dc:creator>Peter van der Graaf</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web analytics]]></category>

		<guid isPermaLink="false">http://www.vdgraaf.info/google-analytics-tweaks.html</guid>
		<description><![CDATA[Google Analytics is the best free web analytics software. It has just a few flaws and some of them are easily fixed. In this article I will show you a few tweaks to get better reports from Google Analytics. AdWords keyword tracking One of the biggest flaws in Google Analytics is probably in the reports [...]]]></description>
			<content:encoded><![CDATA[<p>Google Analytics is the best free web analytics software. It has just a few flaws and some of them are easily fixed. In this article I will show you a few tweaks to get better reports from Google Analytics.</p>
<p><span id="more-65"></span></p>
<p><strong>AdWords keyword tracking</strong><br />
One of the biggest flaws in Google Analytics is probably in the reports on AdWords usage. When you visit &#8220;Marketing Optimization -&gt; Search Engine Marketing -&gt; AdWords Analyses (or &#8220;CPC vs Organic Conversion -&gt; google[cpc]&#8220;)&#8221; Analytics only returns the matching options that were triggered, but not the exact typed in search phrase.</p>
<p>When you need to tweak your keywords in AdWords you really need to have good keyword statistics. The following script looks at the refering url to your webpage and looks for the word &#8220;google&#8221;. If that exists it looks for the query and pushes it as a fake page request to Analytics. This means both AdWord and organic Google results will be logged, but it is unwise to use a special URL to differentiate them from each other. You can use the Adwords autotagging option and edit the script to look for &#8220;gclid=&#8230;&#8221; in the URL. This is an indicator of adwords that is added to your URL after your landing page quality score is calculated.</p>
<p><small>if( document.referrer )<br />
{<br />
  if( document.referrer.indexOf( &#8216;google&#8217; ) != -1 )<br />
  {<br />
    var urlPattern = /(\?|&#038;)q=([^&#038;]*)/;<br />
    var aMatches = urlPattern.exec( document.referrer );</small><small>    if( aMatches != null )<br />
    {<br />
      urchinTracker( &#8216;/query/&#8217; + aMatches[2] );<br />
    }<br />
    else<br />
    {<br />
      urchinTracker();<br />
    }<br />
  }<br />
  else<br />
  {<br />
    urchinTracker();<br />
  }<br />
}<br />
else<br />
{<br />
  urchinTracker();<br />
}<br />
</small></p>
<p>To see what search phrases have been logged you go to &#8220;Content Optimization -&gt; Content Performance &gt; Content Drilldown&#8221; in Google Analytics and look for the (fake) directory &#8220;query&#8221;. Here you find every search phrase from Google. When you compare these figures to &#8220;Marketing Optimization -&gt; Search Engine Marketing -&gt; CPC vs Organic Conversion -&gt; google[organic]&#8221; you see what is left for AdWords.</p>
<p><strong>Target tracking</strong><br />
Even when you&#8217;re not selling anything directly from your website, you can always give certain goals a financial value. This virtual value gives you a good indication which marketing campaign is producing the highest value. For instance: Whenever your contactform is used give it a value of one or two dollar and log it as &#8220;contactform submitted&#8221;.</p>
<p>For more information see: <a href="http://www.google.com/support/analytics/bin/answer.py?answer=27203&#038;topic=7282" target="_blank">http://www.google.com/support/analytics/bin/answer.py?answer=27203&#038;topic=7282</a></p>
<p><strong>Campaign tracking</strong><br />
For each separate campaign that uses a specific landing page URL, log it! This way revenue from a mailing you did ends up in a separate report.</p>
<p>For more information see: <a href="http://www.google.com/support/analytics/bin/answer.py?answer=27254" target="_blank">http://www.google.com/support/analytics/bin/answer.py?answer=27254</a><br />
Or even better: <a href="http://www.google.com/support/analytics/bin/answer.py?answer=27248" target="_blank">http://www.google.com/support/analytics/bin/answer.py?answer=27248</a></p>
<p><strong>Tracking link clicks</strong><br />
If you want to track outbound links or see which one link (when there are several links to the same url on one page) was clicked, you need to send a fake page request to Analytics. Just like the /query/ request we did for AdWords you can do an onclick=&#8221;urchinTracker(&#8216;/link/&#8230;.&#8217;);&#8221; request.</p>
<p>Here is my link to an unobtrusive javascript example:<br />
<a href="http://www.dicabrio.com/javascript/unobtrusive-google-analytics.php">http://www.dicabrio.com/javascript/unobtrusive-google-analytics.php</a></p>
<p><strong>Using Google Analytics</strong><br />
Google Analytics is a fine web analytics tool for companies that make some money online. When you start earning the big bucks every content/navigation optimization can save you thousands of dollars and you will probably be better of with someting like <a href="http://www.webtrends.com/" target="_blank">Webtrends</a> or <a href="http://www.clicktracks.com/" target="_blank">Clicktracks</a>. These give almost instant reports and can give custom visitor segmentation throughout all your reports.</p>
<p>Another reason not to use Google Analytics is: Do you want to give Google this much information on your website and is it unbiased?</p>
<p><strong>Get acquainted with web analytics with Google Analytics, but continue to professional web analytics software!</strong></p>
<p>Read these when you are finished:</p>
<ul>
<li><a href="http://www.vdgraaf.info/filters-in-google-analytics.html">Google Analytics Filters</a></li>
<li><a href="http://www.vdgraaf.info/google-analytics-without-javascript.html">Google Analytics without Javascript</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.vdgraaf.info/google-analytics-tweaks.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

