Remote analytics tracking for multiple sites - google-analytics

I am trying to track some basic data from multiple domains (Monthly hits, Session length, etc). Each domain is owned by a client, and it is a business requirement for me to have access to their statistics.
I have the access needed to add in a tracking code to each domain, similar to GA's tracking code. Each of these should transmit data to my master server, which consolidates and stores the info.
What would be the best way to go about doing this? Is this sort of tracker best built from scratch, or is there an open source analytics provider which can meet this specific use case? (Many tracking end-points, single database)
I will be aggregating the visits, duration, etc for each user separately, so as to compare and rank them against each other.

Hello Sainath Krishnan,
In general terms, it all depends on how you want to see these data: whether you want to aggregate all the sites together, whether you want to see the users as only one across these multiple sites, and so on.
For instance, since you've installed the proper tracking code, which you administrate, on these site, you will be able to see all sort of traffic data that these tracking codes will send to your Google Analytics account and properties.
Could you be more specific regarding the way you want to see the data, or even if you'll deal with goals os specifics KPI's ?

Related

How would you identify if a visitor to one of your sites is the same person who visited another site of yours before (different domain)?

My question is more of a conceptual one, but in my specific case I am using Google Analytics 4. If the question is unclear, here it is in scenario form: Some guy visits my site x.com after a google search. He closes the tab, does another google search, and arrives at my other site y.com. How do I know it's the same person? I don't think there's anything I can do with User ID's in this situation. How would I solve this?
This isn't without fault, but if you are implementing it via Google Tag Manager, you have more control over the data being sent and on top of that, if you are transporting the data via Google Tag Manager server side container.
You would use a single server (but possibly different containers) or use BigQuery and either use the templateDataStorage API call or the BigQuery API call.
Essentially, the first time you see a google cid or an IP address or combination of user agent and ip address you would store it in the server or in a BigQuery table as a key and create a random associated value next to it.
At each time, across all your sites, you would check to see if the IP address or CID or combination of user agent and ip exists in the server or in the BigQuery table, then output the random value as a custom dimension and if not, it will create one.
Actually you probably wouldn't.
Presumably you could try fingerprinting, but depending on your legislation that might not be quite legal, and it tends to work a lot better in a lab than in real life. Also browsers start to implement anti-fingerprinting measures such as trimming the user agent, and denying access to browser properties such as installed plugins.
I have heard of experimental approaches to recongnize users via usage patterns - e.g. how do they move their mouse etc. I am not aware of any actual product that uses this, and I am not convinced it is a useful (or even legal) approach.
But in general, when it comes to cross-domain detection for unrelated visits (moving from domain to domain works via link decorators, and even that is affected by browser protections) you have the combined power of browser vendor against you, who try to make this harder (either for genuine concerns about privacy, or to establish themselves as the single gatekeeper for user identity. E.g. Google has a huge user base that is almost constantly logged in to Google accounts or Android smartphones, which helps with identifying users all over the web).

Can I grant Google Analytics users access to environment-specific filters/views?

So I'm looking at setting up Google Analytics (GA) for the first time. My app will have three environments (initially):
Dev
UAT
Prod
w.r.t GA I was curious as to whether best practice is to:
Create 3 distinct GA accounts; 1 for each env; or
Create 1 GA account and somehow keep the data separate
According to this accepted + upvoted answer, it sounds like the latter is the preferred way of managing GA across environments. And that the solution is to add filters/views to your configurations so that data from each envrironment gets filtered/routed to the correct environment-specific reports.
My only potential problem with this solution is that I need my developers to have access to the dev data in GA, product & QA to have access to the UAT data, and only a handful of key business/marketing folks to have access to the prod data. Devs should never have access to UAT or Prod data, etc.
I took a look around GA's permissions documentation and I don't see any way of granting users access to specific filters/views. Anybody have any idea how I could create a "Developer" role inside GA and only grant read access to filters/views/etc tagged or marked as being part of the development env?
Otherwise I'll need to sadly create 3 distinct GA accounts, one for each env :-/.
My GA setup is very similar to yours. I have a single GA account that has multiple properties such as web-dev, web-stg, web-prd, mobile-stg, mobile-prod, etc. Each of those properties have a minimum of two views. The first view I title 'Raw Data' as no filters should ever be set on this view to have access to the raw data collected by GA. My second view I call my 'Filtered View', which is the view I look at 99% of the time. In the filtered view, I exclude company IPs, bot IPs, vendor IPs, etc.
To answer your question about access to each property and view, they can be set on any level from the admin menu under the user management option.

Tracking a product's web interface with Google Analytics

My company creates hardware products that are sold throughout the world. They have an embedded webserver that allows for users to configure the product via a web interface. I wanted to enhance the user experience of this interface and the first step would be to start gathering analytics on how users move throughout the tool.
My question is how I should do this since there won't be a domain and instead some internal IP address that is used to access the product. For example, if their IT team installs the printer on 10.10.10.10, they almost never associate that with an internal server name and users would access the web configuration tool by directly hitting the IP. Even if they did create an internal server name like "config.productname.com", I would have no way of knowing what that would be.
This means I can't create a profile in GA to start accepting this analytic data. Has anyone done something similar in the past or have advice on how to address this issue?
Could the issue be resolved by using SiteCatalyst instead?
SiteCatalyst provides the capability to store visitor information inside any cookie of your choosing, and does not care which domain you place code on. Ultimately all data is sent to a subdomain of 2o7.net, however you can create a CNAME record so your site stores and writes cookies to any domain of your choice.
Within the s_code.js file, there is a variable defined that governs the domain the cookie is set:
s.trackingServer="yourorganizationname.2o7.net";
It would not matter where this implementation was tracking data from, they would all use the exact same cookie location, and be treated as the same visitor no matter which domain they viewed. Just keep in mind this is defined as a third-party cookie, and small portion of browsers reject 3rd-party cookies by default.
You might try Piwik or Open Web Analytics since you can deploy them on your own infrastructure and could modify them to meet your requirements.
If you have a serial number assigned to each device during manufacturing, you may want to use that to distinguish between devices, regardless of which analytics tools you use.
Note that as far as I can tell, Google Analytics doesn't actually care what domain you place the code on; they just use your domain specification to determine what sites the tracking cookies will be delivered to. That may not help you as you probably want the tracking cookies to work, but I point it out in case it turns out to be useful...

Fastest way to get basic information from google analytics api

My GA Account has a number(50) of profiles associated with it and I am trying to build an api which shows me the basic information like visits, bounce rates etc. for each profile.
This query gets me what I want from GA, but for each profile:
URL ="https://www.google.com/analytics/feeds/data?ids=ga:11111&start-date=2011-07-01&end-date=2011-07-02&metrics=ga:visitors&prettyprint=true&alt=json"
The id is table id and the metrics gives me the information I want.
Now the problem is, I want to show all the information together. So, everytime I will have to send 50 requests to the API, which just doesn't work out. Is there a way I can get the information for all the profiles associated with me in a single request?
You unfortunately will be required to perform 50 requests if you want metrics for 50 different profiles. You can easily automate this, however, by using a combination of the Management API and the Data Export API.
The Management API allows you to pull information about the account. For example, you can very easily pull all profile IDs and names associated with an Analytics account through this API for use in an automated query.
The Data Export API, which I am sure you already are familiar with, is the only way to pull collected data/statistics for individual profiles.
If you are concerned about speed, you might want to build an automated process that uses both the Management API and the Data Export API. Pull all of the profiles associated with your account with the Management API, then loop through each and pull the basic data you'd like through the Data Export API. Have this run at regular intervals based on your needs and cache it between runs. This way it won't execute every time the page is hit (though you honestly might be fine, depending on your traffic - I've found it to be extremely quick).

Tracking CPU and memory usage with Google Analytics

I'm looking for a good way to track CPU and memory usage for a variety of web applications and to be able to cross-reference this information with information on Google Analytics. For example, I'd like to be able to generate a report that shows the CPU and memory usage along with number of hits averaged over minute periods. One way I thought this could be solved is by adding custom page-level variables to Google Analytics for tracking CPU and memory usage. My questions:
For those familiar with GA reporting as it pertains to custom variables, is this possible?
Is there a better way to generate the kind of report I'm seeking? Perhaps even without using GA?
Thanks.
You can use the Google analytics API to push this data directly from the web page via javascript, or from the server using whatever language is relevant.
I've seen at least one large implementation use the API for UX A/B testing by way of event tracking, but there's no reason you couldn't store whatever related data you'd like.

Resources