For the most part, I hate the querystring. As a developer, it’s a liability that I have to code for because of all the damage that could be done if it is not treated properly.
But the bigger reason why I hate it: it is ugly. The URL is an ugly thing.
For starters, when the HTTP protocol was designed, it wasn’t intended to be seen by humans. But, we’re all so used to it now, and infer from it when we are or are not on a secure connection, so I’m okay with it.
But, back to the querystring. It was designed to function as it was named – to preform a query. Something like a Google search, although Google wasn’t around when it was created.
But possibly one of the most popular ways it is used today is for tracking incoming clicks on links posted to social media.
Let’s deconstruct the querystring on this URL, which I chose solely because it is the first link in my browser history to appear in a search for the characters “utm”.
Look at that big ugly thing! The only part of it useful to you, the reader, is the base of the URL, with the querystring omitted.
So what’s the rest of it, and why does it bother me?
This is all a bunch of stuff for the publisher to track how you (may or may not have) ended up reading the article.
But this information is inaccurate. For starters, if most people share a link, they do not take the time to truncate that data. I do, but I am not typical. So, if I get that information in an email that went to me and several colleagues and click it, then the meaning that will be derived from that is false – I did not find it on Twitter through whatever campaign they are tracking.
What to do about it?
Just make it look better. Make it unobtrusive so a picky developer like me doesn’t take the time to rant about it.
So, use a URL shortening service? No.
I think we should just add a nice little unobtrusive trail at the end, and leave the deciphering of that to the reporting service that is being used to track these incoming visitors and the sources that sent them. Perhaps similar to a hash used by a URL shortening service, or even that hash itself.
When I go to Bitly to shorten the above URL, I get this link:
Well, why not form a referral querystring like this?
I think we can all agree that looks much nicer than the monster URL I started with, yet it offers value in the title of the post being embedded, and it still can contain all of the data in the original.
My $0.02, keep the change.