Anleitung Google Analytics Conversation Tracking Code

Thema wurde von Steffen (indiv-style.de), 11. Oktober 2012 erstellt.

  1. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Wir nutzen Google Analytics um unsere Conversation zu tracken. Der angegebene Code von Google hat allerdings viele Werte nicht mit übertragen. Hier unsere Lösung(GX2 V2.10):

    in die checkout.php nach:

    PHP:
    if(is_array($t_dispatcher_result_array))
    {
        foreach(
    $t_dispatcher_result_array AS $t_key => $t_value)
        {
            
    $smarty->assign($t_key$t_value);
        }
    }
    das einfügen

    PHP:
    // Änderung IndivStyle //
    $orders_total_query xtc_db_query("select * from ".TABLE_ORDERS_TOTAL." where orders_id = '".$orders['orders_id']."'");
    $orders_products_query xtc_db_query("select * from ".TABLE_ORDERS_PRODUCTS." where orders_id = '".$orders['orders_id']."'");

    $i 0;
    while(
    $product xtc_db_fetch_array($orders_products_query)){
        
    $orders_products[$i] = $product;
        
    $i++;
    }

    while(
    $product xtc_db_fetch_array($orders_total_query)){
        
    $orders_total[$product['class']] = $product['value'];
    }

    foreach(
    $orders_products as $value) {
        
    $googleAddItem .= "_gaq.push(['_addItem',
        '"
    .$value['orders_id']."',
        '"
    .$value['products_id']."',
        '"
    .$value['products_name']."',
        '"
    .$value['products_model']."',
        '"
    .$value['products_price']."',
        '"
    .$value['products_quantity']."'])
        "
    ;
    }

    $google_analytics "<script type=\"text/javascript\">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-xxxxxxxxx']); (hier eure UA-Nummer rein)
      _gaq.push(['_trackPageview']);
      _gaq.push(['_addTrans',
        '"
    .$orders['orders_id']."',
        'Reifen24',
        '"
    .$orders_total['ot_total']."',
        '"
    .$orders_total['ot_tax']."',
        '"
    .$orders_total['ot_shipping']."',
        '"
    .$orders['customers_city']."',
        '"
    .$orders['customers_state']."',
        '"
    .$orders['customers_country']."'
      ]);

      
      "
    .$googleAddItem.";
      _gaq.push(['_trackTrans']);

      (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.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>
    "
    ;

    $smarty->assign('google_analytics'$google_analytics);
    //Änderung Ende
    und in der checkout.html ganz unten nach dem {/if}

    das einfügen:

    Code:
    {$google_analytics}
    funzt prächtig!
     
  2. sileo

    sileo Erfahrener Benutzer

    Registriert seit:
    22. März 2012
    Beiträge:
    2.266
    Danke erhalten:
    274
    Danke vergeben:
    205
    Gambio hat ja standardmäßig einen goolge code drin, der aktiviert wird, sobald man die ID´s eingibt. Wäre toll, wenn sie diesen so aufpeppen würden. (smiley lieb guck)
     
  3. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Der Code von Gambio dient für das Conversations-Tracking mit dem AdWords-Konto. Mit diesem Code kann man in den Analytics die AdWords-Keywords auswerten. Da siehst du dann welche Kampagne gut oder schlecht ist. Sind also zwei verschiedene Dinge.

    Könnte man aber vieleicht trotzdem in den Standart aufnehmen.
     
  4. sileo

    sileo Erfahrener Benutzer

    Registriert seit:
    22. März 2012
    Beiträge:
    2.266
    Danke erhalten:
    274
    Danke vergeben:
    205
    :) wieder was dazu gelernt
     
  5. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.768
    Danke erhalten:
    934
    Danke vergeben:
    302
    Sorry, ich finde in meinem Gambio GX2 nirgendwo eine checkout.php und auch keine checkout.html.
    Wo sollen die liegen?


    - Christian -
     
  6. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    #6 Steffen (indiv-style.de), 26. Oktober 2012
    Zuletzt bearbeitet: 28. Oktober 2012
    Es ist die checkout_success.php
     
  7. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.693
    Danke vergeben:
    903
    Und so gehts updatesicher:
    Im Verzeichnis user_classes/overloads einen Ordner mit dem Namen CheckoutSuccessExtenderComponent anlegen. Darin die Datei user_classes/overloads/CheckoutSuccessExtenderComponent/IndivStyleGoogleAnalytics.inc.php anlegen. Inhalt der Datei ist folgender:
    PHP:
    <?php

    class IndivStyleGoogleAnalytics extends IndivStyleGoogleAnalytics_parent
    {
        function 
    proceed()
        {
            
    parent::proceed();
            
            
    $coo_order MainFactory::create_object('order', array($this->v_data_array['orders_id']));
            
            
    // Änderung IndivStyle //
            
    $orders_total_query xtc_db_query("select * from ".TABLE_ORDERS_TOTAL." where orders_id = '".(int)$this->v_data_array['orders_id']."'");
            
    $orders_products_query xtc_db_query("select * from ".TABLE_ORDERS_PRODUCTS." where orders_id = '".(int)$this->v_data_array['orders_id']."'");

            
    $i 0;
            while(
    $product xtc_db_fetch_array($orders_products_query)){
                
    $orders_products[$i] = $product;
                
    $i++;
            }

            while(
    $product xtc_db_fetch_array($orders_total_query)){
                
    $orders_total[$product['class']] = $product['value'];
            }

            foreach(
    $orders_products as $value) {
                
    $googleAddItem .= "_gaq.push(['_addItem',
                '"
    .$value['orders_id']."',
                '"
    .$value['products_id']."',
                '"
    .$value['products_name']."',
                '"
    .$value['products_model']."',
                '"
    .$value['products_price']."',
                '"
    .$value['products_quantity']."'])
                "
    ;
            }

            
    $google_analytics "<script type=\"text/javascript\">

            var _gaq = _gaq || [];
            _gaq.push(['_setAccount', 'UA-xxxxxxxxx']); (hier eure UA-Nummer rein)
            _gaq.push(['_trackPageview']);
            _gaq.push(['_addTrans',
                '"
    .$this->v_data_array['orders_id']."',
                'Reifen24',
                '"
    .$orders_total['ot_total']."',
                '"
    .$orders_total['ot_tax']."',
                '"
    .$orders_total['ot_shipping']."',
                '"
    .$coo_order->customer['city']."',
                '"
    .$coo_order->customer['state']."',
                '"
    .$coo_order->customer['country']."'
            ]);


            "
    .$googleAddItem.";
            _gaq.push(['_trackTrans']);

            (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.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
            })();

            </script>
            "
    ;

            
    $this->v_output_buffer['google_analytics'] = $google_analytics;
            
    //Änderung Ende
        
    }
    }
    ?>
    Die Datei templates/DEIN_TEMPLATE/module/checkout_success.html kopieren und im gleichen Verzeichnis als checkout_success-USERMOD.html speichern. Am Ende der Datei
    Code:
    {$google_analytics}
    einfügen.

    Zum Schluss noch im Adminbereich unter "Cache leeren" den Modul- und Seitencache leeren (die ersten beiden Buttons).

    Das Ganze ist ungetestet, ohne Gewähr und hoffentlich im Sinne von Steffen ;). Es juckte mir nur in den Fingern das updatesicher zu machen ;).
     
  8. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Ich hätte da noch so einiges was updatessicher gemacht werden muss. Ich glaube das könnte gegen "juckende Finger" helfen.;););)

    Selbstverständlich ist das in meinem Sinne!!! DANKE:cool:
     
  9. Lars

    Lars Aktives Mitglied

    Registriert seit:
    27. Januar 2012
    Beiträge:
    26
    Danke erhalten:
    0
    Danke vergeben:
    16
    Kurze Frage hierzu: Warum steht da was von "reifen24"? :)

    also:
    Code:
    [FONT=Courier New][COLOR=#dd0000]       '"[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]$this[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]v_data_array[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'orders_id'[/COLOR][COLOR=#007700]].[/COLOR][/FONT][FONT=Courier New][COLOR=#DD0000]"',
                'Reifen24',
                '"[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]$orders_total[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'ot_total'[/COLOR][COLOR=#007700]].[/COLOR][/FONT][COLOR=#DD0000][FONT=Courier New]"',[/FONT]
    [/COLOR]
    Soll das so sein? :)

    Beste Grüße,

    Lars
     
  10. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Wir haben dies bei Reifen24 eingebaut! Dort muss dein Shopname rein! Also keine Angst, einfach tauschen und fertig. ;)
     
  11. wurmi023

    wurmi023 Erfahrener Benutzer

    Registriert seit:
    24. August 2012
    Beiträge:
    419
    Danke erhalten:
    30
    Danke vergeben:
    46
    Soooo ich hab das mal eingebaut...wenn man strikt nach der Anweisung geht, ist es auch kein Problem :)
    Nun schaung wa ma....
     
  12. wurmi023

    wurmi023 Erfahrener Benutzer

    Registriert seit:
    24. August 2012
    Beiträge:
    419
    Danke erhalten:
    30
    Danke vergeben:
    46
    Moin....
    Also gestern liefen zwei Bestellungen, der zeigt mir aber nix an...hab ich vielleicht irgendwas vergessen...??? Die UA Nummer hab ich eingetragen.
     
  13. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Du hast dein Adwordskonto mit dem Analyticskonto verknüpft??? Hast in Analytics deine Adwordskampagnen eingerichtet???
    Der Code ist nicht für normales Tracking, sondern um Adwords-Kampagnen auszuwerten und somit festzustellen welches Keyword welche Conversation hat!!
     
  14. wurmi023

    wurmi023 Erfahrener Benutzer

    Registriert seit:
    24. August 2012
    Beiträge:
    419
    Danke erhalten:
    30
    Danke vergeben:
    46
    Achsooooo....na dann kann da nüschd kommen. Ich dachte, das ist ein ganz normales Conversationtracking...wo ich alles sehe, also jeden Umsatz und woher er kommt.
     
  15. etiseb

    etiseb Neues Mitglied

    Registriert seit:
    18. April 2012
    Beiträge:
    4
    Danke erhalten:
    0
    Danke vergeben:
    1
    Hallo, besten Dank für die Anleitung. In der checkout_success.php gibt es bei mir kein {/if},

    Wo genau soll ich dann den Code {$google_analytics} einfügen?

    Danke für die Hilfe!
     
  16. etiseb

    etiseb Neues Mitglied

    Registriert seit:
    18. April 2012
    Beiträge:
    4
    Danke erhalten:
    0
    Danke vergeben:
    1
    wurmi023, ja genau das Problem habe ich auch: ich möchte bei Google Analytics den e-commerce tracking code einbauen, finde hierzu aber nirgends eine gambio-taugliche Anleitung. Kann hier evtl. jemand weiterhelfen?
     
  17. wurmi023

    wurmi023 Erfahrener Benutzer

    Registriert seit:
    24. August 2012
    Beiträge:
    419
    Danke erhalten:
    30
    Danke vergeben:
    46
  18. CW

    CW Mitglied

    Registriert seit:
    28. August 2012
    Beiträge:
    19
    Danke erhalten:
    0
    Danke vergeben:
    5
    Hallo Leute,

    das mit dem updatesicheren Code von Moritz ist zwar super, aber leider ist dieser Tread unvollständig, wie man an Wurmi023´s letztem Eintrag sehen kann, der letztlich doch was anderes installiert hat. Gibt es nicht ein Tutorial, was alles mal vernünftig erklärt. Die Einbindung von Google Analytics in Gambio zum einen und das Conversion Tracking für Adwords Kapagnen, vielleicht noch mit Erfahrungen und Empfehlungen (Best Practice). Ich stehe nämlich aktuell genau vor dem gleichen Problem wie Wurmie023, möchte aber Analytics nutzen und nicht Piwik.

    Grüße an Alle!
     
  19. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Gibts doch bei Google!! In den Webmastertools sind auch die Anleitungen drin, wie was eingebaut werden muss.
     
  20. CW

    CW Mitglied

    Registriert seit:
    28. August 2012
    Beiträge:
    19
    Danke erhalten:
    0
    Danke vergeben:
    5
    Nein, bei Google gibts kein Tutorial, das alles Schritt für Schritt inklusive updatesicherer Einbindung in Gambio erklärt. Ich seh schon, ich muss mich da komplett einarbeiten, so wie sicher jeder das von Euch auch erst musste. Ist ja auch ein Riesenthema.