Google +1 & The Problem With Canonicalization Of Votes

Google launched their +1 button today. Lots of people have writeups but I suppose they have had prior access in some way. Heres one on Search Engine Land for instance.

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
  • Geotargeting
  • 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, but at the same time adding additional Google Analytics tracking variables to the URL that is bookmarked within

This is what the Twitter code looks like

					<script src="" type="text/javascript"></script>
					<a href=" To Profit By Leveraging The 7 Hidden Trends Driving The Internet&count=horizontal&via=uQast&related=uqast%3AWebinar" class="twitter-share-button" rel="nofollow">How To Profit By Leveraging The 7 Hidden Trends Driving The Internet</a>

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=""></script><fb:like ref="13312" href="" 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

<script type="text/javascript" src=""></script>
<g:plusone size="tall" href=""></g:plusone>

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.

<script type="text/javascript" src=""></script>
<g:plusone size="tall" href=""></g:plusone>

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="" />	  

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.

&#x002B;1.... out

Liked this post? Follow this blog to get more. Follow


  1. says

    Thanks for sharing this Andy, very good find indeed. I think ultimately (and sorry for the cynicism here) that had Google not been in such a rush to get something through the PR pipeline “shockingly” right after Twitter announced their new follow button they probably would have thought of and addressed some of these issues.

    It seems a bit sad to me when companies in a power position feel the need to drown out buzz around their competition like that, but hey, that’s just me!

    • says

      That isn’t very cynical at all

      Cynical would have been me puting a deliberate twist on the post that Google took this decision deliberately… but I couldn’t work out why they would cripple using Google Analytics with +1

  2. says

    I’m not sure I follow. If you don’t specify an href in the <g:plusone… code, it will use the canonical URL instead. If no canonical exists, it will just use the document's href. So, don't use an href in the code and it does it for you? Documentation is here:

    • says

      That would then use the canonical URL on the page for the link that is being bookmarked

      So with Twitter that would be the URL parameter not the COUNTURL parameter

      That would also mean that for instance if I used the +1 button on the home page of this blog, then all the buttons would be set to promote the home page of the blog, not the individual posts.

      For a page where tracking doesn’t matter, correct dynamic content doesn’t matter.. even bookmarking a page in the users preferred language in Google’s case, then I suppose that is a poor alternative.

  3. says

    Hi Andy

    Thanks for posting this, I have just set up a bit of an experiment to see the impact of +1 on a small website.

    The website is one page long, but does use the # for quick access to different sections, for example if somebody accessed the website via and scrolled and pressed +1, would that count differently to somebody who clicked +1 via ?

    I’d be interested to read your thoughts and any suggested fixes – I’ve just added a

    tag, do you think that should be enough?

    • says

      I have no idea how Google will treat URL fragments… the button itself is javascript so can use them, whereas Googlebot won’t see them unless you are doing hashbangs which honestly are a nightmare to be avoided.

      • Jonathan Walker says

        Hi Andy

        Just to follow up – it appears as though Google is treating the fragments as seperate urls when it comes to “+1’ing” based on a profile I’ve just looked at.

        I’ve added the cannonical link tag now, so hopefully that will be the solution for the problem

    • says

      You think Google always make the right decisions and make them quickly?

      They still have some major issues on Blogspot I pointed out 2 years ago.

  4. says

    Great write up Andy,

    I think Google was in such a hurry to push it out – they figured they would fix it in process. Problem is – with a potential of this +1 having an impact on your site ranking, can’t ignore it. However poorly it is currently implemented.

    I ut one on my blog and I guess just have to sit and wait on how it plays out.

    • says

      I can understand the urgency… but there has been talk about +1 for almost a year…

      The other services aren’t perfect… Facebook’s new send feature for instance “sends” the resolved URL after any redirect rather than the tracking links. I will excuse Facebook on that because there are already those bugs reported on their bug tracker and there is a commitment to fix them. They even not on the page about send that it doesn’t currently support fb_ref which is a way of adding specific Facebook tracking and we use as a fallback.

  5. says


    Did you have a chance to try the +1 button on SSL pages? I just wondering about that piece of code you suppose to put in the header. I could not find anything about implementing the button on the secure pages. Would appreciate your input.

    • says

      Vlad I haven’t tested it – I suppose it would just be a case of making sure the javascript can load from https – it possibly doesn’t canonicalize between http and https URLs though

  6. says

    That made me laugh. Seriously. Google should implement their rating button correctly before opening it to the public, unless it’s a test version (I haven’t checked their post yet anyway). Definitely a good idea per se, but I hope Google guys will come read your suggestion for a fix these days, before they get ridiculous. ;)

    ~ Luana S.

    • says

      They only read the canonical on the page the button is embedded, not the canonical of the defined destination URL

      You need to understand the documentation and the examples a little more and experiment – there is no way to achieve what I do with Twitter and Facebook

  7. says

    Hey Andy, it’s just in here that I have found out about the new Google +1, and I think Google just made a mistake? And I hope so, too, that they find your suggestion! :D

  8. says


    I appreciate all the work you put into the detailed comparison of the implementation of Plus One versus Facebook and Twitter, but Plus One is completely unlike the others.

    Facebook and Twitter shares tell your friends about pages you like, but Plus One changes the search results your friends see in Google search.

    Far more important, Google has telegraphed their longer term intention to use Plus One results to influence the search results everyone sees! Maybe they won’t follow through on that intention, but if they do use Plus One results for global search ranking, it will be a very important development of a completely different character than Twitter and Facebook social sharing.

    • says

      Please +1 my content so that it can rank higher in Google… sorry that doesn’t work

      Twitter is too full of bots to get real value from it… Facebook is going the same way, but both influence search too.

      We will see what people do with it, but please understand, this post was a technical comparrison, not judging the value of which button to click.

  9. says

    Great article Andy! I would have to agree with Alex. Though this was inevitable and a hand that had to be played by the Google Kidz. I think we’ll soon see this added to the distinguished Orkut, Buzz & Wave list of failed attempts. Just saying…

  10. says

    Actually, although Google are never first for anything, I noticed this +1 button soon as it appeared on my blogger blog and I think it looks smart and attracts attention – at least Google buttons are colorful! I promptly +1’d my top 3 blog posts! But do you really think it will have an impact on the ranking of your site?

  11. says

    Hey Andy,
    Wow I didn’t know there were so many issues with Google +1, this would make for a great wordpress plugin… if they could code it properly as you said. I think I’ll wait to put it on my blog.

    • says

      There are already plugins that use the permalink… for just a blog you don’t really need the additional tracking functionality. Unless you are paying ‘000s a month in PPC

  12. says

    Andy since this is so new I think Google will progress as time goes on. Hopefully they will see your suggestion which makes since.

  13. says

    I think Google may have jumped the gun on this one without thinking it all the way through. It’s a shame really because having a Google +1 button makes sense from a logistical standpoint, and kudos to them for trying. But because of all of the issues you pointed out above, I think another couple rounds of testing should have kept this thing private a bit longer.

    That said, I’m sure they’ll fix it.