Adwords Conversion-Tracking

Thema wurde von Anonymous, 8. Mai 2017 erstellt.

  1. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    21. Oktober 2016
    Beiträge:
    177
    Danke erhalten:
    7
    Danke vergeben:
    78
    Moin,
    da googln mir keine wirkliche Antwort geben konnte oder eine die ich verstehen kann, frag ich doch einfach mal nach.
    Wie schaffe ich es das Adwords meine Conversions zählt wenn ein Kunde über eine Adwords Kampagne auf meinen
    Shop gekommen ist und etwas gekauft hat? Also wie binde ich ich den Tracking-Code den Google mir gibt richtig ein?
    Gibt es hier Shopbetreiber die das erfolgreich machen? :)
     
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    11. September 2015
    Beiträge:
    372
    Danke erhalten:
    88
    Danke vergeben:
    49
    Hi,

    ja wir haben seit einigen Monaten folgende Lösung im Einsatz:
    PHP:
    <?php

    class GAeCommerceTracking extends GAeCommerceTracking_parent {

        function 
    proceed() {
            
    parent::proceed();

            
    $coo_order MainFactory::create_object('order', array($this->v_data_array['orders_id']));
            
    $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;
                
    $catname xtc_db_fetch_array(xtc_db_query(
                        
    "SELECT c.categories_name
                         FROM categories_description c, products_to_categories p
                         WHERE p.products_id = '"
    .$orders_products[$i]['products_id']."'
                         AND p.categories_id != '0'
                         AND p.categories_id = c.categories_id
                        "
    ));
                
    $orders_products[$i]['categories'] = $catname['categories_name'];
                
    $i++;
            }

            while (
    $product xtc_db_fetch_array($orders_total_query)) {
                
    $orders_total[$product['class']] = $product['value'];
            }
            
    $trans = array(
                
    'id' => $this->v_data_array['orders_id'],
                
    'affiliation' => 'Shopname',
                
    'revenue' => $orders_total['ot_total'],
                
    'shipping' => $orders_total['ot_shipping'],
                
    'tax' => $orders_total['ot_tax']);

            
    $i 0;
            foreach (
    $orders_products as $value) {
                
    $items[$i] = array(
                    
    'sku' => $value['products_model'],
                    
    'name' => $value['products_name'],
                    
    'category' => $value['categories'],
                    
    'price' => $value['products_price'],
                    
    'quantity' => $value['products_quantity']
                );
                
    $i++;
            }

            function 
    getTransactionJs(&$trans) {

                
    $mytotal "ga('ecommerce:addTransaction', {
                      'id': '
    {$trans['id']}',
                      'affiliation': '
    {$trans['affiliation']}',
                      'revenue': '
    {$trans['revenue']}',
                      'shipping': '
    {$trans['shipping']}',
                      'tax': '
    {$trans['tax']}'
                    });

                     "
    ;
                return 
    $mytotal;
            }

            function 
    getItemJs(&$transId, &$item) {

                
    $myitem "ga('ecommerce:addItem', {
                      'id': '
    $transId',
                      'name': '
    {$item['name']}',
                      'sku': '
    {$item['sku']}',
                      'category': '
    {$item['category']}',
                      'price': '
    {$item['price']}',
                      'quantity': '
    {$item['quantity']}'
                    });

                    "
    ;
                return 
    $myitem;
            }

            
    $google_analytics "<script type=\"text/javascript\">";
            
    $google_analytics .= getTransactionJs($trans);
            foreach (
    $items as &$item) {
                
    $google_analytics .= getItemJs($trans['id'], $item);
            }
            
    $google_analytics .= "
                ga('ecommerce:send');
            </script>"
    ;

            
    $this->html_output_array['google_analytics'] = $google_analytics;
            return 
    $this->html_output_array;
            
    //Änderung Ende
        
    }

    Die Erweiterung für UserComponents findest du im Anhang.
     

    Anhänge:

  3. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    11. September 2015
    Beiträge:
    372
    Danke erhalten:
    88
    Danke vergeben:
    49
    Hab nochmal die finale #anleitung gefunden:
    (Link nur für registrierte Nutzer sichtbar.)
     
  4. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.675
    Danke erhalten:
    878
    Danke vergeben:
    288
    Du verwechselst Analytics und Adwords. Das ist nicht das Gleiche!
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    11. September 2015
    Beiträge:
    372
    Danke erhalten:
    88
    Danke vergeben:
    49
    Schon klar. Mit der oben gezeigten Erweiterung werden die Daten an Anayltics übergeben. Analytics sollte mit AdWords verknüpft sein ...
    Ziel Definition von Analytics in AdWords importieren und in beiden Bereichen deine Conversions auswerten o_O
     
  6. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    21. Oktober 2016
    Beiträge:
    177
    Danke erhalten:
    7
    Danke vergeben:
    78
    Ich verstehe leider nicht ganz wo genau ich die Dateien hinkopieren soll und wie ich sie erstelle.
    Gibt es auch eine Anleitung für php Anfänger? :D
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    11. September 2015
    Beiträge:
    372
    Danke erhalten:
    88
    Danke vergeben:
    49
    Guten Morgen, ich versuchs mal.

    Die beiden Ordner im Anahng extrahieren und dann auf deinen FTP hochladen in folgenden Ordner:
    /GXUserComponents/overloads/

    In der Datei GATracking Head.inc.php muss dann noch 2mal deine GoogleID rein. Zeile 17 und 34
    PHP:
    <?php
    /* --------------------------------------------------------------
       GoogleAnalyticsTrackingHead.inc.php
       Setzt Analytics-TrackingCode in den Dokument-HEAD vor </HEAD>
       --------------------------------------------------------------
    */

    class GATrackingHead extends GATrackingHead_parent  // Name muss mit Dateiname ubereinstimmen
    {
        function 
    proceed()
        {
            
    parent::proceed();
        
            
    $this->v_output_buffer['google_analytics'] = <<<EOB

            <script  type="text/javascript">
                var gaProperty = 'UA-XXXXXXXXXX';
                var disableStr = 'ga-disable-' + gaProperty;
                if (document.cookie.indexOf(disableStr + '=true') > -1) {
                  window[disableStr] = true;
                }
                function gaOptout() {
                  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
                  window[disableStr] = true;
                }
            </script>
        
            <script  type="text/javascript">
              (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-XXXXXXXXXX', 'auto');
              ga('set', 'anonymizeIp', true);
              ga('require', 'displayfeatures');
              ga('require', 'ecommerce');
              ga('send', 'pageview');
            </script>
    EOB;
        }
    }
    Hoffe das reicht. Ansonsten einfach noch mal nachfragen.
     

    Anhänge:

  8. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    21. Oktober 2016
    Beiträge:
    177
    Danke erhalten:
    7
    Danke vergeben:
    78
    Danke für deine Mühe, jetzt habe auch ich es verstanden. :)
     
  9. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    21. Oktober 2016
    Beiträge:
    177
    Danke erhalten:
    7
    Danke vergeben:
    78
    Heute habe ich die Zeit gefunden um es umzusetzen. Wie merke ich ob es funktioniert?
    Auf der Echtzeit Übersicht sehe ich jedenfalls nichts. Google ID habe ich ersetzt.
     
  10. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    21. Oktober 2016
    Beiträge:
    177
    Danke erhalten:
    7
    Danke vergeben:
    78
    Cache leeren war die Lösung.
     
  11. Philip

    Philip Erfahrener Benutzer

    Registriert seit:
    28. Mai 2015
    Beiträge:
    170
    Danke erhalten:
    3
    Danke vergeben:
    25
    Hallo @Jotec24,

    vielen Dank für die sehr hilfreiche Anleitung. Ich hatte im Gambio Backend unter "Shop Einstellungen - SEO - Tracking Codes" noch einen zweiten Analytics Code drin. Muss der jetzt raus?

    Und noch eine zweite Frage:
    Muss noch etwas weiteres unternommen werden oder wird ab sofort jeder Warenkorbabschluss in GA unter "Conversions - E-Commerce" erscheinen?

    LG
     
  12. Anonymous

    Anonymous Mitglied

    Registriert seit:
    30. März 2017
    Beiträge:
    8
    Danke erhalten:
    2
    Danke vergeben:
    11
    Hallo @Jotec24 ,

    Du schreibst "Die beiden Ordner im Anhang"...da ist aber nur noch eine Datei drin in den Anhängen. Könntest Du netterweise noch einmal die Original Dateien hinterlegen? Das wäre klasse.

    Danke,

    Tobias
     
  13. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    30. Oktober 2015
    Beiträge:
    2.349
    Danke erhalten:
    573
    Danke vergeben:
    506
    Hmm. Ich verstehe das so.

    Es gibt 2 Dateien. Beide müssen im Verzeichnis / GXUserComponents / overloads / CheckoutSuccessExtenderComponent vorhanden sein.

    1. Datei ist die "GAeCommerceTracking.inc.inc.php" aus #2
    2. Datei ist die "GATracking Head.inc.php", die man sich aus dem Inhalt in der Codebox in #7 erstellen kann und bei der man an 2 Stellen seine ID einsetzen muss. Den ggf. bereits vorhandenen Google Analytics Code in "/Shop Einstellungen / SEO / Tracking Codes /" kann man löschen.

    Damit lässt sich dann "Besucher" per Analytics und "Verkäufe" per Adwords tracken.

    Korrekt? o_O
     
  14. Anonymous

    Anonymous Mitglied

    Registriert seit:
    30. März 2017
    Beiträge:
    8
    Danke erhalten:
    2
    Danke vergeben:
    11
    #14 Anonymous, 28. November 2017
    Zuletzt bearbeitet: 28. November 2017
    Leider klappt das aus irgendeinem Grund so bei mir nicht.
    Habe es gemacht so wie Du beschrieben hast.
    Zur Überprüfung habe ich mir den Tag Assistant von Google installiert.

    Wenn ich die GoogleAnalyticsTracking.inc.php in das Verzeichnis GXUserComponents / overloads / CheckoutSuccessExtenderComponent lege, dann zeigt er es mir nicht an im Tag Assistant. Wenn ich es in GXUserComponents/overloads/HeaderExtenderComponent lege klappt alles und er zeigt es im Tag Assistant als funktionierend an. In #7 steht, es einfach in die /GXUserComponents/overloads zu packen, das funktioniert bei mir aber auch nicht, denn es wird im Tag Assistant nicht angezeigt. Cache habe ich nach den Änderungen jeweils immer gelöscht inkl. Modulinformationen.

    Die "GAeCommerceTracking.inc.inc.php" aus #2 zeigt überhaupt keine Wirkung, egal in welcher Konstellation ich sie in einen der Ordner packe.

    Wo könnte ich hier den entscheidenden Fehler machen?

    EDIT: Es klappt! Denkfehler bei mir: Der Tag Assistant zeigt den Tag natürlich nur auf der CheckoutSuccess Seite an, nicht auf der normalen Website. Bei einer Testbestellung habe ich dann gesehen, dass er da ist.

    Allerdings meckert der Tag Assistant:

    Code should be placed directly above the closing <body> tag.

    Habt ihr da Ideen?
     
  15. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    11. September 2015
    Beiträge:
    372
    Danke erhalten:
    88
    Danke vergeben:
    49
    Hi, super das es geklappt hat.
    Den Fehler kannst du ignorieren. Da will Google nur das es irgendwie an dieser Stelle ist. Funktioniert aber auch mit dieser "Warnung"
     
  16. guido_brockmeyer

    guido_brockmeyer Neues Mitglied

    Registriert seit:
    22. Juli 2016
    Beiträge:
    1
    Danke erhalten:
    0
    Ich bekomme leider folgende Fehlermeldung statt der Bestellbestätigungsseite:

    PARSE ERROR(4): "syntax error, unexpected 'Head_parent' (T_STRING), expecting '{'"

    hat jemand eine Idee, was ich falsch gemacht habe?
     
  17. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    11. September 2015
    Beiträge:
    372
    Danke erhalten:
    88
    Danke vergeben:
    49
    Blind geraten ... Den Code nicht komplett kopiert. Poste den Code mal hier. Du hast im oberen Bereich eine eckige Klammer vergessen.
     
  18. Claudia Puehringer

    Claudia Puehringer Erfahrener Benutzer

    Registriert seit:
    15. Januar 2012
    Beiträge:
    180
    Danke erhalten:
    4
    Danke vergeben:
    15
    Hallo zusammen,
    habe das ecommerce trackling lt. Anleitung hier eingebaut und es wird auch angesprochen aber leider treten folgende Probleme auf:

    - nicht alle Bestellungen sind in google analytics sichtbar, so ca. die Hälfte kommt rein.
    derzeit keine Ahnung wieso?
    - ich hätte gerne auch die Kategorie und den gambio brandname mit übertragen, lässt sich das machen?
    die Kategorie wird derzeit zwar mit übergeben aber sie bleibt im analytics leer.

    LG
     
  19. herrlan

    herrlan Mitglied

    Registriert seit:
    3. August 2013
    Beiträge:
    8
    Danke erhalten:
    0
    #19 herrlan, 12. Oktober 2018
    Zuletzt bearbeitet: 12. Oktober 2018
    sorry leute, der code haut nicht mehr hin. stimmt das leerzeichen zwischen Tracking und Head? ich hab die GATracking Head.inc.php hochgeladen in /GXUserComponents/overloads/HeaderExtenderComponent/

    fehler mit leerzeichen im dateinamen:

    PARSE ERROR(4): "syntax error, unexpected 'Head_parent' (T_STRING), expecting '{'"Information:
    <br />
    <b>Parse error</b>: syntax error, unexpected 'Head_parent' (T_STRING), expecting '{' in <b>xxx/system/core/ClassOverloadRegistry.inc.php(251) : eval()'d code</b> on line <b>1</b><br />

    erste beiden caches jeweils geleert. eingebaut in version 3.10.0.4
     
  20. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Warte doch einfach noch ein paar Tage:
    (Link nur für registrierte Nutzer sichtbar.)