How can I track news categories in GA4? - google-tag-manager

We have a gtm-tag article_read which include parameters such as
news_id, article_title, news_id and so on.
How can I include a list of categories in the article_read-tag?
The categories are:
Electricity, Refrigeration, Sanitation, Water & sewer, Ventilation and Heat.
Each news-article can have none or several categories.

You want to make these categories available to your GTM. So you either parse every article page to get the categories or ask the front-end to push them to the dataLayer on pageviews, which would definitely be a more robust solution.
Once you have the list accessible through GTM, you want to sort it, say, alphabetically and use that in your event property.
Don't forget to register the property in GA.
Note that analysis on this will be a bit tricky. You'll have to use contains on this dimension. But it's much better than nothing. You would have more options if you did ETL, or if you used a more advanced analytics solution. GA is generally a free product, hence the limitations.

Related

What is the proper way to tag pages in Google Analytics?

I don't even know if "tagging pages" is what I mean.
Essentially, I have a large education website with many types of pages. Specifically, I want to tag our program pages by faculty, level, etc. For example, the Biology program page would be tagged with Science (as its faculty), and Undergraduate (as its level). It's possible that a program could belong to multiple faculties and/or levels (Psychology, for instance, is both a Science program and an Arts program). There is nothing in the URL to signify faculty or level. The website is built in Drupal, in case you know of any modules that could facilitate this.
I want to understand how different faculties/levels/etc perform. I will be building reports in Google Data Studio.
Any guidance would be appreciated!
What you are looking for is called 'content grouping'. If you haven't information in the URL you can define some rules when the page loads and pass the information to Analytics with the pageviews.
You can find more information here:
https://support.google.com/analytics/answer/2853423?hl=en
Then you can get these information from Data Studio.
Because of your multi-value needs, nothing in GA is going to satisfy your requirements out of the box. You will have to do some post-processing, and I am not familiar enough with Data Studio to know where its limits are in that regard.
As the previous poster suggested, Content Grouping is the standard way to create custom aggregations of pages. You can have multiple content groupings, such as Faculty and Level, but a page can be in only one group per grouping (not the clearest terminology but it appears to be what Google uses).
A different option is Custom Dimensions. There are two options here. One is to create custom dimensions for Level and Faculty. Each page can still have only one value per dimension, but you could send a comma-delimited string when a department is in multiple faculties (for instance) and then pull it apart again in a spreadsheet.
The second option is to create a custom dimension for Department directly, and associate each department to the appropriate one or more faculties and levels in your reporting.
How you set the custom dimensions or content grouping will depend on your implementation of GA. If you are using the Google Analytics Drupal module, it says it supports setting custom dimensions as a feature. If you are using Google Tag Manager you can set the dimension value in your tags directly, though of course it will need to decide what value to set on based on either totally enumerated rules you write or something it can read out of the page. Here is some Tag Manager documentation: Content Grouping via GTM; Custom Dimensions via GTM.
If the department is present in the page in some consistently marked-up way you can grab it; if not the Metatag module or one of its schema.org extensions might be able to provide you a spot to set a value for GTM to retrieve.

About the infomation we can confirm by Google Analytics

In my EC site, product data have the information below.
 ・Brand
 ・category
 ・Sub-category
 ・Division
 ・Style
 ・Color-way
 ・Gender
 ・Season
Can we send and confirm the information in Google Analytics?
I searched in help, and think only we can send Brand,Category, Sub-category.
https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce
BestRegards,
Kazuhito
Check "Enhanced Ecommerce" for a few more options: https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce
It's important to understand, that there are multiple sections. Dependent of what you want to do, you've got other limits. If you want to send "Product Data", then your limits are: id, name, brand, category, variant, price, quantity, coupon, position
As I was in my past also in your situations and at least in my unlucky situation the reality was, that divisions could change... So I would recommend you to use what you have and ensure that you send the SKU. Then you can export GA data and export the actual data of your e-commerce system and map the two data parts over the unique identifier SKU together (VLOOKUP and so on).
If you want everything in GA you also can extend the available fields with any field you want to have over custom-dimensions/custom-metrics: https://support.google.com/analytics/answer/2709828?hl=en
If you're going for custom-dimensions/custom-metrics I really can recommend first building a concept and really think also about the future. Otherwise you will regret it.
I hope this helped :)

how many values can a custom dimension take in google analytics?

To anonymously analyze users flow and engagement I want to use the ClientID, as identifier of each user, as a value of a custom dimension. I have two questions regarding this idea:
How many values can be associated to a custom dimension? This will determine the feasibility of this approach or not.
Is there any other approach to track individually, yet anonymously, users activity?
I'm not aware of a limit though for custom dimension length. But storing userId, sessionId customerId and timestamps for all hits in custom dimensions is not all that unusual these days. Here is a link to a post by Simo Ahava's post Improve Data Collection With Four Custom Dimensions on how to set it all up in google tag manager.
For hit based custom dimension you can store as many values as there are hits. The problem is not storage, the problem is that the interface will not show more than 50 000 rows with distinct values (any additional value will go into a row labeled "other"). Also some of the reports (namely demographics) will not work with very small segments.
I cannot think of any other way to track users individually (and if you are interested in opinions, I blogged about how I do not understand why people want to do this). The interface is not very well suited for this kind of "atomic" information, so I think the approach is more useful for API integrations that can properly visualize information on a per user basis.

Is it possible to track actual affiliate sales in Google analytics

I have a website that I built and am getting sales everyday now via "affiliate window" I was curious if it was possible to track the commission in analytics so I am able to see what pages are performing the best?
Thanks
You should look into purpose-built affiliate trackers. Voluum, Thrive, Adsbridge etc. CharlesNgo.com has a lot of info about these.
You can also use these trackers to dynamically insert user data into your landing pages, and they are a lot easier than GA to use. Example: https://charlesngo.com/how-to-insert-user-data-into-landing-pages-using-voluum-tokens/
After a clarifying comment: Yes, you can do this, although with some caveats (one of them that it might not be worth the effort unless you make a lot from your affiliate pages).
You can do data imports, and more specifically you can add data to urls (there are different kinds of data import and "content data" is one of them).
You need a dataset that contains a "key" field that is used to match external data to GA data and one or more fields with values you want to import.
Imported data is always dimensions, i.e. categorical data (that is per Documentation The interface allow to to select custom metrics, but I have not yet tried this and cannot give any guidance on how that would work). So if you try to import revenue you have the problem that new entries will not be added to existing entries, they will replace them
What I would probably do is to sort the data from the "affiliate window" into three categories (low, medium, high), and then prepare a csv file with the urls as first column and the categories as second column.
Then create a custom dimension with a name of i.e. "performance" (else you'd have to overwrite an existing dimension in GA and you probably not want that).
Both custom dimensions and data imports are created on a property level (however you can apply an import to a specific view and I would urge you to test this on a test view first). So in the property settings go to data import, new, content data. Key will be "page", Imported data will be the custom dimension you just created. Check "overwrite hit data" (else the data will not change after the first import, however note that this might make comparisons between different timeframes difficult).
Download the "schema" file (simply a template for your csv upload file in which you insert your data). Click finish.
Next go to data imports, "manage uploads" and upload the file. Processing will take a day or so (errors, if any, you will see shortly after the upload).
Then go to your content reports, select your custom dimension as secondary dimension and you will if the url in question was a low, medium or high performer.
You can automate this via the GA API, bit that's a bit beyond an SO answer.
---- (old answer)---
This is actually what campaign parameters are for. Your affiliate links should be tagged with campaign parameters, e.g.
http://example.com/?utm_medium=affiliate&utm_source=[[Affliate
Name]]&utm_campaign=[[Campaign Name]]
The things in the angled brackets are placeholders, you would replace those with the name of your affiliate and the name of your campaign.
Now you can look into the aquisition reports and group by source (values for all affiliate links), by source (breakdown by affiliate name) or campaigns, or combinations thereof.
However tracking the commission you pay out via Google Analytics is probably not a good idea, at least from the point of view of your affiliates - JavaScript based tracking is not necessarily accurate enough to track billable services (some people have js disabled or opted out of GA or use adblockers that block tracking etc).
Yes it's possible. You can use sub-id's and fill them with unique visitor data (Google Analytics Used ID). Once an affiliate sale is tracked in an affiliate network, you'll get the sub-id that generated the sale. You can now push that sale to google analytics and let google analytics match the visitor data with their data, showing you the full visitor reports (including landingpage info etc.). You need developer skills to get this working with your affiliate networks but there are complete easy to use tools that does the trick for you such as Ivanhoe.io and Coincrack.

Google Analytics: Using custom variables to track growing values

I believe custom variables in Google Analytics can only be used to track the distribution of different values for that variable over time.
Suppose I have a forum and want to track the total number of posts made in that forum. Could I track them over time with Google Analytics, too? And how?
Custom Variables are a user-based dimension. So, traditionally, instead of measuring forum posts, they'd instead identify users who post on forums. That doesn't seem like what you're trying to measure.
Instead, you should consider looking at Event Tracking. Specifically, they allow for the tracking of 4 separate data points (per hit): 3 strings and a integer value.
So, you could use this to track when posts happen, or when comments happen on those posts, and then aggregate the values by whatever dimension you like using the API. You'd just need to bind the event to occur at the times you intend, with the data you want to track.
So, an example event call for you, tied to whenever someone posts a comment on a forum topic:
_gaq.push(['_trackEvent', 'Form Posts', 'Comment', topic_name, 1]);
You could then use the API to query particular views to tabulate whatever aspect of the event you want to aggregate. You can simulate those calls with the Google Analytics API Query Explorer. In this example, you could get number of Comments per day using Dimension set to ga:date, Metric set to ga:totalEvents, and then set the filter field to ga:eventAction==Comment

Resources