How can I display data passed into dataLayer in Google Analytics using GTM?
Let me share with you what I was able to do so far.
1 There is a part in my client side JavaScript code from where I am sending a data. I am doing it in this way: dataLayer.push({startedPlaying: true});.
2 Now in GTM I am getting the data in a Message format:
Now I would like to send the data directly to Google Analytics. And in Google Analytics I would like to keep track of how many times such a message was sent from the client (in my example it means how many times a song play button was clicked).
I understand that the question may be a little bit too broad, but if it is so, then answer it is broadly as well, so that I got my next learning directions in the matter. Thank you.
So instead of sending startedPlaying: true, try sending event: 'started-playing'this is how you send a datalayer event.
Then configure a custom event trigger in GTM to trigger off of the "started-playing" datalayer event.
Then create a Google Analytics tag of the "event" type and put in all the event information about this event to be sent to GA and attach the trigger created above. Like so:
Related
I need to trigger a GA hit of type data and I need to do this via GTM.
The problem I am having is I don't see a hit type data in the list of events in the GA template in GTM.
This should answer the question: https://developers.google.com/analytics/devguides/collection/analyticsjs/sending-hits
I don't see the data hit type there, but you're free to try it out. I think data may be used by google optimize. I've seen adswerve reacting to google optimize events like data type.
Anyway, if you sure the ga function accepts the data hit type, you can use custom code and call the function directly as it's shown in the doc.
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.
I'm using Google Analytics property for Firebase project, and I'm trying to send some event via Measurement Protocol but as far as I see there is no specific MP parameters for such events.
Is there any way to do this?
If you're trying to add an additional attribute to your GA data then a custom variable or dimension/metric within GA might be what you're after.
Once that's in place you should be able to populate it using the MP.
I need to track events in Google Analytics from a server through the Measurement Protocol. I can do this just fine, but my problem is that I want to send additional/custom data along with the event. Specifically, I want to send a UUID along with the event so that it is possible for me to fetch data from the Google Analytics API in the future and correlate events with rows in a relational database.
Is there any decent way to send custom data along with events? I looked at using the event value, but it must be an integer, and it is not intended for things like this. The event category, action, and label are reserved for other purposes.
I am not that proficient in Google Analytics, so the solutions off the top of my head would be:
Send an additional event containing the UUID in the event label or something like that. Seems like a bit of a hack/workaround to send two events, with one being used exclusively behind the scenes.
Perhaps using a custom dimension or metric. I am not 100% sure about the implications of this and if that's a decent approach or not.
So basically my question is: what would be the best way for me to send a UUID along with a Google Analytics event from a server, taking into consideration that I cannot use the event category, action, and label for the current event? Is there any other way in which I could link events retrieved from the Google Analytics API to rows in a database?
So let's say I trigger a "Completed Order" event to GA, and I also have orders in a MySQL database. So what I want to do, is to link an event to an order row in the database.
There are several things that you can do and it pretty much depends on what you want to do with the information you are storing. For starters, all your requests should include the uid field with the value being the user ID within your system. This way all Google Analytics data will be calculated on the same user. Note: this is an internal value used within Google Analytics and you won't be able to see it.
Second, I would create a custom dimension of the name user_id and store the user information in that. You will then be able to use this information within your reports to see what each user is doing. Note: it's against TOS to send user name, email, or any other PII (personally identifiable information) to Google Analytics. But you can send your internal user ID.
I have done both of these in the past and found it to work quite well.
More info on User-ID.
As my heading suggest, I would like to know if it is necessary to implement a Data Layer to push Custom Metrics and Custom Dimension data from Google Tag Manager to Google Analytics.
Some guides I have seen seem to suggest you do not need to implement a Data Layer: http://mixedanalytics.com/blog/custom-metric-ga-google-tag-manager/
However, there are others that suggest you need to: https://campaigntail.com/Blog/Ultimate-Guide-Custom-Dimensions-Metrics-Google-Analytics
When I say implement a Data Layer, what I mean is insert code like this into your website:
// Set value for custom dimension #3.
ga('set', 'dimension3', 'variant a');
// Set value for custom metric #1.
ga('set', 'metric1', 1);
// Send pageview. Passes the dimension and metric to GA.
ga('send', 'pageview');
I have tried implementing the first method but failed. So was wondering what is the right way to go about it.
Thank you.
(Edited because of stupid). Your code example does not show a datalayer, it shows a part of Google Analytics tracking code that wouldn't event work with a standard GTM setup (because GTM uses unique tracker names).
A datalayer is an an array of JSON objects that you can use as a container for your data. However GTM is happy to accept data from almost anywhere, including values that are directly written into your tracking tags. So no, you do not need a datalayer (other than in the sense that GTM will automatically create the datalayer that it needs to function).
Remember the data takes some time (up to 24 hours) to show up, and custom dimensions/metrics are not part of the standard reports. You have to create custom reports, or select your custom dimensions as secondary dimension in a standard report.