Fantastic and really helpful. I decided to take it a step further adding the maximum of 5 tables to the Blended Data Source, which allowed me to include the results for 4 seprerate conversion events.
Hello sir, Thanks so much for sharing this method. I had a couple of such things so I used pivot tables in Looker Studio to display each event that in the conversions subset but this method of custom metrics is quite cool!!
Thank you for the great instructions. I have been using the blended approach for months, but as of this week, all the blends seem to be failing. I have a three table blend with GA4 data. Each additional table is filtered on an event-name so I can determine the impact/conversions of the various sources the traffic is originating from. Straight forward. However, as of this week, it is showing the total number of filtered events regardless of source. Meaning - It displays the same value for sources X, Y, and Z. The sum at the bottom also shows the same value. Lets's say that there were 88 filtered events, it now shows 88 for each row. Prior to this week, it would show different values for each source and sum would be correct. Tried to use calculated fields based on the event name, but it is not adding up things correctly and just shows 1 or 0, or the total number events. Based on the thread here, the calculated field is not a workable approach. Is anyone else experiencing the same? Is there an alternative approach that works for separating out different events in one table?
Hmm. I just tried recreating the table and it worked for me. Maybe you experienced a temporary Looker Studio bug? Or maybe you need to refresh your GA4 data source? If the connector has changed in a way that affects one of the dimensions or metrics you are using, that can cause problems. Though usually for me it just breaks the report, it doesn't show incorrect data. I'm happy to have a look - if you click the email link on this page, you can send me a message and I will share my contact info: twooctobers.com/nico-brooks/
Would this specific setup affect it showing under GA4> Admin>Events? I implemented these for one property for my current internship. I left triggers as I normally would have to track PDF downloads, however, none of these GTM events (that have Tags/Trigs) show up in the Events page on Admin, so I cannot tell if it is showing the correct amount on my Looker Report. Some of the PDFs show the same number as this setup with UA data, but others are different.
It shouldn't. Two possibilities I can think of: 1. The ones that aren't showing up aren't actually working. I imagine you've ruled this out, but if not you can do so by triggering the event in GTM preview mode and looking for it in GA4 > Realtime > Event count by Event name. 2. (I suspect this is it) You are not seeing the events in Admin > Events because of thresholding. To test if this is the cause, go to Admin > Reporting Identity and change the identity to Device Based (you will need to click 'Show all' to see this option. Note that changing the reporting identity doesn't affect the underlying data, so you can change this back-and-forth whenever you want. If, after changing it to device-based, you see the event counts in Admin > Events, you know it is a thresholding problem. If it is, you will have to decide whether you prefer the benefit of the occasional cross-device tracking you get with Blended versus the cost of thresholding.
@@Twooctobers In GTM Preview i've gotten most of them to trigger. The ones I cannot get to fire have a form that has to be filled first, and for some reason it doesn't bring me to the pdf. I think my google account doesn't get certain website updates. Pretty annoying when doing website analytics and trying to troubleshoot, but that's a different issue. But anyways, most fire in GTM and Realtime reports. some take more than a minute or two to pop up which is odd. When I go to change the reporting identity to device-based it warns that "reports may only reflect a subset of your users". Does this mean it will cause KPIs and other events/conversions to be lower since it isn't capturing everyone? I changed it to device-based, and boom, all my normal GTM events are showing!! Thank you!! Never would have figured that out.
I haven't noticed much negative impact when I switch to device-based. The four types of identity, with comments, are: 1. User ID - this is a value you have to explicitly set. It is really useful if you have a site that users tend to log in to, for example a popular ecommerce site or a subscription-based content site. It's useful because you can set a user's ID based on their login and therefore count the same user across different devices and browsers. If you are working with a property that has user ID implemented, you *have* to choose Blended or Observed Reporting Identity for user ID to work. 2. Google Signals - gets a user ID from a user's Google login. So, for example, if you are logged in to your Google account in Chrome on your phone and laptop, you will be counted as a single user, whereas device-based will count you as two users. This sounds great, but in my experience, Google Signals only improves tracking for a very small percentage of users. Note that you have to have Google Signals enabled under GA4 > Admin > Data Collection for this to work. 3. Device ID - this sets a pseudo user ID in a cookie. It is "pseudo" because it really only identifies a device/browser. 4. Modeling - this is one of the most interesting capabilities of GA4, IMO. If a user has not consented to cookies AND a website has Google Consent Mode enabled, theoretically GA4 can still model user behavior, while adhering to privacy regulations. I say theoretically because for modeling to work a site needs to get at least 1,000 user visits per day, plus a few other requirements. In my experience, most websites don't meet the prerequisites for modeling to work. Still, this is a very important feature, since privacy requirements are only getting stricter over time. So, unless you have implemented user ID or have a high-volume of traffic and a significant number of users who do not opt-in to tracking, device-based reporting identity should work just fine. And since the alternative options are subject to thresholding, you will also have a lot more confidence that you are seeing all of the data that is being collected by GA4.
Awesome thank you for the info! I'm certified in it but it's been almost a year, so I don't remember reading about those differences. I have a feeling the course probably wouldn't have given that much detail or examples anyways so I appreciate you taking the time to educate me. We don't get that many daily views either so I'll run with Device ID. Good to hear that that one should work just fine too. I'll keep this all in mind if I run into anymore thresholding issues with other GA4 accounts/properties. And I'm sure it will come in handy since I'll be implementing the strategy in the vid for others soon to easily show specific events and conversions.@@Twooctobers
I just did these steps for a page visit event in GTM but my new custom metric isn't showing under Metric for the scorecard. Will it take a day or so to update this?
Hi Two Octobers! I really appreciate this video, it has been the only one I can find to provide this solution. I have one quick question though, Does Looker Studio automatically pull the custom metric in? I've done all the steps and have waited a few days for it to populate (It's an active website so it's getting triggered). I'm not seeing the custom metric show up in Looker studio... Is there somewhere I need to add it manually? Or what should I do? Thanks!
Probably this: Go to Resource > Manage added data sources, click Edit to the right of your GA4 data source In the lower-left-hand corner, click REFRESH FIELDS You should see your custom metric(s) GA4 also automatically adds 'Count [your metric]' and 'Average [your metric]' - you can ignore those I should have covered that in the video - oh well. Depending on how long it's been since you created the Data Source, you may see some other dimensions and metrics that have been added by Google. Let me know if that doesn't work.
@@Twooctobers Thank you! My original GA4 Data source is grayed out and doesn't seem to let me edit it, however... I was able to add another GA4 Data source, refreshed the fields and my metric is showing up. However, it's currently showing 0 regardless of the date. I'll give it some time to see if it starts populating. Would this be normal though for it to show zero? As I drag it on it shows a number around 1100. Thank you!
I'm not understanding the zero vs. "As I drag it on it shows a number around 1100." It should populate if it's working. If you insert a scorecard on your dashboard and set it to your metric, does the scorecard show a number? If so, maybe you were trying to combine it with an incompatible event-scoped dimension? The other thing you could try is to use it in an Exploration in GA4 - if it shows data there and not in Looker Studio, maybe there's a filter on the dashboard that's interfering? You can email me from here if it's still not working: twooctobers.com/nico-brooks/
@@Twooctobers Hey thanks for the great content! I think that would be a great piece of information to be added in the FAQ section of your blog post or in the Video's description. I was about to ask the same question :) Cheers and thank you again!
Good stuff, Nico! Are you connecting straight to the GA 4 data source in Looker Studio? I don’t even bother anyone with the quota limits…just go straight to BQ.
Thanks Ryan! In the video I am, though generally I have been using the Extract Data connector since the quota limit was introduced. I've set up the BQ link on a few accounts, but haven't really done much with it yet. Are you finding you can pull directly from the raw data, or are you doing any transforms?
@@nicobrooks6761 Makes sense, Nico 👍🏻 I'm largely using Analytics Canvas to work through the logic as I have no interest in learning the depths of SQL that would be required to master that. You can store it in their BQ or your own/your clients/however you want, and it avoids the quota issue since it's pulling from BQ. I find the extract data to be useful, but only on "ad hoc" type asks - doesn't seem like a solution for a complete build. Curious on your thoughts or might be cool to sync up about it at some point! Cheers 🍻
We're in the process of getting *everything* into BigQuery, so it's just a matter of time for me, and I agree that Extract Data is more for making individual charts faster and avoiding the quota - not practical to replicate the full data source. I've also found weird dimension incompatibilities that are not an issue when connecting to GA4 directly. Ping me if you'd like to chat more!
This is very helpful, thank you! But what if I have more than 5 different conversions to evaluate in same table? I can create multiple blends (but I can blend only up to 5 tables), and this is fine, but I can't blend the blends
Yeah, unfortunately you can't blend blends. I think you'll have to go to the custom metric approach I describe in the second part of the video: ua-cam.com/video/BGCH39z1bLU/v-deo.html
@@Twooctobers Super helpful video - thanks - I want to use the custom metrics method rather than blend but i am using custom events created from within Ga4 based on the automatic submit form event rather than using the GTM events. I wasn't sure how to create a custom metric from the GA4 custom event - i did think maybe i modify the parameter but i wasn't sure - can you help?
@@indrarenewabletechnologies1081 Yes, you can do something similar to what I show in the video. In the Create events interface, you can add a parameter modification and add a _count parameter to your event, e.g. "your_event_name_count" and set the value to 1. The interface is a bit confusing - it says "modification", but if you put a new parameter name in the Parameter field, it will create a new parameter instead of modifying an existing parameter. Once you've done that, you can create a custom metric that aggregates the value of your "your_event_name_count" parameter.
So I see that in GA4 under the "Custom metric we should select the exact Event parameter as we created in GTM. But I do not see this parameter in this Event parameter list. My question is: Do I just have to wait until my new Event parameter, which I created in GTM, appears in this Event parameter list or I just manually write this parameter into this Event parameter cell?
I have set the event parameter in TAG Manager. Should it then automatically appear in Analytics where I set up a Custom metric? I tried to add an Event parameter to the old TAG in the TAG manager, but it has not reached into GA4 during the day. Should I create a new TAG in the TAG manager with an added Event parameter so that it also reaches to the Event parameter options in Custom metrics of GA4?
I have found it can take as much as a day for the custom metric to populate in GA4. If you have created a parameter_x in Tag Manager, and a custom metric based on parameter_x, to test it real time you can either enable Preview mode in GTM, then look for the event + parameter in GA4 > Admin > DebugView ( support.google.com/analytics/answer/7201382?hl=en ) OR look in the GA4 > Realtime report, click on your event in the 'Event count by Event name' widget, and that will show you the parameters associated with the event. Then click on the parameter you added and you will see the value(s) of the parameter. If the parameter exists and it's passing a numeric value, your custom metric should start populating soon.
@@Twooctobers Thank you so much! I will start my testing. In TAG manager under the "Event parameters" we have the button called "Variables" Do we have to choose there something also?
No - if you are adding a count parameter so you can add a custom metric in GA4, you just need to set the parameter value to 1. It's weird that you have to do it that way, but that will give you a parameter that sums to the number of times the event happened.
I've done exactly what you did, but unfortunately the use of Blend causes discrepancies in the number of sessions for specific traffic sources. I see sometimes more and sometimes less sessions for a given source/medium of sessions. The session totals for both tables (blended and not blended) are the same. Also, to make a time series chart, we need a date, but adding it also results in different session totals for specific traffic sources. Did you have similiar problems?
There may be an issue that is specific to the blend, but Sessions is generally a very squirrely metric in GA4. Google describes how they count sessions as "Analytics calculates the number of sessions that occur on your site or app by estimating the number of unique session IDs." (support.google.com/analytics/answer/9191807?hl=en) So, first of all, the metric is an estimate?!?! Second, you can get different total session counts when you apply different dimensions, since one session ID can span dimensions. For example, a session that spans 8-28 and 8-29 will count as two sessions if you segment by date, but one if you don't. Lastly, strictly speaking session ID is not unique to a user (wait, what?), it's actually the timestamp of the session_start event, so you can get different session counts if you apply user-scoped dimensions than if you don't. Unfortunately, the only way to get a relatively "true" count of sessions is with BigQuery. Otherwise, you have to put up with discrepancies as you add different dimensions and report on different time windows.
Have you refreshed fields in your data source? Resource > Manage added data sources > click Edit to the right of your data source > in the lower-left corner, there's a REFRESH FIELDS link. Click that and hopefully your metrics will show up.
This is awesome. One thing with the GTM solution is it is implementing the total count. However, what if I want to add a unique count metric. For example, if a conversion is a click on a particular CTA that lives on many PDPs on an e-commerce site. Technically a user click it more than one time within a session. I will ultimately want to capture the rate (%) of which sessions click that CTA type. So, in other words, the unique number of clicks on that CTA (conversions) divided by sessions. How would I go about capturing the unique count (session-scoped) of that conversion?
Two options come to mind: 1. By default, conversions in GA4 count once per event, but if you go to Admin > Conversions, you can change that by clicking the three dots to the right of each conversion name and select 'Change counting method' > 'Once per session'. Then, if you use the blend method I describe in the video, I think you will get what you want. Unfortunately, the change will only impact conversion counting going forward. 2. For the GTM solution, the only way I can think of is to set a cookie in GTM that keeps track of whether or not the user has already completed the conversion. I can detail out that approach if that sounds useful to you, but I'm kinda busy between now and midnight on June 30, so it will have to be after that :)
@@Twooctobers this is what I needed for the short term issue. The three dots on the side of the conversion to change to session-scoped is the solution I need. However, what you mentioned at the end of your response with GTM about cookie tracking, I’d definitely be interested in seeing this solution as I could definitely find this useful for other situations. Feel free to reply back whenever you have time, no rush. Thank you!
@@gtufano22 good news! I have a better solution (and need to remake the video, which is less-good news). Google just added 'Conversions count for [conversion event name]' metrics to the Looker Studio GA4 connector. So, for example, if your conversion event is 'cta_click', you should see a 'Conversions count for cta_click' metric in your GA4 data source. You may need to refresh fields to see it. That in combination with the 'Once per session' setting should give you exactly what you need.
@@Twooctobers thanks for the great video! I was checking the metric 'Conversions count for {event name}' in Looker but I only found the metric 'Conversion count for event' duplicated several times (23 times to be exact, which reflects the number of conversion events I have). It just started showing up as I refreshed the connection with GA4. If I select one of these duplicated metrics, it gives me an error, even if no other metric or dimension is selected. Any idea why the event name is not showing as part of the metric name (assuming all metrics have different names)? Anyone else having the same issue?
Any idea how to attach landing page to conversions inside Looker Studio? Since LS doesn't have a Landing Page dimension yet, I'm using a session_start filter, but that kills the conversion event. Blending doesn't help either since the conversion attaches itself to the Page Path that it occurred on rather than the landing page path.
Well I have an idea, but I don't think it's very good: 1. Create a custom HTML tag in Tag Manager that stores URL in a cookie. Add logic that checks if the cookie exists and only set the value if it doesn't exist. 2. In the same tag, push the value of the cookie to the dataLayer, with a variable name like 'landingPage'. 3. Create a custom variable that gets the value of the dataLayer landingPage variable. (you could also use a 1st party cookie custom variable and skip the dataLayer part - I just like using the dataLayer) 4. Add a landing_page user property to the configuration tag that has the value {{landingPage}} 5. Create a user-scoped custom dimension in GA4 that gets the value of the landing_page user property. Call it something like 'Looker landing page' so it doesn't conflict with the native Landing page dimension. 6. Refresh fields in your Looker Studio GA4 connector and the dimension will appear. I don't love this approach because the dimension is user- not session-scoped, so metrics won't match GA4 reporting. Unfortunately, GA4 doesn't support session-scoped custom dimensions yet. On the plus side, if you give the cookie a long timeout, you will have something like a 'First user landing page' dimension, which is kind of cool. If you think this would be useful, I'd be happy to put together a demo. I'm kind of curious to see if it would actually work. Alternatively, you could cross your fingers and hope Google adds it to the Looker Studio GA4 connector soon ;)
It took me a few days to pull it together, but here it is: ua-cam.com/video/42fAVtx-ZD4/v-deo.html - I also include the JavaScript code in this post. twooctobers.com/blog/reporting-on-ga4-landing-pages-in-looker-studio/
Just curious...Have you tried to solve this problem also with Looker Field formulas? They seems to be really powerful. I even tried to get some formula answer from ChatGPT but since I know nothing about programming I have no luck so far. But I have very strong feeling that this problem can be solved also by these Looker studio Field Formulas. Actually, this task is simple. We would like to see two, three conversions in one table/chart and that's it. Why the heck isn't there an easy out-of-the-box solution for this :)
I have tried it with Looker Studio calculated fields, specifically IF and CASE statements, but it's not possible to mix conditionals based on dimension values (Event name in this case) and metric return values (Event count in this case). There may be a way to do it, but I'm skeptical that it would be much of an improvement. I agree - Google didn't seem to give much thought to Looker Studio with GA4, which is particularly frustrating since Explorations and reports in GA4 are so limited.
@@Twooctobers Ok, Thank you so much for your answer. I think I should then stick to Custom metrics solution. One more question about Event parametersalso: Do these Event parameters set in TAG manager, do they even appear in GA4 Custom metrics options field or not? Or is there no point in looking for them there? Somehow it seems so logical that they should appear to GA4, but so far it seems that the only way is manually write the exact Event parameter name to Custom metrics Event parameter field. I just hope I will do everything right!
@@Twooctobers Thanks, I just got confirmation, that the parameters did show up in the dropdown list automatically and I can select them. Ok, that`s clear now. :) And I finally got my Custom metrics set up. Now when I add this custom metric to my table all my previous data will disappear from table (null/no data)... My table contains dimensions like "country", "total users", "leads" and "purchases". It is so sad to see that. :( It is probably because that so far I have no conversions, but I still want to see my "country" and "total users" data in my table. Is it kind of similar issue to you or I just did something wrong here?
Great to hear! I'm curious, are you extracting a view or table with conversion data in BigQuery, then reporting on it, or doing multiple BigQuery custom query connectors in Looker Studio?
@@Twooctobers Right now, a table event name, event count and conversion data in BigQuery, then reporting on it. Ideally, I'm searching for a solution to use parameter name and/or parameter value as a dimension/metric in LookerStudio. I'd like to avoid creating more conversions or custom metrics.
I took a stab at what you are trying to do: gist.github.com/nicobrx/a3219f8dfbfdbeed53bbad3ea166af10 My query counts views of twooctobers.com/blog/ga4-resources/ as well as sessions - I included sessions so you have an example of combining an aggregate metric with your parameter value count. You'll need to replace the values in `[your project].[your GA4 table].events_*`, then try changing twooctobers.com/blog/ga4-resources/ to a page path in your dataset to see if it works. Note that because I am grouping by event_date, my session count will be a bit inflated due to the fact that it will double count sessions that span two days. (big thanks to www.ga4bigquery.com/ for pointing me in the right direction)
Every time I need to do this I come back to this video :) Thanks a ton!!
Hi Nico, I don’t even have words to thank you! I am immensely grateful for the content
Fantastic and really helpful. I decided to take it a step further adding the maximum of 5 tables to the Blended Data Source, which allowed me to include the results for 4 seprerate conversion events.
Thanks so much!! Tried to figure out how to put two events into one table. Now it finally worked!! Great video!
Hi Nico, thanks for posting. Very clear instructions, and super helpful content. Appreciate it you sharing this with us.
Hello sir, Thanks so much for sharing this method. I had a couple of such things so I used pivot tables in Looker Studio to display each event that in the conversions subset but this method of custom metrics is quite cool!!
Thank you for the great instructions. I have been using the blended approach for months, but as of this week, all the blends seem to be failing. I have a three table blend with GA4 data. Each additional table is filtered on an event-name so I can determine the impact/conversions of the various sources the traffic is originating from. Straight forward. However, as of this week, it is showing the total number of filtered events regardless of source. Meaning - It displays the same value for sources X, Y, and Z. The sum at the bottom also shows the same value. Lets's say that there were 88 filtered events, it now shows 88 for each row. Prior to this week, it would show different values for each source and sum would be correct.
Tried to use calculated fields based on the event name, but it is not adding up things correctly and just shows 1 or 0, or the total number events. Based on the thread here, the calculated field is not a workable approach.
Is anyone else experiencing the same? Is there an alternative approach that works for separating out different events in one table?
Hmm. I just tried recreating the table and it worked for me. Maybe you experienced a temporary Looker Studio bug? Or maybe you need to refresh your GA4 data source? If the connector has changed in a way that affects one of the dimensions or metrics you are using, that can cause problems. Though usually for me it just breaks the report, it doesn't show incorrect data. I'm happy to have a look - if you click the email link on this page, you can send me a message and I will share my contact info: twooctobers.com/nico-brooks/
Great video... you saved me !!! 😀
Thank you so much for this! :D
Very useful, thank you
Would this specific setup affect it showing under GA4> Admin>Events? I implemented these for one property for my current internship. I left triggers as I normally would have to track PDF downloads, however, none of these GTM events (that have Tags/Trigs) show up in the Events page on Admin, so I cannot tell if it is showing the correct amount on my Looker Report. Some of the PDFs show the same number as this setup with UA data, but others are different.
It shouldn't. Two possibilities I can think of:
1. The ones that aren't showing up aren't actually working. I imagine you've ruled this out, but if not you can do so by triggering the event in GTM preview mode and looking for it in GA4 > Realtime > Event count by Event name.
2. (I suspect this is it) You are not seeing the events in Admin > Events because of thresholding. To test if this is the cause, go to Admin > Reporting Identity and change the identity to Device Based (you will need to click 'Show all' to see this option. Note that changing the reporting identity doesn't affect the underlying data, so you can change this back-and-forth whenever you want. If, after changing it to device-based, you see the event counts in Admin > Events, you know it is a thresholding problem. If it is, you will have to decide whether you prefer the benefit of the occasional cross-device tracking you get with Blended versus the cost of thresholding.
@@Twooctobers In GTM Preview i've gotten most of them to trigger. The ones I cannot get to fire have a form that has to be filled first, and for some reason it doesn't bring me to the pdf. I think my google account doesn't get certain website updates. Pretty annoying when doing website analytics and trying to troubleshoot, but that's a different issue. But anyways, most fire in GTM and Realtime reports. some take more than a minute or two to pop up which is odd.
When I go to change the reporting identity to device-based it warns that "reports may only reflect a subset of your users". Does this mean it will cause KPIs and other events/conversions to be lower since it isn't capturing everyone?
I changed it to device-based, and boom, all my normal GTM events are showing!! Thank you!! Never would have figured that out.
I haven't noticed much negative impact when I switch to device-based. The four types of identity, with comments, are:
1. User ID - this is a value you have to explicitly set. It is really useful if you have a site that users tend to log in to, for example a popular ecommerce site or a subscription-based content site. It's useful because you can set a user's ID based on their login and therefore count the same user across different devices and browsers. If you are working with a property that has user ID implemented, you *have* to choose Blended or Observed Reporting Identity for user ID to work.
2. Google Signals - gets a user ID from a user's Google login. So, for example, if you are logged in to your Google account in Chrome on your phone and laptop, you will be counted as a single user, whereas device-based will count you as two users. This sounds great, but in my experience, Google Signals only improves tracking for a very small percentage of users. Note that you have to have Google Signals enabled under GA4 > Admin > Data Collection for this to work.
3. Device ID - this sets a pseudo user ID in a cookie. It is "pseudo" because it really only identifies a device/browser.
4. Modeling - this is one of the most interesting capabilities of GA4, IMO. If a user has not consented to cookies AND a website has Google Consent Mode enabled, theoretically GA4 can still model user behavior, while adhering to privacy regulations. I say theoretically because for modeling to work a site needs to get at least 1,000 user visits per day, plus a few other requirements. In my experience, most websites don't meet the prerequisites for modeling to work. Still, this is a very important feature, since privacy requirements are only getting stricter over time.
So, unless you have implemented user ID or have a high-volume of traffic and a significant number of users who do not opt-in to tracking, device-based reporting identity should work just fine. And since the alternative options are subject to thresholding, you will also have a lot more confidence that you are seeing all of the data that is being collected by GA4.
Awesome thank you for the info! I'm certified in it but it's been almost a year, so I don't remember reading about those differences. I have a feeling the course probably wouldn't have given that much detail or examples anyways so I appreciate you taking the time to educate me. We don't get that many daily views either so I'll run with Device ID. Good to hear that that one should work just fine too. I'll keep this all in mind if I run into anymore thresholding issues with other GA4 accounts/properties. And I'm sure it will come in handy since I'll be implementing the strategy in the vid for others soon to easily show specific events and conversions.@@Twooctobers
I just did these steps for a page visit event in GTM but my new custom metric isn't showing under Metric for the scorecard. Will it take a day or so to update this?
It typically shows up right away. Have you refreshed your data source? Manage added data sources > EDIT > REFRESH FIELDS (in the lower left)
That fixed it! Thank you for the quick response! Really helping me impress the bosses at my internship @@Twooctobers
Something similar can be done also with Looker Pivot table. But this Pivot table has some sorting issues also.
Hi Two Octobers! I really appreciate this video, it has been the only one I can find to provide this solution.
I have one quick question though, Does Looker Studio automatically pull the custom metric in? I've done all the steps and have waited a few days for it to populate (It's an active website so it's getting triggered). I'm not seeing the custom metric show up in Looker studio... Is there somewhere I need to add it manually? Or what should I do?
Thanks!
Probably this:
Go to Resource > Manage added data sources, click Edit to the right of your GA4 data source
In the lower-left-hand corner, click REFRESH FIELDS
You should see your custom metric(s)
GA4 also automatically adds 'Count [your metric]' and 'Average [your metric]' - you can ignore those
I should have covered that in the video - oh well. Depending on how long it's been since you created the Data Source, you may see some other dimensions and metrics that have been added by Google. Let me know if that doesn't work.
@@Twooctobers Thank you! My original GA4 Data source is grayed out and doesn't seem to let me edit it, however... I was able to add another GA4 Data source, refreshed the fields and my metric is showing up. However, it's currently showing 0 regardless of the date. I'll give it some time to see if it starts populating. Would this be normal though for it to show zero? As I drag it on it shows a number around 1100.
Thank you!
I'm not understanding the zero vs. "As I drag it on it shows a number around 1100." It should populate if it's working. If you insert a scorecard on your dashboard and set it to your metric, does the scorecard show a number? If so, maybe you were trying to combine it with an incompatible event-scoped dimension? The other thing you could try is to use it in an Exploration in GA4 - if it shows data there and not in Looker Studio, maybe there's a filter on the dashboard that's interfering? You can email me from here if it's still not working: twooctobers.com/nico-brooks/
@@Twooctobers Hey thanks for the great content! I think that would be a great piece of information to be added in the FAQ section of your blog post or in the Video's description. I was about to ask the same question :) Cheers and thank you again!
Good stuff, Nico!
Are you connecting straight to the GA 4 data source in Looker Studio?
I don’t even bother anyone with the quota limits…just go straight to BQ.
Thanks Ryan! In the video I am, though generally I have been using the Extract Data connector since the quota limit was introduced. I've set up the BQ link on a few accounts, but haven't really done much with it yet. Are you finding you can pull directly from the raw data, or are you doing any transforms?
@@nicobrooks6761 Makes sense, Nico 👍🏻
I'm largely using Analytics Canvas to work through the logic as I have no interest in learning the depths of SQL that would be required to master that.
You can store it in their BQ or your own/your clients/however you want, and it avoids the quota issue since it's pulling from BQ.
I find the extract data to be useful, but only on "ad hoc" type asks - doesn't seem like a solution for a complete build.
Curious on your thoughts or might be cool to sync up about it at some point!
Cheers 🍻
We're in the process of getting *everything* into BigQuery, so it's just a matter of time for me, and I agree that Extract Data is more for making individual charts faster and avoiding the quota - not practical to replicate the full data source. I've also found weird dimension incompatibilities that are not an issue when connecting to GA4 directly.
Ping me if you'd like to chat more!
This is very helpful, thank you! But what if I have more than 5 different conversions to evaluate in same table? I can create multiple blends (but I can blend only up to 5 tables), and this is fine, but I can't blend the blends
Yeah, unfortunately you can't blend blends. I think you'll have to go to the custom metric approach I describe in the second part of the video: ua-cam.com/video/BGCH39z1bLU/v-deo.html
@@Twooctobers Super helpful video - thanks - I want to use the custom metrics method rather than blend but i am using custom events created from within Ga4 based on the automatic submit form event rather than using the GTM events. I wasn't sure how to create a custom metric from the GA4 custom event - i did think maybe i modify the parameter but i wasn't sure - can you help?
@@indrarenewabletechnologies1081 Yes, you can do something similar to what I show in the video. In the Create events interface, you can add a parameter modification and add a _count parameter to your event, e.g. "your_event_name_count" and set the value to 1. The interface is a bit confusing - it says "modification", but if you put a new parameter name in the Parameter field, it will create a new parameter instead of modifying an existing parameter.
Once you've done that, you can create a custom metric that aggregates the value of your "your_event_name_count" parameter.
@@Twooctobers thanks so much for taking the time to reply. That's super helpful
So I see that in GA4 under the "Custom metric we should select the exact Event parameter as we created in GTM. But I do not see this parameter in this Event parameter list. My question is: Do I just have to wait until my new Event parameter, which I created in GTM, appears in this Event parameter list or I just manually write this parameter into this Event parameter cell?
You don't need to wait for it to show up - you can just manually write it in.
I have set the event parameter in TAG Manager. Should it then automatically appear in Analytics where I set up a Custom metric?
I tried to add an Event parameter to the old TAG in the TAG manager, but it has not reached into GA4 during the day.
Should I create a new TAG in the TAG manager with an added Event parameter so that it also reaches to the Event parameter options in Custom metrics of GA4?
I have found it can take as much as a day for the custom metric to populate in GA4. If you have created a parameter_x in Tag Manager, and a custom metric based on parameter_x, to test it real time you can either enable Preview mode in GTM, then look for the event + parameter in GA4 > Admin > DebugView ( support.google.com/analytics/answer/7201382?hl=en ) OR look in the GA4 > Realtime report, click on your event in the 'Event count by Event name' widget, and that will show you the parameters associated with the event. Then click on the parameter you added and you will see the value(s) of the parameter. If the parameter exists and it's passing a numeric value, your custom metric should start populating soon.
@@Twooctobers Thank you so much! I will start my testing.
In TAG manager under the "Event parameters" we have the button called "Variables" Do we have to choose there something also?
No - if you are adding a count parameter so you can add a custom metric in GA4, you just need to set the parameter value to 1. It's weird that you have to do it that way, but that will give you a parameter that sums to the number of times the event happened.
Thank you! Just what I was looking for.
You are welcome!
I've done exactly what you did, but unfortunately the use of Blend causes discrepancies in the number of sessions for specific traffic sources. I see sometimes more and sometimes less sessions for a given source/medium of sessions. The session totals for both tables (blended and not blended) are the same.
Also, to make a time series chart, we need a date, but adding it also results in different session totals for specific traffic sources.
Did you have similiar problems?
There may be an issue that is specific to the blend, but Sessions is generally a very squirrely metric in GA4. Google describes how they count sessions as "Analytics calculates the number of sessions that occur on your site or app by estimating the number of unique session IDs." (support.google.com/analytics/answer/9191807?hl=en) So, first of all, the metric is an estimate?!?! Second, you can get different total session counts when you apply different dimensions, since one session ID can span dimensions. For example, a session that spans 8-28 and 8-29 will count as two sessions if you segment by date, but one if you don't. Lastly, strictly speaking session ID is not unique to a user (wait, what?), it's actually the timestamp of the session_start event, so you can get different session counts if you apply user-scoped dimensions than if you don't.
Unfortunately, the only way to get a relatively "true" count of sessions is with BigQuery. Otherwise, you have to put up with discrepancies as you add different dimensions and report on different time windows.
But how you can make these GA4 Custom metrics appear in Looker Sudio. Can not figure out myself so far...? Please help!
Have you refreshed fields in your data source? Resource > Manage added data sources > click Edit to the right of your data source > in the lower-left corner, there's a REFRESH FIELDS link. Click that and hopefully your metrics will show up.
Ok, I found it already in previous comments :)
This is awesome. One thing with the GTM solution is it is implementing the total count. However, what if I want to add a unique count metric. For example, if a conversion is a click on a particular CTA that lives on many PDPs on an e-commerce site. Technically a user click it more than one time within a session. I will ultimately want to capture the rate (%) of which sessions click that CTA type. So, in other words, the unique number of clicks on that CTA (conversions) divided by sessions. How would I go about capturing the unique count (session-scoped) of that conversion?
Two options come to mind:
1. By default, conversions in GA4 count once per event, but if you go to Admin > Conversions, you can change that by clicking the three dots to the right of each conversion name and select 'Change counting method' > 'Once per session'. Then, if you use the blend method I describe in the video, I think you will get what you want. Unfortunately, the change will only impact conversion counting going forward.
2. For the GTM solution, the only way I can think of is to set a cookie in GTM that keeps track of whether or not the user has already completed the conversion. I can detail out that approach if that sounds useful to you, but I'm kinda busy between now and midnight on June 30, so it will have to be after that :)
@@Twooctobers this is what I needed for the short term issue. The three dots on the side of the conversion to change to session-scoped is the solution I need. However, what you mentioned at the end of your response with GTM about cookie tracking, I’d definitely be interested in seeing this solution as I could definitely find this useful for other situations. Feel free to reply back whenever you have time, no rush. Thank you!
@@gtufano22 good news! I have a better solution (and need to remake the video, which is less-good news). Google just added 'Conversions count for [conversion event name]' metrics to the Looker Studio GA4 connector. So, for example, if your conversion event is 'cta_click', you should see a 'Conversions count for cta_click' metric in your GA4 data source. You may need to refresh fields to see it. That in combination with the 'Once per session' setting should give you exactly what you need.
@@Twooctobers awesome! I’ll check this out in a bit. Thank you!
@@Twooctobers thanks for the great video!
I was checking the metric 'Conversions count for {event name}' in Looker but I only found the metric 'Conversion count for event' duplicated several times (23 times to be exact, which reflects the number of conversion events I have). It just started showing up as I refreshed the connection with GA4.
If I select one of these duplicated metrics, it gives me an error, even if no other metric or dimension is selected.
Any idea why the event name is not showing as part of the metric name (assuming all metrics have different names)?
Anyone else having the same issue?
Any idea how to attach landing page to conversions inside Looker Studio? Since LS doesn't have a Landing Page dimension yet, I'm using a session_start filter, but that kills the conversion event. Blending doesn't help either since the conversion attaches itself to the Page Path that it occurred on rather than the landing page path.
Well I have an idea, but I don't think it's very good:
1. Create a custom HTML tag in Tag Manager that stores URL in a cookie. Add logic that checks if the cookie exists and only set the value if it doesn't exist.
2. In the same tag, push the value of the cookie to the dataLayer, with a variable name like 'landingPage'.
3. Create a custom variable that gets the value of the dataLayer landingPage variable. (you could also use a 1st party cookie custom variable and skip the dataLayer part - I just like using the dataLayer)
4. Add a landing_page user property to the configuration tag that has the value {{landingPage}}
5. Create a user-scoped custom dimension in GA4 that gets the value of the landing_page user property. Call it something like 'Looker landing page' so it doesn't conflict with the native Landing page dimension.
6. Refresh fields in your Looker Studio GA4 connector and the dimension will appear.
I don't love this approach because the dimension is user- not session-scoped, so metrics won't match GA4 reporting. Unfortunately, GA4 doesn't support session-scoped custom dimensions yet. On the plus side, if you give the cookie a long timeout, you will have something like a 'First user landing page' dimension, which is kind of cool.
If you think this would be useful, I'd be happy to put together a demo. I'm kind of curious to see if it would actually work.
Alternatively, you could cross your fingers and hope Google adds it to the Looker Studio GA4 connector soon ;)
@@Twooctobers Thanks for the response! I'd definitely like to see a demo if you have the time!
It took me a few days to pull it together, but here it is: ua-cam.com/video/42fAVtx-ZD4/v-deo.html - I also include the JavaScript code in this post. twooctobers.com/blog/reporting-on-ga4-landing-pages-in-looker-studio/
Thanks for the video, next time make them a bit bigger because the quality is a bit low and very small
Thanks for the feedback! I see what you mean and I will pay closer attention to the resolution going forward. - Nico
Just curious...Have you tried to solve this problem also with Looker Field formulas? They seems to be really powerful. I even tried to get some formula answer from ChatGPT but since I know nothing about programming I have no luck so far. But I have very strong feeling that this problem can be solved also by these Looker studio Field Formulas.
Actually, this task is simple. We would like to see two, three conversions in one table/chart and that's it. Why the heck isn't there an easy out-of-the-box solution for this :)
I have tried it with Looker Studio calculated fields, specifically IF and CASE statements, but it's not possible to mix conditionals based on dimension values (Event name in this case) and metric return values (Event count in this case). There may be a way to do it, but I'm skeptical that it would be much of an improvement.
I agree - Google didn't seem to give much thought to Looker Studio with GA4, which is particularly frustrating since Explorations and reports in GA4 are so limited.
@@Twooctobers Ok, Thank you so much for your answer. I think I should then stick to Custom metrics solution.
One more question about Event parametersalso:
Do these Event parameters set in TAG manager, do they even appear in GA4 Custom metrics options field or not? Or is there no point in looking for them there?
Somehow it seems so logical that they should appear to GA4, but so far it seems that the only way is manually write the exact Event parameter name to Custom metrics Event parameter field. I just hope I will do everything right!
As far as I can tell, they never show up in the Event parameter dropdown when adding a custom metric or dimension.
@@Twooctobers Thanks, I just got confirmation, that the parameters did show up in the dropdown list automatically and I can select them. Ok, that`s clear now. :) And I finally got my Custom metrics set up.
Now when I add this custom metric to my table all my previous data will disappear from table (null/no data)...
My table contains dimensions like "country", "total users", "leads" and "purchases". It is so sad to see that. :( It is probably because that so far I have no conversions, but I still want to see my "country" and "total users" data in my table.
Is it kind of similar issue to you or I just did something wrong here?
Thanks, This solution worked for BigQuery / GA4 too!
Great to hear! I'm curious, are you extracting a view or table with conversion data in BigQuery, then reporting on it, or doing multiple BigQuery custom query connectors in Looker Studio?
@@Twooctobers Right now, a table event name, event count and conversion data in BigQuery, then reporting on it. Ideally, I'm searching for a solution to use parameter name and/or parameter value as a dimension/metric in LookerStudio. I'd like to avoid creating more conversions or custom metrics.
I took a stab at what you are trying to do: gist.github.com/nicobrx/a3219f8dfbfdbeed53bbad3ea166af10
My query counts views of twooctobers.com/blog/ga4-resources/ as well as sessions - I included sessions so you have an example of combining an aggregate metric with your parameter value count. You'll need to replace the values in `[your project].[your GA4 table].events_*`, then try changing twooctobers.com/blog/ga4-resources/ to a page path in your dataset to see if it works.
Note that because I am grouping by event_date, my session count will be a bit inflated due to the fact that it will double count sessions that span two days.
(big thanks to www.ga4bigquery.com/ for pointing me in the right direction)