Me gustaría realizar el seguimiento de un onclick de un botón en una página en un sitio, después de que una condición se pasa la comprobación de si una cookie está presente.

Muy simple, pero que la sintaxis sería mejor?

He investigado las ga y gaq_push prefijo de la GA seguimiento de eventos y de sintaxis (que me perdone si me equivoco), pero parece bastante similar?

_gaq.push

<script type="text/javascript">
jQuery(document).ready(function () {
    if (jQuery.cookie('entry_winagrand_cookie') !== null) {
        jQuery('notregisterbtn').on('click', function () {
            _gaq.push(['_trackEvent', 'QR_Win_A_Grand', 'Clicked through to Register']);
        });
    }
});
</script>

ga

<script type="text/javascript">
jQuery(document).ready(function () {
     if (jQuery.cookie('entry_winagrand_cookie') !== null) {
         jQuery('notregisterbtn').on('click', function () {
             ga('send', 'event', 'button', 'click', 'QR_Win_A_Grand', 'Clicked_through_to_register');
         });
     }
});
</script>

5 Comentarios

  1. 81

    Si utiliza ga.js («tradicional» código asíncrono) tiene que utilizar _gaq.de empuje. Si utiliza analytics.js que usted necesita para utilizar ga enviar. Los métodos no son intercambiables, pertenecen a dos diferentes versiones del código de seguimiento de Google Analytics.

    Por ahora (2017) hay una nueva versión del código (gtag.js), así que si usted está usando que no utiliza ni ga ni _gaq.push pero en lugar de seguir la migración de las directrices de para traer a su código, hasta la última versión (o bastante sensatez de empezar a utilizar Google Tag Manager).

    • Gracias! Lástima que esto no era claramente se menciona en ninguna parte. Me preguntaba por qué no había de seguimiento de eventos sucediendo durante horas!
    • Se menciona claramente en la documentación. Ahora al menos
    • para ser justos, que la pregunta y la respuesta es de dos años 🙂
    • Esto es cierto! Mi mal
  2. 17

    Si había tanto analytics.js y ga.js ejecutar en su sitio, que es lo recomendado, mientras que analytics.js aún está en beta, puede ejecutar tanto, aunque me gustaría combinarlos en la notregisterbtn función, así:

        <script type="text/javascript">
        jQuery(document).ready(function () {
            if (jQuery.cookie('entry_winagrand_cookie') !== null) {
                jQuery('notregisterbtn').on('click', function () {
                    //you should first check if ga is set
                    if (typeof ga !== 'undefined') {
                        ga('send', 'event', 'QR_Win_A_Grand', 'Clicked_through_to_register');
                     }
                    //check if _gaq is set too
                    if (typeof _gaq !== 'undefined') {
                        _gaq.push(['_trackEvent', 'QR_Win_A_Grand', 'Clicked through to Register']);
                    }
                 });
            }
        });
        </script>
    • Gracias @Blexy – gran ayuda y una buena solución.
    • usted está en lo correcto. He cometido el error de copiar y pegar OP código. He actualizado mi código.
    • Sí, para mí que estoy notando problemas con la nueva forma preferida ! De modo que la nueva forma de ga(‘send’… no es trabajo aunque veo a la solicitud de la red vaya muy bien … parece que necesitamos para proporcionar a ambos, pero me preocupa que las estadísticas no pueden ser precisos cuando google revisión de su código, si se rompe.
  3. 17

    Me gustaría crear una función si necesita hacer un seguimiento de los diferentes eventos, de tal manera que el código es más limpio.

    analytics.js

    ga.js

    function TrackEventGA(Category, Action, Label, Value) {
        "use strict";
        if (typeof (_gaq) !== "undefined") {
            _gaq.push(['_trackEvent', Category, Action, Label, Value]);
        } else if (typeof (ga) !== "undefined") {
            ga('send', 'event', Category, Action, Label, Value);
        }
    }
    TrackEventGA('QR_Win_A_Grand', 'Clicked_through_to_register');
  4. 1

    Este es mi script tengo en Google Analytics página

     <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-77777777-2', 'auto');
        ga('send', 'pageview');
    </script>

    Para realizar el seguimiento de mis otras páginas Backbone.js, pongo este código en cada Backbone.js Ver secuencia de comandos:

    ga('send', 'pageview', myUrl);
  5. 0
    /* universal event tracking */
    function trackEventTag(category, action, opt_label) {
        /* analytics.js send event */
        ga('send', 'event', { 'eventCategory': category, 'eventAction': action, 'eventLabel': opt_label });
        /* add delay or additional tracking here */
        return true;
    }
    /* send ga.js _gaq.push() events to universal tracker */
    var _gaq = window._gaq || {
        push: function (ar) {
            if (ar && ar.constructor === Array && 0 in ar) {
                if (ar[0] == '_trackEvent') {
                    var category = 1 in ar ? ar[1] : null, action = 2 in ar ? ar[2] : null, opt_label = 3 in ar ? ar[3] : null;
                    return trackEventTag(category, action, opt_label);
                }
                /* test for others you want to translate here */
            }
            return true;
        }
    };
    • por favor, añadir algo más de información y no sólo el código. gracias!

Dejar respuesta

Please enter your comment!
Please enter your name here