But one thing I haven’t read about anywhere are the technical implications of +1 and the way it deals with canonicalization of votes, which currently is significantly inferior to both Facebook and Twitter.
There are all kinds of reasons why a publisher or ecommerce store might want to include parameters in the URLs people bookmark.
- Various kinds of tracking data
- Dynamic landing pages based upon advertising campaign (even with Adwords)
A user lands on a page, and you want to ensure that whatever they bookmark or share with friends or family is the exact same content/offer that they saw themselves, or that the initial source for the traffic is correctly counted to evaluate advertising campaigns.
This is especially important with affiliate marketing if you are a vendor who wants to ensure that affiliates get attribution for the traffic/customers they send.
- You see people use multiple browsers on one PC, and cookies are not necessarily shared
- Then you get people who have multiple computers in their home
- Then you have tablet PCs… someone might find a product on their desktop PC, but when they want to share the product with a significant other before making a purchase, they might do so on their iPad, loading a page from shared bookmarks.
- As mobile browsers become more powerful, a phone could also be the device used for bookmarking.
I don’t think it is possible to get everything perfect, to get correctly attributed tracking, ensure bookmarks are handled correctly etc (especially when paramters that remain visible can affect conversion), but I personally feel it is important to do whatever you can to ensure valid tracking data and attribution.
Facebook & Twitter – 2 Different Methods
Both Facebook & Twitter allow you to define tracking parameters or links for their share buttons, but they do it different ways.
With Twitter it is defined within the Twitter button by defining the url and counturl parameters.
The URL is whatever link you want shared, and the most popular way to use it is probably a tracking service such as bit.ly, but at the same time adding additional Google Analytics tracking variables to the URL that is bookmarked within bit.ly.
This is what the Twitter code looks like
And this is the result (this uses my affiliate link for uQast, but notice that the count shown is an aggregate canonical value because of the defined counturl
With Facebook it is a little different – within the button code you include the tracking link you want to share, and the “counturl” is actually grabbed from the Facebook Open Graph meta data on the destination page.
Facebook also pull in the thumbnail and descriptions from that meta data.
This is what the code looks like
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like ref="13312" href="http://welcome.uqast.com/page13312" send="false" width="120" show_faces="false" layout="button_count" ></fb:like>
The result is an aggregate count even though every shared URL from the like button could be completely different.
Google +1 Only Gets Half A Banana
As Google +1 has only just been launched, the uQast landing page hasn’t received 100s or 1000s of bookmarks but it is a good example of the current problem with Google’s implementation of the +1 button.
This is the same URL we were using in the above example, my uQast affiliate link, but it could be any tracking link, or just using Google Analytics tracking parameters.
This is how that button should be encoded
With this result… I gave it a plus one to test this earlier as I am considering adding Google +1 to our landing pages, not just for our launch signup, but also throughout uQast and within our embeddable players.
If Google had implemented +1 correctly, then the count for a URL that points directly to the page would be the same.
At time of writing the affiliate link shows 1 and the “clean” link shows 0 – I am sure that will change over time
This is how a +1 ends up on a Google profile (this is my primary Andy Beard profile)
Lets see how Google fairs with my +1 test
First of all my profile URL is
But from a search result Google themselves redirect to
And if I want to ensure the English version of a page is shown then I have to add an additional language parameter.
These redirects are a fact of life on the web and so are additional parameters for all kinds of things, but Google +1 doesn’t allow for it, even for a Google URL
Google +1 is broken even for Google’s own pages
In addition they really should take advantage of the thumbnail defined in the Facebook Open Graph, as they currently just scrape the first image on the page.
The Solution For Google +1
It is actually fairly simple for Google to fix this.
They are already looking at the destination page, and all they have to do is look for a canonical link tag in the header for which URL to count… anyone who cares about correct canonicalization for their pages who uses various tracking parameters is likely to already be using link canonical… after all it is stronly promoted by Google themselves as a way to get attribution for the correct link.
<link rel="canonical" href="http://welcome.uqast.com/intro/" />
You would have thought issues like this would have been fixed during the initial beta period – when news of Google +1 first came about, there was a call for interested websites to sign up early maybe to give feedback… I signed up at that time but from the looks of things on the Google announcement post that was mainly as a PR exercise to get large publishers using Google +1.
Google +1 is really easy to set up, there are also some quite powerful features I haven’t explored yet for triggering various actions similar to a Facebook like button
However as currently implemented it is almost like a negative advert if you implement it with any kind of dynamic URLs showing effectively the same content.
Canonicalization is just as important in social media as search.
p.s I have given up trying to get a “+” to appear correctly with a retweet button with WordPress.
I went as far as trying to use the unicode version within the title but that ended up as the raw text, and then WordPress didn’t save the unicode anyway.