Does not display track record in Google Analytics - wordpress

I have installed plugin WP Post to PDF to convert a current post in pdf. but now i dont know how many person use this feature on my site. so i want to track of pdf download from my site http://careertest.guru99.com/
Thats why i have added onclick event on this link as below
onclick="_gaq.push(['_trackEvent','Download','Click',this.href])";
and also added below code in plugin
<html>
<head>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','http://www.google-analytics.com/analytics.js','ga');
ga('create', 'XX-YYYYYYY-Z', 'auto');
ga('send', 'pageview');
</script>
</head>
</html>
So when a user click on Download PDF, a PDF will be downloaded but in Google Analytics it does not display any effect. Means in google analytics it does not display how many people Downloaded PDF and from which post.
Please help me how can i know this.
Thank you

Aside from the JS syntax errors, if you are using Universal Analytics, then you will need to use the "ga" object (currently you are using the older _gaq object). To send the event through the onclick handler, your Google Analytics code should look something like this
ga('send', 'event', 'download', 'PDF', $(this).href);
Also note that your quotes should be consistent. Use the single, straight quotes.
Hope this helps.

Related

why form submit data in Google Analytics and how to remove it?

I wonder why GA is tracking this link:
/de/shop/pizza.html?tx_pizza_basket[action]=addToCart&tx_pizza_basket[controller]=Basket&cHash=fae9b7812f842f543hgf0ac374e9a978ca0
This URL (domain is removed here so it's not the full path) opens the basket with some pizzas added to it :)
I wonder why GA is tracking this exact path and how to stop GA from tracking this sort of form submit URLs.
Here is my GA Code:
# JavaScript für Google Analytics
temp.google.analytics = TEXT
temp.google.analytics.value (
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-87654123-1', 'auto');
ga('send', 'pageview');
</script>
)
Regards,
M.
By default, Google Analytics records the value of document.location.href when it is executed. If you don't wish to record the URL parameters for this page, you have 2 options:
Create a set of advanced filters for the reporting view that excludes parameters tx_pizza_basket[action] and tx_pizza_basket[controller]. Additionally set your view's Exclude URL Parameters setting to include cHash
For this particular page, change ga('send', 'pageview') to ga('send','pageview', document.location.pathname)

Google analytics events not showing up

New to google analytics so bear with me. I added the event tracking to my code, but when i check in the reporting behavior event tab it's blank. Here is my code.
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXXX', 'auto');
ga('send', 'pageview');
</script>
here is an example of my a tag
<a href="http://example.com/" target="_blank" class="app-logo" ga('send', 'event', 'Link', 'Click', 'example.com');>
In google-analytics, for the correct website, look on the "realtime/events" page and see if events are appearing there (they should appear here within a few seconds, after being triggered on your website).
If not, you might have added a filter, to filter out events generated by traffic from your own IP. You can find this filter under "admin" and then "all filters". If so, remove it (or temporarily change the IP-address, so it doesn't match). After that, generate a few events on your website and look again on the google-analytics page, under realtime traffic / events page.
If they work under realtime, it should also work in non-realtime (but it might take 24-48 hours to appear there!)
Not sure if this just a typo in your example, but you are missing the event handler in your link:
The event handler ("onclick") is the bit that specifies which action shall trigger the javascript code. If you just dump the event call in the HTML it will not even be recognized as JS.

When adding google tag manager snippet, do I need to remove google analytics tracking code totally?

My only confusion is:
Full code before Adding google tag manager as below ()
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-65833292-1', 'auto');
ga('send', 'pageview');
Now, for google tag manager code to be added, do I need to add the google tag manager script in addition of the above code or should I remove the tracking code of analytics and add ONLY GTM snippet?
Ideally, you will need to remove all GA (on-page) tracking code including the standard snippet so that you only have the GTM snippet. Everything will be taken care of from within GTM (pageviews, events, other hits). Although leaving the GA code on the page does not cause any errors, it will skew your data.

Google Analytics beacon sent but Analytics shows nothing

I installed Google Analytics (UA) and added tracking code to a html page.
I ran html page from the browser file:///C:/test.html and debugged using google debugger, it ran successfully and shows sent beacon - but Analytics does not show the numbers. I waited for a day but still does not work.
**It works fine if I place the file in c:\Inetpub\wwwwroot and run as http://localhost/test.html
-------------------Code in test.html page-------
<script>
(function(i,s,o,g,r,a,m)
{i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-******-*', 'auto',{'storage': 'none'});
ga('set', 'checkProtocolTask', null);
ga('send', 'pageview');
</script>
Can anyone tell me if google analytics works in my case.
What you want to do should definitely work, but you'll have to modify a few other things you're sending to prevent the hit from being dropped by Google Analytics.
Basically what's happening now is your hit is invalid. As you can see here using the Hit Builder tool.
I think you should be able to get around this by using the page field instead of the location field (which is auto-populated by analytics.js when you create the tracker), like so:
ga('set', 'location', null);
ga('set', 'page', '/test.html');
ga('send', 'pageview');
I've never tried this without also setting the location field, so it's possible Google Analytics will still complain that no hostname is present (Note: I tested this with Google Tag Assistant and it did complain, but it didn't say anything about the hit being invalid, so it will probably work fine.)
If using page instead of location doesn't work, you can always just modify location and give it a fake hostname, and that will definitely work.
ga(function(tracker) {
var oldLocation = tracker.get('location');
var newLocation = oldLocation.replace('file:///C:', 'http://fakehostname.com');
tracker.set('location', newLocation);
})
ga('send', 'pageview');
In either case, you won't need to unset the checkProtocolTask because you're now not using the file protocol.
Since it sounds like hostname doesn't matter in your case, giving it a fake value should have no impact on your reports.

How to use analytics custom dimensions for tracking pageviews by author?

I am trying to configure my blog and the analytics code for it. There are multiple authors in my blog. What I am trying to do is aggregate the number of views by separate authors.
This is what I did
Went to my Analytics Admin and from there, for my Web Property I created a Custom Dimension from Custom Definitions.
The custom dimension is creted with Index 1 and the scope is "Hit". It is shown in the image above.
Then for the analytics code, that I place in the posts of my Blog, I placed the following code:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXX-XX', 'myblog.com');
ga('send', 'pageview', {
'dimension1': 'Author Name'
});
</script>
I've placed my value for UA-XXXXXXX-XX, myblog.com and Author Name.
It has been almost a month since I've been scratching my head and hoping that the code would work. But I don't see any stats in my Analytics > Audience > Custom > Custom Variables / User Defined. I hope it is there where I am supposed to look.
So, where did I go wrong? I would be highly greatful if someone would point out what I missed.
It looks like you've named your custom dimension "Custom Dimension Name" when it should be "Author" and you'll need to add the server-side variable as the value for dimension1.
For example, if you're using WordPress, your code would look like:
ga('send', 'pageview', {
'dimension1':'<?php the_author(); ?>'
});
Also, your custom dimension scope should be set to hit.

Resources