admin管理员组

文章数量:1022719

Innit GA

var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-xxxxxxxxx-6']);
    _gaq.push(['_trackPageview']);

    (function () {
        var ga = document.createElement('script');
        ga.type = 'text/javascript';
        ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics/ga.js';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(ga, s);
    })();

Track event

ga('send', {
              'hitType': 'event',
              'eventCategory': 'Customer',
              'eventAction': 'Registration',
              'eventLabel': 'Popup',
              'eventValue': 0.99
            });

But this allways return undefined, And I added the 'Registration' event (with that category, label and value) in conversions, at google analytics site,

Any idea why this could happen?

Of course it isn't tracked..

Innit GA

var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-xxxxxxxxx-6']);
    _gaq.push(['_trackPageview']);

    (function () {
        var ga = document.createElement('script');
        ga.type = 'text/javascript';
        ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics./ga.js';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(ga, s);
    })();

Track event

ga('send', {
              'hitType': 'event',
              'eventCategory': 'Customer',
              'eventAction': 'Registration',
              'eventLabel': 'Popup',
              'eventValue': 0.99
            });

But this allways return undefined, And I added the 'Registration' event (with that category, label and value) in conversions, at google analytics site,

Any idea why this could happen?

Of course it isn't tracked..

Share Improve this question asked Sep 6, 2015 at 8:45 Toni Michel CaubetToni Michel Caubet 20.2k58 gold badges218 silver badges388 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 2

You are mixing old-style classic syntax (using the _gaq array) and Universal Analytics, so your ga object is not set up correctly (the tracker id from _gaq will not be used in the ga object and hence no tracker is created).

Your code should look something like this:

  (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./analytics.js','ga');

  ga('create', 'UA-XXXXXXXX-1', 'auto');
  ga('send', 'pageview');
ga('send', {
              'hitType': 'event',
              'eventCategory': 'Customer',
              'eventAction': 'Registration',
              'eventLabel': 'Popup',
              'eventValue': 1
            });

@Eike Pierstorff is actually right, but there is a thing:

Option №1

https://groups.google./g/google-analytics-analyticsjs/c/mayu2cf1d0k?pli=1 - Thanks to Brad Townsend.

To be sure, that everything works fine in the browser console (I tested only Google Chrome), use Google Analytics Debugger Plugin, then go to Console, you will start seeing things like that: "Executing/Running Google Analytics mands."

Try to send an event:

ga('create', 'UA-XXXXXXXX-Y', 'auto');
ga('send', {
              'hitType': 'event',
              'eventCategory': 'Test',
              'eventAction': 'Defined',
            });

For your every first event, you must write the first mand:

ga('create', 'UA-XXXXXXXX-Y', 'auto');

Or it will log that target is undefined.

Option №2:

Also, if you are using GTM and just want to use "ga('send')" like old times, you need to specify in UA-tag Tracker Name to blank:

Go to GTM, find your UA-tag -> Advanced Configuration -> Set Tracker Name ("True") -> leave the field "Tracker Name" blank.

Innit GA

var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-xxxxxxxxx-6']);
    _gaq.push(['_trackPageview']);

    (function () {
        var ga = document.createElement('script');
        ga.type = 'text/javascript';
        ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics/ga.js';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(ga, s);
    })();

Track event

ga('send', {
              'hitType': 'event',
              'eventCategory': 'Customer',
              'eventAction': 'Registration',
              'eventLabel': 'Popup',
              'eventValue': 0.99
            });

But this allways return undefined, And I added the 'Registration' event (with that category, label and value) in conversions, at google analytics site,

Any idea why this could happen?

Of course it isn't tracked..

Innit GA

var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-xxxxxxxxx-6']);
    _gaq.push(['_trackPageview']);

    (function () {
        var ga = document.createElement('script');
        ga.type = 'text/javascript';
        ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics./ga.js';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(ga, s);
    })();

Track event

ga('send', {
              'hitType': 'event',
              'eventCategory': 'Customer',
              'eventAction': 'Registration',
              'eventLabel': 'Popup',
              'eventValue': 0.99
            });

But this allways return undefined, And I added the 'Registration' event (with that category, label and value) in conversions, at google analytics site,

Any idea why this could happen?

Of course it isn't tracked..

Share Improve this question asked Sep 6, 2015 at 8:45 Toni Michel CaubetToni Michel Caubet 20.2k58 gold badges218 silver badges388 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 2

You are mixing old-style classic syntax (using the _gaq array) and Universal Analytics, so your ga object is not set up correctly (the tracker id from _gaq will not be used in the ga object and hence no tracker is created).

Your code should look something like this:

  (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./analytics.js','ga');

  ga('create', 'UA-XXXXXXXX-1', 'auto');
  ga('send', 'pageview');
ga('send', {
              'hitType': 'event',
              'eventCategory': 'Customer',
              'eventAction': 'Registration',
              'eventLabel': 'Popup',
              'eventValue': 1
            });

@Eike Pierstorff is actually right, but there is a thing:

Option №1

https://groups.google./g/google-analytics-analyticsjs/c/mayu2cf1d0k?pli=1 - Thanks to Brad Townsend.

To be sure, that everything works fine in the browser console (I tested only Google Chrome), use Google Analytics Debugger Plugin, then go to Console, you will start seeing things like that: "Executing/Running Google Analytics mands."

Try to send an event:

ga('create', 'UA-XXXXXXXX-Y', 'auto');
ga('send', {
              'hitType': 'event',
              'eventCategory': 'Test',
              'eventAction': 'Defined',
            });

For your every first event, you must write the first mand:

ga('create', 'UA-XXXXXXXX-Y', 'auto');

Or it will log that target is undefined.

Option №2:

Also, if you are using GTM and just want to use "ga('send')" like old times, you need to specify in UA-tag Tracker Name to blank:

Go to GTM, find your UA-tag -> Advanced Configuration -> Set Tracker Name ("True") -> leave the field "Tracker Name" blank.

本文标签: javascriptGA send eventreturns undefinedStack Overflow