Using Google Analytics with multiple websites on the same domain name - google-analytics

I am developing a hotspot software. This software is used by multiple clients. Individual client page design is determined based on the initial GET parameters, e.g.
http://wifi.com/?client=1 will redirect user to http://wifi.com/ and will show pages for the client #1,
http://wifi.com/?client=2 will redirect user to http://wifi.com/ and will show pages for the client #2.
How to track:
Analytics Information for all of the clients aggregated
Analytics Information for individual client

I was considering two options, that I'd like to share:
Is to have multiple tracking codes. One for every client and one generic.
Is to use custom variables. More precisely, to set session-level slot 1 variable to client-id.
Is either of these solutions valid?

In case you want to use Universal Analytics you could use the cookieName parameter to use different cookies based on the client whose pages are shown.
ga('create', 'UA-XXXX-Y', {
'cookieName': '_ga_client1'
});
This means you have completely separate tracking cookies and therefor visitors and sessions for every client.
At the same time you could use a classic Analytics tracker to track aggregate data.

Related

Get google analytics stats for a user identified by a custom data layer property

We have the following scenario:
Website A has GTAG installed and tracks every page visit, sending a internalUserId along in the dataLayer (when the user is logged).
Website B is a CRM where we list all users, and it uses the same database as Website A.
In the CRM we need to see what pages each of our users have visited.
Proposed solution:
Ideal solution: call Analytics API passing internalUserId and returning a list of pages the user visited.
Alternative 1: make Website A call an internal API that registers a visit, along with any other metadata. Unfortunately the dev team behind Website A wants to avoid this approach as it will send yet another request on every page, thus slowing the page down.
So the suggestion was to leverage analytics to gather this information.
Alternative 2: somehow instruct Tag manager to call an external API every time a visit occurs, and send along any meta data. I don't actually know if Tag manager offers this service or not.
The alternative 1 & 2 will mean that we will store the visit stats, while the ideal solution will use Analytics stats.
So the question is:
Does Analytics API offer the ability to query for a specific user identified by a custom property, internalUserId, that we set using dataLayer, and return that user's stats (visits) ?
Thank you very much
I don't believe you can query Google Analytics API using your internalUserId unless you set it as the user ID in GA, which may lead to limitations. You'd be better off merging the data by collecting the _ga cookie along with you internalUserID values. Look up all user activity by _ga and then merge to your CRM data with internalUserID.
I don't believe alternative 2 is possible.
Alternative 1 would require you store the data yourself and a client side call, but you'd avoid ongoing GA API usage. The calls from client side could be minimal. Use a Cloudflare worker to fetch and process only the data you need, that could be an interesting solution.

Google analytics - allowed hosts

I'm seeing entries in my analytics data for pages that no longer exist.
This could be developers looking at legacy versions of a site, it could also be triggered by something like wayback machine.
Is there a way to either identify what hosts an analytics tracking pixel is being triggered on, or restrict analytics to only execute on either a set of domains/hosts or ip address
LinkedIn campaign manager and Hubspot have features where you can tell the tracking script what domains to include/exclude
This is different from excluding ip addresses when setting up filters
Thanks
you can use filters on view level (Universal Analytics, not GA4) in order to exclude or include specified domains to ga data. Keep in mind, adding or removing filters work for new collected data only. Maybe add an additional view, so one view contains all data (based on your ga setup). With this solution GA collects data but will not show the data in the filtered view.
In order to fire the ga tag on a specified domain, specify the host in the trigger in Google Tag Manager, if it is implemented on page. This setting the tag will not be fired on other domains.
If there is no Tag Management on the page, you can check the domain using js before firing the ga script.
Keep in mind, that it is possible to send data to GA without fireing the GA tag by using Measurement Protocol. So if a lot of spam data appears in the interface, may add additional filters to exclude this data aswell.

How can I get website analytics data of bots and users with no javascript and/or cookies?

Is it possible to get the info about website traffic without Google Analytics, for example?
For tracking without Javascript you can use the Measurement Protocol, i.e. you send a request to the Google Analytics Server with query parameter that specify the type of interaction (pageview, event etc) and the data you want to track.
General info is found in the protocol reference, a list of valid parameters is here, and if you want to test your tracking requests you can use the hit builder, which allows you to assemble, validate and send a hit to Google Analytics.
As for tracking without cookies that probably won't work very well. You need a persistent id to assemble hits into sessions, and sessions into visits. Such an ID is usually stored in a cookie (your "no javascript" requirement means that things like local storage are out of the question). You can either decorate all your links with a client id and use that to persist the parameter from page to page, or you use some sort of server-side browser fingerprinting.
All in all this might be somewhat less trivial than you assume, especially if you do not only want to track pageviews but also events that do not load a new page.

Can you implement google analytics with no domain binding?

We have a web service which is installed on different stations. Each has a different ip and domain. we want all of them to report to the same suite.
Can this be done?
The JavaScript tracker for Google Analytics can be used if you allow calls to the Google Servers, if you allow your clients to execute JS and either can set cookies or provide a client id in some other way (must not be personally identifiable data).
If you cannot use Javascript then you could still collect data via the measurement protocol, although this might require substantial development effort.
The domain setting in the Google Analytics interface does not affect data collection, it is used in the (soon to be removed) in-page analytics feature and as base url for the "open document" feature in the behavior reports.
Google Analytics does not collect by domain, but by property ID (UA-XXXXXXX-X), else cross-domain tracking would not be possible (it is actually a documented feature).
Cross domain tracking would be important if somebody could hop from one of your stations/domains to the other and you wanted this to be tracked as a single session. This does not seem to be your use case.
The only pitfall is that the reports display page paths, not full URIs. So if you have similar paths on all your stations the metrics for the page paths will be lumped together unless you do a breakdown by hostname. A common workaround is to add a filter to your data view that prepends the hostname to the path, or to provide custom paths in the first place.
But basically this is not a problem. If you do not need cross domain tracking you'll be okay if you dump the same tracking code in all your sites.

Setting up google analytics for different domains

I have a web site that several parts are hosted in a different name server. but they are practically the sub parts of the same sites. (i know it's badly designed)
Currently, i get analytics data for each domain. but what i don't like about that is when you are jumping to the other domain, it marks as a drop off. Is there anyway that i could setup analytics in such a way that it treats both domains as a single website?
You are looking for cross domain tracking. Google has quite extensive documentation on this. Follow the instructions for Cross Domain Autolinking, manual linking is usually unnecessary and somewhat error prone.
The basic idea is that, since the cookie that stores the client id is domain specific, the id that identifies users must be carried over in some way from one domain to another. This is done by putting it in the url, in a parameter named "ga". If the other domain is configured for cross domain tracking it will take the parameter from the url instead of generating it's own client id. When GA processes the data on the serverside it will recognize that the calls from the different domains (but the same client id) belong to the same session.
Google Analytics (via the autolinking plugin) provides functions that automatically "decorate" links and form, i.e. they add the ga parameter to the links that point to the linked domain, or to form actions. This works well with plain links and forms, but might not always work with javascript callbacks on the links that redirect instead of just following the link.

Resources