Google Analytics 4 Setup Using "Connected Site Tags" - google-analytics

Am I understanding it correctly that to get started with Google Analytics 4 (GA4) that I set-up the property in GA first and then go to my Universal property > Tracking Info > Tracking Code > Connected Site Tags and then enter the GA4 code and the new information will be entered into the Universal property without duplication (meaning, I won't be seeing Universal and GA4, just the new data)?
Would it be best to keep these two separate for now and monitor the data in each property by adding the GA4 code below the Universal code? TIA.

The two systems are different and use a different data model so you can't have the data mixed, the two properties are distinct.
Best practices say to track data in parallel to both old and new property.

Related

What custom dimension values should be used when creating GA4 dimension for Microsoft Clarity?

MY QUESTION
What should I select when creating the custom GA4 dimension to integrate Google Analytics with Clarity?
MORE INFO
The documentation says to remember the Event Parameter Name (so I know the scope = event) but it does not discuss the other variables that are required fields.
1. ☒ Scope = Event
2. ☐ User Property/Parameter?
WHAT I TRIED
Based on some Google documentation I first tried using this to pick up the dom title.
User Property/Parameter = page.title
This is picking up data from GA, however, when I tested this prior to production use, the data looked different and showed user traffic rather than number of events.
CONCLUSION
Can we get more information around how Clarity and GA work together, specifically the GA4 component?

Google Analytics duplicate purchase reports

We are trying to setup GA4 analytics without removing (at the moment) the previously setup UA, a scenario which is described on the official documentation :
[UA→GA4] Send events to both your UA and GA4 properties
Our problem is that specifically for the purchase event which is a default tag, we see duplicated reports in GA4 Ecommerce Purchases.
I suppose that this might be expected since we push 2 purchase events to the dataLayer as described in the following 2 docs for each version respectively:
Universal Analytics (Tag Manager) - Measuring Purchases
GA4 Ecommerce - purchase
It seems like the GA4 report is picking up both purchase events, despite the fact that we use a different model for each event push. So for example in the end we get :
One (1) purchase event with revenue $10.00 on UA reports,
Two (2) purchase events with revenue $20.00 on GA4` reports (which is wrong)
Is there any way we can use both UA and GA4 and be able to remove the duplicate purchase events on our reports somehow? Tried removing one of the 2 dataLayer push events but then one of the 2 reports (GA4/UA) is missing information.
Well, just make a CJS variable that would parse the event's content and indicate whether this payload has UA or GA4 structure. Then utilize the var as a check right in the GA4 EEC trigger. Actually, I would update the GA3 UA EEC trigger too, just in case it suddenly is able to consume the GA4 object.
But your general approach is sub optimal. How analytics agencies do this kind of job is by reusing the old UA DL pushes and sending the EEC payloads manually rather than through automated DL EEC tracking.
As benefits:
Your dataLayer still looks well and uncluttered by duplicate e-commerce information.
You don't bother front-end devs with extra work and it's easier to maintain
Much easier to introduce symmetrical changes especially when you want to introduce, say, a new product- or EEC hit-level custom dimension or metric.
Data parity does not depend on the front-end devs, only on the GTM config.
Less tags/triggers cluttering in GTM.
It's way-way-way faster to do it when you already have a template GTM container for such mapping. Not sure if the agencies share the containers yet though.
Cons:
A bit more code in GTM.
If GA3 breaks, GA4 will inherit the breakage automatically. Data parity is a double-edged sword.
I can't share my containers, unfortunately, but they look similar to this: https://github.com/gtm-templates-knowit-experience/ga-eec-to-ga4-ecom-converter/blob/main/template.tpl feel free to give it a shot and let us know if it does the trick.

find view(profile) ID for my project in google analytics V4

Currently, in my project "dev--sci" I do not see a third column with View Settings to get my view ID from (need this to call Google Analytics API).
I followed the directions from this stack overflow answer, which called for creating a new universal property. However, this appears to take me out of "dev--sci" altogether and create a new project called "views (UA-XXXXXX)", which does have the View Settings. But I need the view ID for my original "dev--sci" project, not this blank new one.
How do I get the view ID for my original project "dev--sci" and why doesn't it have the third view column? I believe it's b/c GA V4 doesn't have views, but then for some reason their API still requires it?
As you read in that post, GA4 does not have views, so if you are looking for a view ID to be able to use the APIs that require it in GA4, it means that you are using the wrong APIs, i.e. those that work with Universal Analytics (UA-XXXXX- XX).
GA4 uses a completely different data model from that of Google Analytics, for this reason the APIs to be used are different.
Here you can find some information about Google Analytics Data API V1 that provides programmatic methods to access report data in Google Analytics 4 (GA4) properties:
https://developers.google.com/analytics/devguides/reporting/data/v1
However, as you can see, this is an early preview version of the API and is subject to change:

Google Analytics Tracking Code: Confirming Parallel-Run of Old ga.js & New gtag.js

All the while, I've been using the old classic ga.js (e.g. _gaq.push()) to generate monthly traffic report for my clients. Now, I decided to migrate over to the latest gtag.js in order to replace my custom variables with the new custom dimensions (or probably custom metrics as well). But one problem here:
How do I handle the Month Transition for the accuracy of report data?
When I think of parallel run of old and new tracking codes (at least 1 week before the coming month), I found this on Google Analytics Help:
You can, for example, install multiple instances of the Universal
Analytics tag (analytics.js) on your web pages but only one instance
of the Classic Analytics code (ga.js). Multiple instances of ga.js
might result in inaccurate data collection, processing, or reporting.
You can, however, install one or more instances of analytics.js on web
pages that also have a single instance of ga.js.
Therefore, I would like confirm this with some experts here: Is it SAFE to go ahead with one instance of ga.js and one instance of gtag.js on the same page? Note that if I don't implement old and new GA codes at the same time, let's say 1 week before the coming month, my custom variables will lose 1 week data; meanwhile, if I use the new report, my custom dimensions will lose 3 weeks data. Also, I just can't simply implement the new code on May 1, 2019 00:00 AM -- What if my new implementation doesn't work? I need several days to monitor it as well.
So this is important to me. I wonder if anyone of you here has experienced this and can assure me that this is safe to go ahead. Thank you so much!
IMPORTANT UPDATE, May 3, 2019: After using the below method for parallel-run for 1 week, the old tracking code doesn't seem to continue collecting traffic data even though I never change its configurations whatsoever. Apply it at your own risk.
Ok guys, after my full day experiment, it's confirmed that the classical ga.js (_gaq.push()) and gtag.js can be concurrently run on the same page and same site for the sake of resolving the migration issue as mentioned in my question above. The trick here is: Create a new property with new tracking ID for your new tracking code (gtag.js) with similar view settings and custom reports. Below are the steps:
For the new gtag.js:
Create a new GA property for the same website with new tracking code/ID.
Verify and complete your View Settings for the new property if necessary.
Define your Custom Dimensions accordingly.
Create your custom reports if necessary.
Get your new tracking code under your new Property -> Tracking Info -> Tracking Code.
Paste your new tracking code just right before your old tracking code (preferably in a different <script> tag).
Add your custom dimension code accordingly.
For the old ga.js:
Do nothing and keep it as it is.
After the cut-off date is over, just remove or comment out the old <script> tag of your old GA tracking code.
Open both your old and new GA reports with their respective property view and monitor the traffic result. If still no data on the new report, comment out the <script> tag of your new tracking code and troubleshoot again (or else it may affect even your old tracking code as well), make sure your custom dimension code has no errors, otherwise it should work with different tracking code managing different property ID (no conflict). If you need the same solution, hope this helps!

Custom trigger showing up in Google Analytics - but NOT the value itself

I have a gtag account setup and that also connects to google analytics.
And I have made a successful tag/trigger to make event tracking for when an FAQ item is opened at my clients FAQ-page
I am sending the trigered FAQ question text as a value as well. And I wish to have a list in Google Analytics in which the questions are shown in a list.
Am I missing something? Should I setup the trigger/tag in another way, or am I missing something in the GA.
Thanks for taking your time.
DEBUGGER
TAG CONFIGURATION:
GA:
The event value in Google Analytics must be a number. You are currently passing {{Click Text}} string, which actually gets ignored by ga object, and will not reach Google Analyitics. More details on event tracking.
Basically, you should send this text data in a text field into Analytics.
Original recommendation, using custom dimensions:
I recommend you to set up a hit based custom dimension, where you can submit additional text data in connection to your event. You'll be able to analyze it as a secondary dimension in standard event reports, or by creating custom reports.
In GTM, you have to modify either the Google Analytics setting variable, or the Analytics tag itself, and assign the desired value (click text in your case) to the custom dimension ID, which you have created in Google Analytics. E.g. custom dimension 6 gets passed like this:
An other option, based on Eike's suggestion:
You can also use any of the other standard event fields for this, e.g. send it in the label. As pointed out, this can even hold larger set of data (500 bytes), compared to custom dimensions (150 bytes). This is also easier to be implemented in GA and GTM as well, as you don't have to deal with custom dimension creation and reporting.

Resources