GA4 client id issue - google-analytics

We are trying to migrate from Universal Analytics to GA4. The issue we are having is that GA4 requires a client_id field which we cannot get in a desktop application (C++). Is it possible to get client_id without a browser? and without being an IOS or Android app?

Just generate a unique id for each user, that's it. That's exactly what GA does on web. Same applies for GUA. I wonder how you were tracking users without setting client id for UA. Were you tracking them?
Another thing is that despite all the fuss around GA4, it is an unfinished product. Even though Google recommends it, the professionals who actually work with GA's data recommend to either not use it and give it another year or two or implement it very shallowly in parallel with existing tracking just to have some semblance of historical data in it when it's time to switch.
Finally, if you're tracking a desktop app, you likely use the measurement protocol rather directly, so you mind find this useful: https://firebase.google.com/codelabs/firebase_mp#2

Related

is there a way to merge properties in Google Analytics?

I wonder if someone has been in similar situation:
I currently have 2 Google Analytics properties.
Native AOS/iOS app that is integrated with Firebase
Website that is integrated with tag manager
As the website was developed later than the app, we ended up creating separate properties on GA, however, now the website will only be available to traffic from inside the app (the website will be shown in a WebView), so it makes sense to merge the all data should be attributed to the users from the App property.
On the website configuration on GTM, I created a base pixel that fires on all pages with the measurement ID of the website. I noticed that there is no measurement id on the app settings peoperty, but a firebase id, so I am not sure how to proceed.
Is the only solution to this case is to integrate the firebase events to the website?
No, you're mixing up data streams with properties. Also, I assume we're talking here about GA4 and not GAUA since you used the term measurement id rather than property id.
Go yo your GA4 property where the firebase traffic is. Go to Admin. Go to the Data Streams under the Property section of the admin panel. You should see there your Firebase streams. Make a new one, for web. Copy Web's measurement id, paste it in GTM's config tag. Good, publish. Now you have your webview tracking flowing into the same property your firebase is flowing to.
There's one caveat to watch out for. The app may not pass your client id and session id into the webview. You may need to ask the devs to pass those in query params or cookies and then remap them properly with GTM. Just to make sure your data is not only in one property, but also makes sense session-wise and user-wise.
As for the old web data, it shouldn't be important. If it's still important to merge old web data with the app data, well, you can't merge it in GA. You will have to merge it down the ETL pipe somewhere. BQ would be a fitting place to merge, but it's up to whoever does the ETL.

Can I switch my Google Analytics property from GA4 to UA?

For some reason PowerBI does not accept GA4 as a connection, so my data is stuck in GA4.
PowerBI does support Universal Analytics (UA), but I cannot find a way to convert my GA property.
Is there a way to do this or should I start over again and create a new property as UA?
PowerBI currently doesn't support GA4 as a destination because the underlying api is not product ready yet. See the response in the microsoft power BI community here: https://community.powerbi.com/t5/Desktop/Power-BI-Google-Analytics/td-p/1679530
For information about the api's and their current state:
This is a link to the api documentation the plugin is using (for universal analytics): https://developers.google.com/analytics/devguides/reporting/core/v4
This is a link to the api documentation of GA4 (which is still in beta): https://developers.google.com/analytics/devguides/reporting/data/v1
Regarding a solution for your issue:
In GA4 is it possible to export data to big query, which can be processed there and imported to PowerBI: https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-connect-bigquery
The export only works from the moment you enable it, so it is not possible to access the data this way before the enablement.
Second option is using data studio to connect to your GA4 data to be able to access the data you have measured before.
First off as everyone says you cant change the type of your Google analytics account if it was created as UA then its UA if it was created as GA4 then its GA4. There is also no way to exxport data.
Now lets look at the underlying cause of your problem Google analytics connector in Power BI Desktop rely on the Google Analytics Core Reporting API this API is used to extract data from Google Analytics UA accounts. There is a very big difference between the underlying data structure of a UA account and a GA4 account they are not completable in any way shape or form.
Thats why the Google analytics team is currently developing the Google analytics data api This api has the ability to connect to Google analytics GA4 accounts and extract data. At the time this post was created Power BI Google Analytics The Google analytics data api had just been released and was still in alpha test phase as you can see from the change log this API is still under development. I haven't checked but it looks like it may even be out of beta now. (TBH I am not really sure of the exact date it was released publicly as I have been in the alpha test group for a long time.)
However that being said a lot of the client libraries used by this api are still under development as well Google .Net Client library for Google Analytics Data API for example is still in beta. At the time that post was written i am almost 100% sure the client library had not been released.
This means that any power bi connector is probably not going to be released until both the API and the client library are considered stable. I know the team is working hard on the API and I Haven't seen any breaking changes in a very long time.
So to the user who added a bounty to this looking for an updated answer.
IMO I don't think you have long to wait before everything is stable enough for applications like the Power BI to start appearing that support GA4. That is assuming that someone creates one.
You can't covert GA4 to UA (or UA to GA4).
In your case you can create a new UA Property and start to track in it:

Can Client ID be Used to Retroactively Filter Internal Traffic?

With the goal of performing analysis that does not include staff traffic, I started following this guide to exclude internal visits which seemed great but apparently cannot work retroactively. In fact, I've heard differing opinions on if any sort of retroactive filtering of this sort can be done in GA at all. I'm very new to using GA, but one field I noticed is the Client ID, which seems to track browsers. If I could identify which Client ID's correspond to my coworker's browsers, could I use this to retroactively exclude them from analysis? This seems like it may work to me, but I have found no sources online suggesting this as an option.
If it matters, the analysis I am most interested in is tracking exit clicks.
ClientId is not a value normally available in Analytics reports, also if the coworker has deleted the cookies that value will be different.
This solution works for Univeral Analytics and not GA4.
With Google Tag Manager, you can create a configuration that allows you to filter out internal traffic.
In GA, you can create a custom dimension that tells GA which users are internal users and not. This information is passed on by Google Tag Manager via a query string.
For a step-by-step guide read: How to Filter Internal Traffic in Google Analytics with Google Tag Manager

What is the best practice for setting up new Web+App Google Analytics?

I have two properties I would like to track via Google Analytics:
1. A cross-platform web-app - I currently have this connected to Google Analytics new App+Web implementation.
2. A marketing website that drives leads to the web-app - I currently have this connected to a separate property with the traditional Google Analytics implementation.
My question is, is it best practice to connect my marketing website to the same App+Web property as my web-app via a new data stream? or should I keep them separate?
It is my understanding that the App+Web is meant to connect all your platforms in one property, I'm just not clear if this should include a marketing website or not.
I would like to be able to track events between the marketing site and the web app, which is why I'm considering have them both under one property.
Thanks!
-Zach
I think you can do this as it will be more convenient for you, you can track it in two different streams. I think it will be more purely about data.
In Google Data Studio reports, you can always combine all the data and conversions that you set up into a single live report. I think this help might help.
I always use different Google Analytics streams for apps and different sites, so it's easier for me to track, and in Google Data Studio I collect all the data from Analytics, call tracking, and user session recording tools in one unit for comprehensive data analysis

Passing Google Analytics data from classic to universal

I need to explore the possibility of passing my existing GA eCommerce data (using Classic Analytics) over to a new universal analytics account.
I do not want to make the full switch as yet for various reasons. I do however want to use universal analytics to track newsletter email opens.
I would very much like to include the transaction data to this new universal analytics account so that I can put opens and revenue side-by-side. I know it is possible to aggregate analytics accounts to one profile but because classic and universal are different I wonder if there is any way we can aggregate data from Classic to universal?
Or do I place two tracking scripts on the thank you page?
Any tips or advice will be much appreciated.
From official help page "Set up Universal Analytics":
Best practices
If you want to try UA on a website you’re already tracking with Google
Analytics, we recommend you use the ga.js and analytics.js tracking
code concurrently to maintain continuity in your first account. Send
the data sets to separate properties: UA data to a dedicated UA
property, and ga.js data to a non-UA property. Data cannot be merged
or reprocessed after it’s collected. Alternative configurations are
not supported and can result in corrupted or incomplete data.
In the coming months, look for documentation to help you migrating
your existing Google Analytics web properties and data to UA.
So you can place two tracking scripts on the page.

Resources