Cross Application Tracking using the Measurement protocol - google-analytics

Hi I have a customer who is using Universal Analytics on their web page and then when you click on a link it goes into their app that is using measurement protocol.
They UA code is the same but the CID changes.
Example website:
cid=1387132168.1487081747
When i get into the app with the same browser
cid=47d9e140-f6ed-41c2-bd2d-9f3fb91df6b2
I suspect that Google Analytics starts a new user and session when the CID changes and just need some confirmation that that is the case.

The field Cid anonymously identifies a particular user, device, or browser instance. For the web, this is generally stored as a first-party cookie with a two-year expiration. For mobile apps, this is randomly generated for each particular instance of an application install.
You might consider seeing if you cant figure out how to assign a Uid and send that around between the web and mobile apps Uid will override cid.
Cid and Uid are both used to denote specific users and sessions. So yes if it changes its a different session.

Related

Google Analytics: what query string parameter does Google Signals rely on?

Google's marketing platform has a feature called 'Google Signals' that makes it possible to track users across devices. This is possible on Chrome browsers where users have logged chrome into their google accounts (which happens by default if the user logs into a google service).
My question: when the google analytics tracker beacons tracking data back to google, which query string parameter contains the 'cross-device user id'?
Here's what the query string parameters look like:
Google Signals will only provide you with data on users with ad personalization turned on in their Google account settings.
The parameters you've referenced is for the measurement protocol, which is the foundation for all the different GA implementations (GTM, gtag.js, analytics.js).
I think all the matching is done server-side by Google and possibly a combination of fingerprinting all the devices the google account has signed in with and activity on those accounts, maybe even a pool of GA client IDs & properties.

Can I trigger google analytics events for a user from different environments?

We are trying to have a full view of user journeys through the web application we are developing. In the middle of the journey, there's no problem because it's more or less a traditional web application, but the beginnings and the end are not usual.
The journey begins with us sending email to the customers (don't worry, it's not spam). Is it possible to send events to Google Analytics about email being sent? I can include the UserID in those events. If I then implement user id in my web application, would I be able to correlate emails send to website visits?
At the other end of the journey, the conversions don't happen by the user that's being coverted but by a manager manually marking the user as converted in a sort-of admin-side to the web application. Can I then again inject the event that the user was converted with the appropriate UserID? Will Google Analytics then be able to map the whole journey? Do I need anything else?
The goal is for those events to end up mapped in the charts that look like this:
You'll need to do what you're asking in a CRM.
That said, I think what you CAN do is use campaign tracking and track the links in the email sent to the users. This way you'd know if they've acted on the emails or not.
Then you'd be able to track them on your site when they interact with the email. If there are CTAs on your site for the users to contact a manager to be converted, then you can track those as events, then set up goals around these events to see conversions.

Hierarchy of Google Analytics for Multiple Builds of Same App

I am setting up Google Analytics Accounts for a Product which have multiple builds as frontend for same user base.
So we have one Product called X and have:
Web Build
Mobile Web
Android App 1
iOS App 1
Android App 2
iOS App 2 6.
The main point is identical APIs and User base is used in all platforms and apps. So if we have a user John Doe he can login in any of the web or apps.
We want to extract following information from Google Analytics.
Under User ID feature want, sessions aggregations of that user around all build and apps, but identifiable. So I can know that user John login to web yesterday and used mobile app today.
Each user belong to a customer (company) in our system. So want to segregate all information based on companies.
I already have achieved point 2 by creating a custom dimension in Google Analytics and believe that's the best way to do it.
Now need suggestions from Gurus on how to acheive point 1 using Google Analytics.
Either use single account and single property for all builds and apps
If yes, then how to identify those apps and builds in sessions
If I use multiple properties/apps in GA account then how to aggregate user sessions among all?
Looking forward to hear how guys around hand or should have handled this scenario. Cheers!
This question is extremely broad, IMO any answer your going to get is going to be primarily opinion based. So here is my opinion and a little extra info to boot.
The first issue you are going to have is that there is a difference between Mobile google analytics accounts and web analytics accounts. The two do not mix. Mobile analytics accounts insert screen views with a screen name. While web accounts insert PageViews with a document location.
There is no way to analyze between two different Google analytics web properties. Unless you intend your android and ios apps to run as websites and send it like its a webpage its not going to work. You could potentially download the data into your own system or big query and analyze it there. Comparing your custom dimension to see what the users have done differently. I would wonder at the quality of the analysis you will get as there will be no real way for you to compare the data and match it up beyond using your custom dimensions user id and possibly date.
I am adding this because I am not sure what your saving in your custom dimension.
The second issue you are going to have is tracking. Google analytics TOS does not allow you to send any identifiable information to Google.
The Analytics terms of service, which all Analytics customers must adhere to, prohibits sending personally identifiable information (PII) to Analytics (such as names, social security numbers, email addresses, or any similar data), or data that permanently identifies a particular device (such as a mobile phone’s unique device identifier if such an identifier cannot be reset).
You could for example send your companies customer id for John as a user_id but user_id is an internal valuable used for internal processing this is not something you can extract out via the api.
The User ID enables the association of one or more sessions (and any
activity within those sessions) with a unique and persistent ID that
you send to Analytics.
To implement the User ID, you must be able to generate your own unique
IDs, consistently assign IDs to users, and include these IDs wherever
you send data to Analytics.
For example, you could send the unique IDs generated by your own
authentication system to Analytics as values for the User ID. Any
engagement, like link clicks and page or screen navigation, that
happen while a unique ID is assigned can be sent and connected in
Analytics via the User ID.
The best you could do would be to create a custom dimension and send that with every hit username=johnscustomerId. Which you appear to have already done. This is what I have done in the past and it works perfectly well.

Realtime Overview Analytics only showing one user at a time

When viewing the RealTime Overview section, I notice that when a new user comes online the previous user immediately disappears and is no longer shown in realTime. The next day analytics only shows history data for one visiting user, I know for a fact that this is incorrect, there should be data for multiple users.
I send up analytics data with a simple https request(shown below) . This works for all my other applications. The only difference is that I send up the uid for this app , could this be causing the issue that I am seeing ?
Views
https://www.google-analytics.com/collect
?v=1
&z=14807
&tid=<OUR-UA-ID>
&cid=2535285330542042
&dp=message_6
&dt=message_6
&cd=message_6
&an=freemium_3
&av=3
&uid=123456789
&t=screenview
Events
https://www.google-analytics.com/collect
?v=1
&z=52130
&tid=<OUR-UA-ID>
&cid=2535285331158735
&dp=authentication
&dt=authentication
&cd=authentication
&an=freemium_3
&av=3
&uid=123456789
&ec=authentication
&ea=get_user_info
&t=event
The "cid" in your http call is the client id, where client refers to the device or program that makes the request. It is usually stored in a cookie (on the web) or generated by an SDK (in an app) and is used to unify subsequent requests from the same device into sessions. Since it is set by the client it differs from device to device (and browser to browser), so it can not be used to identify a person across multiple devices.
After it became the rule that any given person might have two or more devices Google came up with the uid, the user id (which by their own TOS might not identify the user, so this is a bit of a misnomer; think "cross device tracking id" and the concept becomes clearer). The uid is set by serverside code, i.e. after the user logs in. Not only this allows to unify visits from multiple devices into distinct users, it also alleviates privacy concerns (since it is supposed to be only created after a users action; there are separate TOS which you have to accept if you create a user id view in the GA interface, and they stipulate that you have to secure the users agreement to use to user id feature).
So if you set the same user id in your code the sessions will be attributed to the same user, even when the cid differs; this is by design and is indeed the point of the uid.

Using Google Analytics from an Intranet

We have setup GA from an intranet, however we are not sure if everything is tracked correctly. We should be getting more unique hits/page views than GA reports.
All of our intranet users gets the same external IP address and we are not sure if this makes GA believe that all the requests are coming from the same user or a limited number of unique users at least.
How does GA determine the uniqueness of a the requests? and is there a way to provide another "unique" key if needed?
Google Analytics does not IP adresses for that purpose. It creates an id for every browser where the tracking code is run and stores it in a cookie (on browser that do not allow cookies data will still be sent but will not be grouped into user sessions, however with Universal Analytics you can choose to provide a uuid yourself).
Since you intranet users are presumably authenticated you could use the user id feature in Universal Analytics. However this should not be necessary (it was developed to recognize authenticated users across devices, so it might be useful if you users log in to different computers).
But as long as javascript is enabled and allowed to set cookies (and of course there is an internet connection) there should be no problems. IP is used for geolocation only.

Resources