Mobile hardware reporting for your web sites

If you've ever looked at our global marketshare reports, it's been clear that we've been detecting most mobile phone models for a few months now. We've been wanting to add this to the data for your own web sites as well, but first we had to make some optimizations to the way some data is stored for each visitor, because it was getting way out of hand.

Today we finally made these optimizations so we're able to attach this data to your visitors now. However, these changes affect the way that filtering works for the following data types - browsers, os, organizations, and hostnames. So any filtering you do for today (Feb 10) will probably be incomplete, as the change was made in the middle of the day. Filtering data prior to Feb 10 will still work fine, and anything after that will too, it's just this specific date that will have incomplete data.

We also are now providing a general hardware report, showing the top phone models used to access your web site. These are grouped by operating system family, as you can see in the second screenshot below. We've actually been logging this data for at least a month or so, but weren't reporting it. Note that since this data was not attached to visitors, filtering by mobile hardware doesn't work prior to Feb 10.

This data has also been added to the "Platforms" dashboard module (renamed from "Computer"), and has been added to the iPhone mobile interface as well.

Mobile hardware analytics requires a Pro or higher account.











5 comments |   Feb 10 2010 7:02pm

IP tags and filters now have wildcard support and are account wide

There were a few common complaints with our IP tagging and filtering system. First, each entry only applied to a single site. So if you had 50 sites, and wanted to filter out or name a specific IP for these sites, you had to do it 50 times. The other common email we received was that you wanted to filter out a whole subnet, so everyone who worked at an office could be easily filtered out of the their stats with one entry.

Well, your problems have been solved!


Wildcard filtering

You can now enter an asterisk * for the last octet of an IP address to filter out all 256 IPs in that range. For example, 1.2.3.* will filter out every IP address from 1.2.3.0 - 1.2.3.255. We didn't go super advanced and let you do e.g. 1.2.3.0/24 or 1.2.0.0/16 - that just gets too complicated. We think "Class C" IP filtering will be good enough for everyone except perhaps the uber-sysadmin.


Account wide support

Every IP tag and filter will apply to every site in your account, by default. Of course, you can change this default. Every time you enter a new IP you can choose between global or that site only (and you can change it later if you want).

All of your existing tags and filters have been converted to the global system, which we think is probably what 99% of you want. For the other 1%, you can go to tags and filters page and edit the ones you only want to apply to certain sites.
5 comments |   Feb 08 2010 5:45pm

Update on new tracking code

We've had a couple of reports from users that their traffic had gone noticeably down in the last day, coincidentally enough starting around the same time we released our new tracking code.

To be clear, most sites didn't have any problems, and their users are unconsciously thanking them for a faster loading experience. However, one thing became clear - the sites that were noticing a large effect also happened to be site that aren't exactly the fastest loading sites in the world.

As mentioned in our last post, the new method waits until the "onload" event has fired to track the page view. This doesn't happen until all javascript, images, and css are downloaded and parsed and your browser's "loading" bar disappears. (Safari does things a bit differently but that's not important here). So if your site has a bunch of third party widgets on it, or say 5000 images, or is hosted somewhere on an overloaded server or slow connection, the time for "onload" to fire can be as long as 10-20 seconds.

To address this, we've made a change to the code. Unless you have specifically defined the new clicky_custom.delay property, the tracking code will register an onload event as well as a timeout of 3 seconds to log the page view anyways. These won't both happen - whichever one fires first goes laughing all the way to the bank, and the other one goes crying home to mommy.

We think this is a good tradeoff. If your site loads in a decent amount of time, we'll wait for the onload event. But if it's slow, then we'll log a page view after waiting for 3 seconds to help ensure that we log as many of your visitors as possible.

If you want to override this either/or behavior, just specify the delay manually. Its value can be either "onload", in which case it will ONLY fire "onload", or the number of milliseconds you want it to wait (0 = no delay).
6 comments |   Feb 02 2010 5:46pm

Tracking code changes for a better user experience

We've just released a change to our tracking code that will help ensure the best user experience possible on your web site. You don't have to change anything on your site, the changes are in the code itself that is loaded via the script element.

Previously, as soon as our tracking code loaded, it would connect to our tracking servers to log the page view. The problem here is that if things aren't running under perfect conditions, that could interfere with the overall loading speed of your web site - especially if parts of your site depend on the "onload" javascript event.

We have changed the default behavior so that the initial page view is not logged until the onload event has fired. For users on very slow connections, or who browse between pages very quickly, this may result in slightly less accurate tracking. But we've been testing it all day on a few of our own sites (including getclicky.com) and there are no discernable differences in our numbers, so this should work well for everyone.

Of course, if you prefer the old behavior, you can change it via the new clicky_custom.delay parameter. Set it to the number of milliseconds you want the delay to be - "0" will result in no delay at all, emulating the old behavior. We recommend keeping it to the default setting however, unless it causes any problems with your tracking (and if it does, let us know).

The tracking code should be the very last thing in your HTML anyways, so changing the default to "onload" shouldn't change the accuracy - it will just let your site's "onload" events fire before we log data.


What about asynchronous javascript?

Google recently introduced asynchronous tracking for Google Analytics. Ultimately we'd like Clicky to have this option as well, but it's not as easy as it sounds and we can't make it the default behavior like we did with this change.

The main reason for that is because our tracking code has a number of javascript functions you can call after you include it in your HTML, and you're assuming that those functions are already loaded and ready. By changing to asynchronous, we'll have to create some kind of "queue" object for you to pass data to while you're waiting for the tracking code to actually be loaded (because you'll have no idea when that will actually happen). This will require a large rewrite of the tracking code, as well as a lot of documentation on the differences between the two methods.

The change we made today though should make a noticeable difference on your site. Logging data to our servers is generally much slower than downloading the tracking code, so this change makes a much bigger difference overall. Yes, the tracking code itself still must be downloaded before your onload event fires, but since we now use a global tracking code URL for all users, and we're tracking almost 180,000 sites, chances are fairly good that a user arriving at your site already has our tracking code cached in their web browser. And even if they don't, that will only affect their first page view. Every subsequent page view will benefit greatly from this change.

Of course, because they may have the old version cached already for up to 7 days, it will be 7 days before every single user on your site will be affected by this change. But in all likelihood, most of them will have it within 48 hours.
8 comments |   Feb 02 2010 12:02am

HOWTO: Only track visitors from certain countries

We get requests every once in a while to only log data from certain countries. We don't currently offer a way to filter out traffic other than by IP address. But there is a way to do this by adding a few extra lines of javascript to your site.

The service we use for geolocation is called Maxmind. They have a free javascript file you can put on your site that includes a few functions to determine that visitors location. You can use these functions to either call our tracking code only for certain countries, or only NOT for certain countries.

Say you only want to track US visitors. In the example below is our standard tracking code, with the additional code highlighted in red to only track US visitors. We're using [] in place of HTML tags:

[script src="http://j.maxmind.com/app/geoip.js"][/script]
[script src="http://static.getclicky.com/js"][/script]
[script]
if( geoip_country_code() == "US" ) clicky.init( YOUR_SITE_ID );
[/script]

This can be used with any country of course, you just need to replace US with the appropriate 2-letter country code (in capital letters). You can view a list of standard 2-letter codes here.


If you want to do more than one country, say only US and Germany, you can do like this:

if( geoip_country_code() == "US" || geoip_country_code() == "DE" ) clicky.init( YOUR_SITE_ID );


You can also track all countries except the ones you specify. Say you wanted all traffic except US and Germany:

if( geoip_country_code() != "US" && geoip_country_code() != "DE" ) clicky.init( YOUR_SITE_ID );


That's all there is to it!
2 comments |   Jan 27 2010 3:05pm

Next Page »




Copyright © 2017, Roxr Software Ltd     Blog home   |   Clicky home   |   RSS