Twitter Clients

Twitter Clients

Danny Sullivan has a flawed piece today titled “Is Twitter Sending You 500% To 1600% More Traffic Than You Might Think?” The sensational headline is no doubt good for traffic and his basic information and method is good, but the numbers are way off because he has a miniscule sample size.

Google Analytics, and other analytics tools, misreport Twitter traffic because many Twitter users use desktop clients that don’t show any referrer data. When these visitors open a link from their Twitter client, they get reported as direct traffic.

Amongst the analytics community there is a debate over how exactly how much traffic gets misreported. Tweet Stats shows 52% (at the time of writing) of visits coming from the web while TwitStats shows just 61% (at the time of writing).

Danny Sullivan’s Numbers

Danny does some testing to see how much direct traffic in Google Analytics actually comes from Twitter.

His method is to tweet a link to a post tagged with tracking parameters. He then compares his properly-reported tagged links against his Google Analytics referrer data and his Bit.ly stats against his log-files to get his numbers.

His final numbers?

Google records 9 visits tagged with the tracking parameters, but just 2 of those come from Twitter (as in the web site) thus under-reporting by 450% (he rounds it to 500%, I’m cool with that).

Bit.ly records 58 clicks, but there are only 32 tagged visits in his logs. The unaccounted Bit.ly clicks are caused by url-lengthener plugins that request the Bit.ly URL so that someone can see where the shortened URL goes before clicking but don’t follow the redirect. (Bit.ly deserves props for being very up-front about the gaps in their data.)

Log-files record 32 visits tagged with tracking parameters, but just 2 of those come from Twitter (according to Google Analytics) thus under-reporting by 1600%.

Google, in response to Danny’s questions about the differences, says that they are working on some issues caused by mobile devices.

Reconciling GA’s and Bit.ly’s Numbers

I give Google’s numbers more credit than Bit.ly’s.

I get notified every time there is a 404 on one of my sites. I’ve spent a lot of time investigating, and blocking, strange requests. Digging through log files and discovering all sorts of strangeness has given me a great appreciation for how much crap that Google Analytics blocks out.

There are a ton of bots out there, both malicious and innocent, that can quickly inflate your states. GA catches most of them. As a result, I’m inclined to believe the GA numbers whenever there is a big discrepancy.

Even with under-reporting caused by issues with mobile devices, I believe Google’s numbers are closer to the actual numbers than Bit.ly’s.

The Numbers in Greater Context

Danny’s 500% is in line with TwitStats’s numbers, and what I would have guessed because I can’t imagine not using a desktop client. But I’ve got some pretty good data, from a much larger sample than Danny’s, that aligns closely with Tweet Stats’s 52% web visits.

Soon after launching this site, I had a moderately influential Twitterer tweet my post on Involvement Device CAPTCHAs, thanks Naomi.

At the time I was getting very little traffic. Out of the traffic to that post on that particlur day (shown below), only 2 pageviews entered from elsewhere on the site and there was no search traffic to that page so the data is relatively unpolluted.

Google Analytics Twitter Stats

Google Analytics Twitter Stats

The BeTwittered, Netvibes, and TwitterGadget traffic are all functionally Twitter traffic (bonus points to anyone who writes a filter to group all of this traffic together).

I got 45 Twitter visits with referral information (41 actual visits, plus 4 functionally Twitter visits) and no more than 51 direct visits that actually came from Twitter. Because I was just starting up, I was getting practically no direct traffic and I’d already filtered out my own visits so nearly all, if not all, of these visits actually came from Twitter.

47% of my Twitter visits come from the web and show up in my Google Analytics stats. My Twitter stats are under-reported by about 200%.

It is impossible for this particular post to be under-reported by the 500% that Danny reports simply because all of my direct visits are already presumed (and likely) to be actually from Twitter.

Explaining the Differences

Why is there such a big difference between my numbers and Danny’s?

Here’s a hint. He’s only working with 2 Twitter visits in Google Analytics. If he had just one more visit reported in GA, his headline would be 300% to 1000% instead of 500% to 1600%. Compared with my 45 Twitter visits, his sample size is just too small.

Even though my experiment was accidental while Danny did a better job of setting up the experiment by tagging links and comparing tagged values, my larger data set on a page with less noise makes my data better.

The 47% of visits coming from the web on my post is also a lot closer to the TwitStat and Tweet Stats numbers which use an even better sample size.

Photo Credit: The Next Web

{ 1 comment }

Taxonomies in WordPress Edit-Post Sidebar

Taxonomies in WordPress Edit-Post Sidebar

Taxonomies in WordPress are categorized tags. They are useful if you find yourself adding a class of tags over and over, like ingredients on a recipe blog. WordPress 2.8 includes updates that make the hidden taxonomy features easier to use.

I’ve set taxonomies up on my home-brewing blog, Life With Beer, where I have taxonomies for malts, hops, yeast strains, and adjuncts (weird stuff in beer like fruit, spices, and mushrooms). I also sometimes write about local craft-brewed beer, so I also have a craft-brew taxonomy that I use for micro-breweries and brew-pubs.

As an example of how you can use taxonomies to expand your blog to include information that visitors and search engines will love, I’ll be using a post from Life With Beer about kelp beer. (The link takes you to the end of the post where the taxonomies are listed. At the time of writing, it’s the only post where I’m using taxonomies, but it’s enough to illustrate the idea.)

To start using taxonomies, you need to dig through the WordPress Codex to find the relevant functions and add them to your theme. Or you can use Joost de Valk’s taxonomy plugin.

By default, the taxonomy pages look just like your regular tag pages, which is kind of boring, and at best will help a small percentage of visitors navigate your site. But, with just a little extra information on the taxonomy page you can create pages of keyword-rich useful information that visitors and search engines will love.

Taxonomies Linking Brewing Recipes with Ingredients

Taxonomies Linking Brewing Recipes with Ingredients

Coding Your Thesis Taxonomy Pages

Thesis doesn’t do well creating a page title for taxonomy pages, so the first thing we need to do is fix that.

Right under the title, we want to add some extra introductory content. To do that we’re going to roll our own WordPress query that only gets a post with the same page name as the taxonomy slug and print it out.

Since I want all of this to be grouped together, I’m putting it in the same function and using the bottom-border of #archive_info to separate it from the list of posts that are associated with the tag.

The second function creates text that introduces the list of posts that are associated with the taxonomy.

Read through the code comments, because there’s are a couple of areas that need special attention.

function custom_taxonomy_intro(){
	global $wp_query, $thesis;
	if ( is_tax() ) {	
	
/*
 * get taxonomy variables that we'll	use
 * to create a page title
 * and query the database
 * for information stored in a private post
*/	
		$taxonomy 	= get_taxonomy ( get_query_var('taxonomy') );
		$term = $wp_query->get_queried_object();
		$title = $term->name;
		$query_term = get_query_var('term');
/*
 * create headline
 * 
*/
		
		?>
		<div class="post_box top">
		<div class="headline_area">
		<h1 class="entry-title">label ;?&gt; Archive</h1>
		&lt;?php
		thesis_hook_after_headline($post_count);		
		echo "</div>";		//end headline_area

/*
 * custom WP_Query that only
 * gets pages with the same name
 * as the taxonomy term
*/

		$query='pagename='.$query_term;
		$tax_post = new WP_Query();
		$tax_post-&gt;query($query);

//Wordpress loop

		while ($tax_post-&gt;have_posts()) : $tax_post-&gt;the_post(); 
			$post_image = thesis_post_image_info('image');
						
			if ($post_image['show'] &amp;&amp; $post_image['y'] == 'before-post'){
				echo $post_image['output'];
			}

			echo "<div class='format_text entry-content'>";
			the_content();
			echo "</div>";
		endwhile;
		echo "</div>";		//end  post_box top

		
	}
}
add_action('thesis_hook_before_content','custom_taxonomy_intro');

function custom_taxonomy_post_list(){
	global $wp_query;
	if (is_tax()){
		$term = $wp_query-&gt;get_queried_object();
		$title = $term-&gt;name;

/*
 * create intro text
 * by concatenating text with term
 * adjust to your needs
*/

		if ( is_tax('craft-brew')){
			$pre="Posts about ";
		} else {
			$pre="Recipes that use ";
		}
	
		echo "<div><p>".$pre." ".$title.":</p></div>";	//add #taxonomy-intro to custom-css file
	}	
}

add_action('thesis_hook_archive_info','custom_taxonomy_post_list');

Notes on Taxonomy Pages

You need to create a page to hold the introductory content with the same title as the taxonomy term. This page isn’t intended to be accessed by visitors or search engines, it’s just there to hold the unique content that you’re going to use at the start of your taxonomy page.

If you’re having problems and are using post titles in your URLs, check that the last segment of the permalink for the holder page, matches the last segment of the taxonomy page URL. On Life With Beer, my matching URLs for roast barley in my malts taxonomy look like this:

Holder Page: http://www.yoursite.com/roast-barley
Taxonomy Page: http://www.yoursite.com/malts/roast-barley

SEO Issues for Taxonomy Pages

You want search engines to crawl these taxonomy pages.

To avoid duplicate content penalties, you don’t want to allow search engines to access the holder pages. The easiest way to do this is to keep these pages private. This keeps the holder pages out of search engines, stops it from popping up in standard WordPress functions, and gives a 404 error to anyone who guesses the URL (after reading this article?).

WordPress Page Privacy Settings

WordPress Page Privacy Settings

The All-In-One SEO plugin treats these pages like tag pages and prevents search engines from crawling the taxonomy pages.

Thesis doesn’t recognize taxonomy pages (actually, both Thesis and All-In-One SEO both don’t recognize taxonomies, but Thesis uses a more strict function when excluding tag pages). So, even if you’re excluding search engines from your tag pages, search engines are still able to crawl your taxonomy pages which is exactly what we want.

All other things being equal, it’s better to dump the All-In-One SEO plugin and just use Thesis’s SEO functions. Alternately, bug the All-In-One SEO plugin people to add the option to decide whether to block search engines from taxonomy pages.

{ 3 comments }

Winning Clicks in Search Results Pages

May 21, 2009
Thumbnail image for Winning Clicks in Search Results Pages

Title tags and meta-descriptions are your search results ad copy. Too many people focus entirely on their SEO value. But titles and meta-descriptions not only need to rank in the search results, but also need to sell the idea of a click. I’m going to use the AIDA sales model to better understand selling the [...]

Read the full article →

Wolfram Alpha and Yahoo!: Destined for Failure

May 19, 2009
Thumbnail image for Wolfram Alpha and Yahoo!: Destined for Failure

First, the release of Wolfram Alpha, a computational knowledge engine that crawls the web to calculate the answers to questions. And now Yahoo!’s announcement that they’re going to can the links and just throw out the answers because that’s what searchers want. Bold? yes. Interesting? sure. Successful? not a chance. The problem with both Wolfram [...]

Read the full article →

Google Analytics Search Ranking Filters for New URLs

April 22, 2009
Thumbnail image for Google Analytics Search Ranking Filters for New URLs

Google is starting to add the search ranking directly to the referring URL which means the convoluted search ranking filters I wrote about earlier will soon be obsolete. That’s good news because now we’re going to have much better information than before and it’s going to be easier to get. I quickly took the sample [...]

Read the full article →

Twitter Botnet

April 13, 2009
Thumbnail image for Twitter Botnet

A dark vision of the future of Twitter? Satirical look at the perils and pointlessness of automated follower building? I started writing a post to go with this image, but realized the words were superfluous. Totally unrelated and unintended, but did you notice the optical illusion where the grey square between the corners of four [...]

Read the full article →