Google Tag Manager and Goals - analytics

I know how to create and apply tags for eccommerce within Google Tag Manager. Do I also need to set up goals in analytics to track revenue/transaction? If it's not necessary, is there any benefit to also setting up goals or can this all be tracked through Google Analytics and recorded because of the GTM?

Yes, you would/should set up goals in analytics to track revenue and transactions. GTM won't be able to tell what are goals or not, so that 'interpretation' would be done in GA.

It is also useful for conversion funnel analysis. You can analyze every step before transaction.

Related

Show user statistics using Node.js

I am building a web platform using the MEAN stack intended to be used by different business in the same field. I want to be able to show the businesses using my platform statistics about who visited their pages, how many bookings were made through the website.. etc.
I know of tools such as Facebook or Google Analytics that can collect statistics about my web application. Is it a good idea to use these tools and then query them to display customized statistics to each user? Or are there other better alternatives? I'm using AngularJS 1 for front-end.
I am a beginner so detailed advice would be much appreciated.
You have to be specific about exactly what statistics you need to collect. What you mentioned seemed to be stats that are application specific. Google Analytics is not appropriate for that.
We are not supposed to recommend tools on Stack Overflow because that is completely subjective. However, I will say that one very popular tool for collecting stats in Node is statsd.
But basically I think you should make sure your requirements are clear and then tailor a solution for that, rather than trying to select a tool first.

Spatial Search Objectify, appengine

I want to use, objectify for spatial search. I have entities that have longitude and latitude associated with them. Latitude and longitude information is dynamic e.g. service providers (like electrician, carpenter) in a city. I want to implement a query that gives me service providers providing some specific service in 1 Km radius. Searching on google reveals following options
Use Objectify with geohashes - Not sure, how accurate and scalable this solution is
Use Google Search - It will need entities(or part of it) duplicated in the form of documents and Will it be able to support dynamically updated locations.
Use other database like mongodb
Assuming few millions entities and latitude/longitude dynamically updated, please suggest me an appropriate option.
thanks
Ittium
I've used geohashes. It works, although you end up selecting more data than the exact bounds you are looking for and then filtering out the extra. This might or might not be a good solution depending on your specific application. It requires writing more code but has fewer moving parts (all in the datastore).
Google search and "other database" are basically the same architectural pattern - use the task queue to replicate updates to an external index. If you want a quick solution, the search service is probably is the easiest to wrap your head around.
Just pick one solution and run with it for a while. You can always reindex the data into a different solution.
It really depends on your query rate but I usually prefer to use google search. Building and maintaining docs is pretty simple and you get a different quota to handle this queries.

advice on appropriate database for click logging reporting

I am about to build a service that logs clicks and transactions from an e-commerce website. I expect to log millions of clicks every month.
I will use this to run reports to evaluate marketing efforts and site usage (similar to Google Analytics*). I need to be able to make queries, such as best selling product, most clicked category, average margin, etc.
*As some actions occur at later times and offline GA doesn´t fullfill all our needs.
The reporting system will not have a heady load and it will only be used internally.
My plan is to place loggable actions in a que and have a separate system store these to a database.
My question is what database I should use for this. Due to corporate IT-policy I do only have these options; SimpleDB (AWS), DynamoDB (AWS) or MS SQL/My SQL
Thanks in advance!
Best regards,
Fredrik
Have you checked this excelent Amazon documentation page ? http://aws.amazon.com/running_databases/ It helps to pick the best database from their products.
From my experience, I would advise that you do not use DynamoDB for this purpose. There is no real select equivalent and you will have hard time modeling your data. It is feasible, but not trivial.
On the other hand, SimpleDB provides a select operation that would considerably simplify the model. Nonetheless, it is advised against volumes > 10GB: http://aws.amazon.com/running_databases/
For the last resort option, RDS, I think you can do pretty much everything with it.

Confused about Google App Engine and Google Docs options

I want to use the Google App Engine to store my data and then query/display/ edit it using Google Spreadsheets as the user interface, with multiple concurrent users having their own view of the data. The problem I have now is that if I put everyone's data on the same Google Spreadsheet that everyone accesses, we can't each do sorting / filtering at the same time.
Is there a way to do this, and is it a good idea to build a simple system this way? I'll eventually need to query a series of Google Word Processor documents as well.
Can someone point me in the right direction on this or suggest other options?
I would ask what the advantage of doing something like this is as opposed to say hosting your application on Google App Engine and building a javascript front end with grids to help sort/filter and view data.
Anyway to answer your questions, you can build your interface over Google Spreadsheets using Google App Scripts. This will allow you to do things like authenticate your user, query, update and display data. If you want to merely display data it turns out that Google Spreadsheets has some built-in functions to do that.
Regarding consistency you should read up on GAE's Datastore as well as its features like transactions. The datastore is not an RDBMS, but is an object database which stores objects against keys. Again something to consider if you are planning to do a lot of data analysis and computation (summations, aggregations).
Overall I would recommend doing a rough design of your system without fixing on particular technologies (like GAE, and Google Spreadsheets). Once you identify what your key goals are for your application, then you can figure out which technologies and resources would make the most sense within your budget.

resource usage for each user in app engine

Is it possible in Google App Engine to get resource usage by each user.
Basically, the app is to be used by each user separately. There is no data thats shared between users (Simplifying a bit here, as its projects which are separate, to which users belong). I dont want to blindly charge users the same value, but rather find out the actual usage of resources by each of them, and charge them for the same. How could this be done in Google App Engine.
Also, lets say I create an app in App Engine for Google Apps Marketplace. And, I want each of the companies to pay for there usage of app. Does the problem remain the same in this context also ?
Clarification:
The resource usage by each user might vary a lot. It might even be, that most of the resources are being used by a single user (ex: heavy usage doesnt mean abuse of app, just that one would have to pay for the usage). Thats why I am trying to find per user resource usage.
Having separate apps for each user/project is an option (as suggested below). But then updates to the apps wont be easy.
You can assess some of this using the quota API. This only records CPU used in your app, not in API calls, however. Appstats is capable of recording CPU usage for API calls, so with some work you could reverse-engineer that for your own purposes. For other quotas - bandwidth in and out, data stored, and emails sent - you'd need to record these yourself, manually.
A much simpler option would be to bill your customers per user, or per active user. Simply set those prices at a threshold where you make a reasonable profit off typical users. Your customers will probably thank you, too, as it's much easier for them to predict costs this way.
for your second question you can create a diffrent APPID for each comany and deploy the app exclusively.

Resources