Why use google analytics? [closed] - google-analytics

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
Okay, a lot of websites (about 50%) use google analytics. The idea is to know some basic information about your users. But I don't understand why the service is used by so many people, considering 3 things:
1) The code takes time to load. Even the async version takes time and the user sees the loading icon, a bad thing making it seem like your code is terrible or you can't pay a good hosting company.
2) It's a well know script and a some people block it.
3) Google (obviously) get's the data too. Now, don't get me wrong, but why give them free data sacrificing your uses privacy?
2 and 3 are not so important. 1 is. Given the above, what's the drawback of making your own analytics script and serving it to the users? What's the great thing google analytics does and you can't do on your own?

I would say two reasons:
A) It gives you a LOT of convenient visualizations and ways to slice the data - stuff that you would have to build independently. Again - if you just want to watch one number, it doesn't matter much, but you usually want a bigger picture and GA has put a lot of work into making most useful stuff easily available and easy to visualize.
B) Service reliability - basically, the first 10 iterations of whatever solution you choose to implement WILL have bugs (as any programmer who has worked on any meaningful projects knows).
Outsourcing your analytics to GA therefore just saves you a metric ton of time that it would take to reimplement everything yourself and get it working reliably.
As for speed issues - you can always disable GA on the few pages where speed is critical... although considering that page is usually the landing page of the app, that might not be too smart of an idea...
However - in the vast majority of cases, the async GA code is not really the bottleneck for your page. You are probably better off optimizing other aspects of your javascript on the landing page, as the "loading" icon is really something most users do not notice.

Related

E-customer behaviour in a Web application [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I would like to know what are the main tools in the market for analysing/implementing E-customer behaviour in a Web application.
I just know Google Analytics which tracks client-side activity but maybe there are many alternatives using client and server-side scripts.
I already posted this question on webmasters.stackexchange.com E-customer behaviour in a Web application, but it has been closed and cannot understand why!
There are a vast array of tools to analyse user behaviour on a website. Ecommerce or otherwise.
Google analytics has options like:
Ecommerce
Ecommerce custom variables
Goals & Funnels
Goal flows
etc. which are useful in understanding things like drop off points, conversion rates, typical customer path and other shopper metrics.
Other analytics packages useful for ecommerce / website behaviour:
Clicktale
Crazy egg
Getclicky
and more. Some of these have a live / spy feature that allows you to see what users are doing realtime.
And the best way is to actually watch a recording of your users behaviour complete with keystrokes and mouse clicks / movements.
User recording tools:
MouseStats
Ghostrec
Inspectlet
Mouseflow
Most of the above also do aggregated heatmaps and overlays to give you an insight into what users click most or what catches their eye etc.
Incremental improvement to your website:
A/B testing or multi-variate testing are all the rage now. With A/B testing be aware of local maximum and also avoid the common mistakes people make with testing. Google content expirements (formerly known as google website optimizer) now is part of Google Analytics and you can use this to do testing.
References / more reading for analysing and setting up ecommerce user behaviour:
Stalking Users
Driving online sales
Web Analytics Solution
First of all you need to choose a general propose Web Analytics Solution. Since you are an E-commerce you want to choose one that has good support for tracking E-commerce data.
Google Analytics is the obvious choice here not only because it's free but also because it's better documented and easier to implement.
depending on your size it may make sense to implement a more Enterprise level Ecommerce solution. You may want to take a look at Adobe Omniture and IBM CoreMetrics. They are much more expensive not only because of the licenses but on an implementation perspective. It may take months to implement one of these other tools and the cost of the implementation can be almost the same as the costs for the licenses. Still if you need more enterprise level analysis and integrations with other BI solutions it may be worth taking a look at these.
Note that Google Analytics also has a Premium Edition. This is a fairly new alternative and provide some extra features and early access to beta features.
Product Recommendation
Depending on your Ecommerce platform you might already have some kind of product recommendation or up-selling. You usually can improve these systems based on analytics data. There are just a few options on the market, and most companies doing this tend to develop their own recommendation engine.
If you're just getting started with it, it might be worth looking at LiftSuggest. I haven't tried it but they seem easy enough to implement and leverage Google Analytics data to improve cross-selling.
HeatMap
It's easy enough to implement and may provide some nice isights. I find them more distracting usually but every now and then you can make good use of them. The most common seen around are CrazyEgg and ClickTale.
Behavioral Targeting
This is a technique to customize your site based on a previous knowledge you have about the visitor in order to increase his conversion rate. Tools don't help you much here, since you have to customize your site and no tool can predict how to do that. One common approach is to create buckets depending on factors that you can infer. For example: Users with Internet Explorer might be less tech savvy and thus might be more interested in non-tech products. On the other side Linux users are probably on the technology field. So you can put users on buckets depending on which country they came from, which browser they're using or if they are logged in you can use the information they entered on their profile or based on previous purchases. One tool that helps you doing that is called BTBuckets.
A/B and Multivariate Testing
Google analytics has an A/B testing tool integrated with the tool. Another Good tool that provides both A/B and Multivariate testing are Unbounce, Optimizely and Webtrends Optimize.
Custom Solution
Everybody these days are developing custom solutions. If you still have money and time to spend on Web Analytics after you exausted the other options you can look into building your own. Collecting the data the way you want and analyzing the granular data. Here solutions range fro server side to client side collection, but for the analysis they are usually done with Hadoop or with a OLAP Business Intelligence Tool like Microstrategy.
What you're looking for is a called Customer Relationship Management software, or CRM. They vary greatly, so without an in-depth understanding of your exact needs it's impossible to recommend specific ones. Any good CRM will let you analyze your site visitors in various ways. For example, you can see if customers bought X, they often came back and bought Y one month later.
The difficult part is integration because these systems need information about orders and other user actions. If you're using an off-the-shelf e-commerce package, there are often CRM options readily available.
For a "lighter" system you can use Google Analytics or similar, since it lets you send tracking, conversion, and sales information from the browser. It's great for analyzing the overall success of the site and tracking user actions across pages, but less powerful for sales-specific reporting and analysis.

Handcode or not, new e-shop? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
As a junior developer, I mean without great experience, what would you do for a client about an eshop? Start from scratch and handcode an e-shop(simple one)? If yes are there any good tutorials you suggest?
Or buy something ready, lets say VirtueMart templates for joomla or a similar solution for Wordpress?
Even if you described yourself as an expert I still wouldn't recommend that you write an ecommerce application from scratch unless
your client does something very specific that can't be made to fit an existing solution
your client has huge amounts of money and doesn't want you to deliver anything for months (or more)
you can offset either of the above because your business plan is to develop the next Magento and you have the resources to hire a development team and market your solution
Displaying products on the front end is relatively trivial. The rest of the iceberg e.g. security, user management, the back end (admin interface) of your website, tax calculations, shipping, cart functionality, templates, payment gateways etc. would take considerably longer.
Unfortunately, even if you deliver you would still be behind the competition when your client says: "I want feature x that I've seen on website y" and you have to quote for bespoke development instead of installing or enabling a module on a ready-made application. Unless they're prepared to spend a lot of time and money they will soon look for an alternative.
If you're already using Joomla, I'd recommend installing the Joomla + VirtueMart bundle here:
http://virtuemart.net/downloads
If you're using WordPress take a look at ShopperPress or Get Shopped.
There are many more out there (Magento, osCommerce, Zen etc.)!
The most important thing to do is to match your client's requirements with the features of the application you feel comfortable using.
I would definitely not hand code or encourage this.
It is not sustainable for the client unless him and you are going to work together for the next millennium. What happens is that in a year or two they want new functionality, and if you are available, you need to have done a very very good job of structuring and commenting your own code to remember it yourself (as a new developer you learn new things every day, and solutions I did a year ago, I would restructure today).
The even more likely scenario is that another developer, system designer or graphic designer comes along, and it will be pointless, enormously time consuming and costly for the client to have person number two dig through your code.
Your time is better spent learning solid cms-systems and improving those, rather than reinventing the wheel. There are too many sites out there that are made as one-offs, and therefore often unmanageable in the long run.
I understand that programmers wants to progam, and the temptation to start with a blank editor page, but it is not good for the client, and it is not good for you reputation down the road.
Use your skills to make unique and custom made plugins, functions etc for your client. Do not waste your time building frameworks that others have already - and most likely - done better.
..and make sure you pick a cms your customer can handle. Do not give him joomla or drupal, if he is of the sort that can barely figure out how to publish a post in wordpress.
You might take this opportunity to learn about recent Web technologies and tools, in particular non-PHP based things like Opa language or Ocsigen library or perhaps Kaya; these tools probably have some useful infrastructure for your needs.
You might also checkout ShopAlternaMart for WordPress
I'm happy with opencart, an open source e-Commerce (see my site here, if you like). There are of course many others.

scrum and refactoring [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
If everything in scrum is all about functional things that a user can see is there really any place for refactoring code unrelated to any new functional requirements?
I don't think that this has as much to do with Scrum as it does with project management philosophy.
Regardless of whether a project uses Scrum or not, many project managers do not like developers spending time on "unnecessary" things like code refactoring or restructuring that doesn't directly advance one of the outstanding functional requirements. It's not "work that yields results" like normal development, it's "work that prevents a delay of results later". Given the typically short time-lines used for Sprints, the benefit is often hard to see and nearly impossible to quantify.
Keeping code maintainable needs to be an item on your burn-down list (if you use a Scrum). It is just as important as new development. While it may not seem like something that is "visible to the user", ignoring it increases your technical debt. Down the road when the technical debt piles up enough that your code's lack of maintainability slows down development, the delays in new feature development will be visible to customers.
It's all a matter of management/philosophy. Instead of looking at refactoring and maintainability enhancements as "extra" work that doesn't impact customers, it should be viewed as a time investment to prevent customer-visible delays (and potentially bugs as well) down the road. Developers can sometimes see these benefits more clearly than managers can; if your manager doesn't understand the disadvantages of neglecting maintainability, you might want to grab several other developers and have a chat with your manager.
I think there is a fair case to make for technical debt refactoring where the effort/cost impact of maintaining the code is as high as, or higher even, than the cost of refactoring it to improve quality or work better / properly - specifically to lend it a higher degree of maintainability.
eg: if the software is so problematic you are losing customers, or money, you'd act fast to fix it.. Some might argue this is a business requirement of it's own, but it's often not placed front and centre on small to mid sized development projects, which instead focus on the technicalities of creating apps rather than the impact of the quality of the app on the bottom line.
I think you are probably talking about large scale refactoring rather than the continuous refactoring you would do whilst in the whole red-green-refactor cycle.
My approach would be something like this, if reafactoring an old feature makes it easier to add a new feature then go ahead and do it. But in some ways you are right, if there is no pressure on a particular unit to change (i.e. it is completely finished and will never change again and will never impact on other modules) then there is no practical need to refactor. However I rarely find a module that is quite so finalised.
If everything in Scrum is all about functional things that a user can see (...)
Any project and methodology should be about generating business value, you rarely do things just for the fun in a business environment. Having that said, I see quality in Scrum (and other Agile methods) as a way to not kill your velocity on the long run and, ultimately to achieve hyper productivity. I thus believe that a typical "Definition of Done" should include something like "no increase of technical debt" (put your quality standards in there). If you think a new feature will impact existing code that should be refactored, include this cost in the estimate (or create a refactoring item in your Product Backlog) and explain things to your Product Owner. Because at the end, it's up to the Product Owner to prioritize items and to decide if quality can be sacrificed temporarily (if your business die because you don't release a feature, what is the point of refactoring existing code?). But he must be aware that this can't be a long term strategy or he will kill the team velocity.
bta: Regardless of whether a project uses Scrum or not, many project managers do not like developers spending time on "unnecessary" things like code refactoring or restructuring that doesn't directly advance one of the outstanding functional requirements.
Definitely a noteworthy observation; my solution to this would be as follows:
Perform regular code reviews. Every code review should recommend actions to improve on deficiencies in the code.
There is now a requirement for jobs which improve code quality. Build these into the sprint and track them in the same way as any other job.
If your manager needs any more convincing, cast 'the maintainer' as a user, and describe some user stories for them - and then 'features' are things like 'the code is fully commented with xml doc comments' and 'the code does not produce any warnings from ReSharper'
If you can justify it as part of the process of completing other tasks by identifying issues/risks with current sets of code, and it is a better end result, go for it. But don't get overzealous and screw the timelines/budget.

Website Analytics - haveamint.com or Google Analytics? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Is there a comparative analysis available for Mint and Google Analytics which can help me decide which one to implement in my situation?
For every website I work on I only use Google Analytics. My main reasons:
free -- for unlimited sites and hits
no ads
I don't find it hard to use and my clients haven't found it hard either (most figure it out within minutes)
it has an API, so if you want more, you can add your own stats or even incorporate into the site
for ecommerce, the extra tracking for ecommerce is great
there are theories that it might even help your Google ranking (as they gain extra data about your site)
a lot of people use it, so often the JS is cached
easy to setup (I don't know about mint, but GA is a few lines of JS)
connects to adsense so the stats can be tracked together (I don't know if others support this)
... and more.
Mint is simpler, always up to date, and has a lot of plugins aimed at blogs and personal sites. Google Analytics is more complicated and takes a little time to understand, is updated daily, and has more features for larger sites such as marketing, e-commerce and such.
On my own sites I started with Mint, used both of them for a while, but now I'm pretty happy with just Google Analytics.
I've been using Google Analytics in an enterprise environment for a few years now. There are certainly limitations, in particular with merging to other datasets. The API has been invaluable to bridging this gap, and really encouraging stakeholders to ask better questions.
In my opinion, evaluate both and work out the strengths and weaknesses based on your business requirements.
Why have you opted for these two possible options in particular? There are a number of good packages out there, many of which are free and offer excellent services that may provide compelling advantages over the "default" choice, Google.
Have a look at this ReadWriteWeb post that compares 10 free analytics tools for starters.
I use Clicky on my site and find it to be an excellent alternative to GA.
If you are interested in open source server-side analytics you should check http://piwik.org/. I did not use it myself but I've heard good it's decent, comparable to Google Analytics. I myself use GA and I'm happy with it. Just get some additional testing like Kiss Metrics and you should be fine :)
I recommend GA so that as your site grows bigger, you are already on top of a fine analytics tool. Mint is fine for now, but you need to plan for the future, too.

Runtime Page Optimizer for ASP.net - Any comments? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
RPO 1.0 (Runtime Page Optimizer) is a recently (today?) released component for ASP and Sharepoint that compresses, combines and minifies (I can’t believe that is a real word) Javascript, CSS and other things.
What is interesting is that it was developed for ActionThis.com a NZ shop that saw at TechEd last year. They built a site that quickly needed to be trimmed down due to the deployment scale and this seems to be the result of some of that effort.
Anyone have any comments? Is it worthwhile evaluating this?
http://www.getrpo.com/Product/HowItWorks
Update
I downloaded this yesterday and gave it a whirl on our site. The site is large, complex and uses a lot of javascript, css, ajax, jquery etc as well as URL rewriters and so on. The installation was too easy to be true and I had to bang my head against it a few times to get it to work. The trick... entries in the correct place in the web.config and a close read through the AdvancedSetup.txt to flip settings manually. The site renders mostly correctly but there are a few issues which are probably due to the naming off css classed - it will require some close attention and a lot of testing to make sure that it fits, but so far it looks good and well worth the cost.
Second Update We are busy trying to get RPO hooked up. There are a couple of problems with character encoding and possibly with the composition of some of our scripts. I have to point out that the response and support from the vendor has been very positive and proactive
Third Update I went ahead and went ahead with the process of getting RPO integrated into the site that I was involved in. Although there were some hiccups, the RPO people were very helpful and put a lot of effort into improving the product and making it fit in our environment. It is definitely a no-brainer to use RPO - the cost for features means that it is simple to just go ahead and implement it. Job done. Move on to next task
I decided to answer this question again after evalutating it a little.
The image combining is really amazing
The CSS and Javascript is nicely minified
All files are cached on the server meaning that the server isn't cained every time it makes a request
The caching is performed at a browser level, meaning it will still work if you use an old (unsupported) browser because you'll just recieve the page un-compressed
You can see the difference youself Optimized vs Unoptimized
The price is as follows...
$499 until the end of september is a steal
$199 for an annual renewal is a steal
I love how RPO is plug and play.
It will take time to create a module like theirs and depending on work load can be worth the $750/year versus the development time it takes to re-create it.
I'm very excited about RPO and reviewing it's effect on my sites.
Something I used quite recently was page optimization module from I found on Darksider's blog. It it not nearly as intense as what RPO sets out to achieve, but a nice start block to building your own optimization module if that's what you're after.
Clarification on the RPO price. Launch price until end of September 2008 is $499 - and this discount is by voucher (email service#getrpo.com to get a voucher). This includes software assurrance for 12 months, after which you can choose to renew for $199 or not - the software still works.
The RPO automates 8 of Steve Souders/Yahoo's principles for High Performance Web Sites - the important thing for us was making a developer friendly tool - you can keep your resources in the format and structure that makes sense for development and the optimization happens at runtime.
I don't want to spam this forum with sales stuff, so just email me if you have any questions - ed.robinson#aptimize.net. Thanks for looking at the RPO.
Ed Robinson, Chief Executive Officer, Aptimize Ltd
I've been a user of the RPO since beta and have it deployed in anger on two of my sites:
http://www.syringe.net.nz (My blog) and
http://www.medrecruit.com (A company in which I have an interest)
I've done a longish winded blog post on the whole why not just turn on caching question here:
http://www.syringe.net.nz/2008/10/21/RuntimePageOptimizerWhyNotJustEnableCachingInIIS.aspx
The short summary version- Caching is a nice to have for people who aren't really geared up to turn it on in IIS (it's still not super easy in IIS6)... the real power is in combining resources as it's latency * request count that really kills your performance.
minifying and gzipping commonly called scripts and style sheets is totally worthwhile - the file size reduction speaks for itself. That's something that you can do through your webserver, without the help of another product.
However, merging scripts and styles and serving them together is an interesting idea from a general 'the fewer requests the better' standpoint.
It looks like interesting technology - I'd try it out. It almost certainly couldn't hurt.
Just had a little look, a lot of the things they offer you should be able to do yourself with a little palnning and foresight (combine all javascript files, combine all css, minify, enable GZip...
$750 a year seems a little steep, and theres no options.
(edit)
After speaking with the marketing bods, it's $499 until end of september, and renewing the liscence will be $199. That persuades me a lot more!
I'm going to give it a whirl and then see how much it improves our DEV server.
I personally have been using a product called PageBlaster by Snapsis that does caching, minification. It is primarily used in DotNetNuke applications, but if I recall correctly it can be used with any ASP.NET application, and the price is right.....

Resources