gelöst Tracking-Code - Smarty verwenden?

Thema wurde von Anonymous, 4. Juni 2021 erstellt.

  1. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    14. Juni 2018
    Beiträge:
    1.671
    Danke erhalten:
    285
    Danke vergeben:
    1.109
    Hallo Leute

    Kurze Frage: Bei SEO -> Tracking-Code haben wir unser BING Tag drin.
    Es gibt dort dann noch den Hebel "Smarty verwenden".
    Was genau hat es damit auf sich und sollte es aktiviert oder deaktiviert sein im Falle des BING Tags?

    Danke und viele Grüsse
     
  2. Martin L.
    Martin L. Erfahrener Benutzer
    Registriert seit:
    24. September 2013
    Beiträge:
    127
    Danke erhalten:
    3
    Danke vergeben:
    73
    Werden deine Warenkorbwerte dynamisch übergeben und wenn ja, wie sieht dein UET Pixel aus?

    Habe unter Tracking Body Bestellabschluss folgendes:
    <script>
    window.uetq = window.uetq || [];
    window.uetq.push('event', '', { 'revenue_value': '1.00', 'currency': 'EUR' });
    </script>

    Die 1.00 wird auch als 1 übergeben, ich möchte aber das dort der Warenkorbwert übergeben wird. Hat da jemand eine Idee?
     
  3. Anonymous
    Anonymous Administrator
    Mitarbeiter
    Registriert seit:
    26. April 2011
    Beiträge:
    1.954
    Danke erhalten:
    1.588
    Danke vergeben:
    339
    Folgende Werte sind bis jetzt möglich sich im Bestellabschluss ausgeben zulassen:

    E-Mail Adresse des Kunden: {$order->getCustomerEmail()}

    Bestellnummer: {$order->getOrderId()}

    2 stelliger ISO-Codes des Versandlandes: {$order->getDeliveryAddress()->getCountry()->getIso2()}

    Uhrzeit der Bestellung: {$order->getPurchaseDateTime()->format('Y-m-d')}

    Summe ohne Versandkosten: {$order->getOrderTotals()->getItem(0)->getValue()}

    Summe inkl. Versand und Steuern: {$order->getOrderTotals()->getItem($order->getOrderTotals()|count-1)->getValue()}

    Damit diese Variablen auch erkannt werden, muss die Option "Smarty verwenden" aktiv sein
    @DrGuu Wenn du also keine Variablen für das Tracking benutzt, kannst du die Option deaktiviert lassen.
     
  4. Martin L.
    Martin L. Erfahrener Benutzer
    Registriert seit:
    24. September 2013
    Beiträge:
    127
    Danke erhalten:
    3
    Danke vergeben:
    73
    Vielen Dank für deine Rückmeldung Till.

    Für die Summe ohne Versandkosten, wäre das dann so korrekt?
    <script>
    window.uetq = window.uetq || [];
    window.uetq.push('event', '', { 'revenue_value': '1.00', 'currency': 'EUR' } {$order->getOrderTotals()->getItem(0)->getValue()});
    </script>
     
  5. Anonymous
    Anonymous Erfahrener Benutzer
    Mitarbeiter
    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Ohne das jetzt konkret ausprobier t zu haben, würde ich eher auf so etwas tippen:

    Code:
    <script>
    window.uetq = window.uetq || [];
    window.uetq.push('event', '', { 'revenue_value': '{$order->getOrderTotals()->getItem(0)->getValue()}', 'currency': 'EUR' } );
    </script>
    
     
  6. Martin L.
    Martin L. Erfahrener Benutzer
    Registriert seit:
    24. September 2013
    Beiträge:
    127
    Danke erhalten:
    3
    Danke vergeben:
    73
    Großes Danke! :)
     
  7. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    11. Juli 2021
    Beiträge:
    455
    Danke erhalten:
    215
    Danke vergeben:
    166
    Hallo,

    ich versuche seit Stunden das Google Rezension Opt-In in meinem Gambio Cloud Shop zu implementieren.
    Im Code sollen natürlich einige Angaben durch dynamische Werte ersetzt werden.
    Diese Werte habe ich aus Beitrag #3 entnommen.
    Ich habe nach jeder geschweiften Klammer ein Leerzeichen oder ein Zeilenumbruch, damit auch Smarty nicht meckert.
    Den Code habe ich im "Tracking-Code (Body Bestellabschluss)" eingefügt, gespeichert, Cache geleert.
    Es funktioniert jedoch trotzdem nicht.
    Was mache ich hier falsch? Erbitte Unterstützung.


    Hier der Code: (Merchant-ID absichtlich entfernt)

    <!-- ANFANG Code für Opt-in-Modul von Google Kundenrezensionen -->
    <script src="(Link nur für registrierte Nutzer sichtbar.)"
    async defer>
    </script>
    <script>
    window.renderOptIn = function() {
    window.gapi.load('surveyoptin', function() {
    window.gapi.surveyoptin.render(
    {
    // REQUIRED
    "merchant_id": "XXXXXXXXX",
    "order_id": "{ $order->getOrderId()} ",
    "email": "{ $order->getCustomerEmail()} ",
    "delivery_country": "{ $order->getDeliveryAddress()->getCountry()->getIso2()} ",
    "estimated_delivery_date": "{ $order->getPurchaseDateTime()->format('Y-m-d')} ",
    // OPTIONAL
    "products":[{ "gtin":"GTIN1"} , { "gtin":"GTIN2">} ],
    "opt_in_style": "OPT_IN_STYLE"
    });
    });
    }
    </script>
    <!-- END GCR Opt-in Module Code -->


    ORIGINAL CODE VON GOOGLE:
    <!-- ANFANG Code für Opt-in-Modul von Google Kundenrezensionen -->

    <script src="(Link nur für registrierte Nutzer sichtbar.)"

    async defer>

    </script>

    <script>

    window.renderOptIn = function() {

    window.gapi.load('surveyoptin', function() {

    window.gapi.surveyoptin.render(

    {

    // REQUIRED

    "merchant_id": "HÄNDLER_ID",

    "order_id": "BESTELL_ID",

    "email": "KUNDEN_EMAIL",

    "delivery_country": "LÄNDERCODE",

    "estimated_delivery_date": "JJJJ-MM-TT",

    // OPTIONAL

    "products":[{"gtin":"GTIN1"}, {"gtin":"GTIN2">}],

    "opt_in_style": "OPT_IN_STYLE"

    });

    });

    }

    </script>

    <!-- END GCR Opt-in Module Code -->
     
  8. Anonymous
    Anonymous Administrator
    Mitarbeiter
    Registriert seit:
    26. April 2011
    Beiträge:
    1.954
    Danke erhalten:
    1.588
    Danke vergeben:
    339
    @O.C. Du musst die Leerzeichen bei den geschweiften Klammern nur beim JavaScript machen, bei den Smarty Variablen dürfen keine Leerzeichen sein. Also bei {$order->getOrderId()} dürfen keine Leerzeichen sein und es muss immer vor jeder geschweiften Klammer und danach ein Leerzeichen sein.
     
  9. Richard_24
    Richard_24 Erfahrener Benutzer
    Registriert seit:
    27. Dezember 2018
    Beiträge:
    131
    Danke erhalten:
    12
    Danke vergeben:
    36
    Hallo,

    versuche gerade den Gesamtbetrag mit:

    <script>
    window.uetq = window.uetq || [];
    window.uetq.push('event', '', { 'revenue_value': '{$order->getOrderTotals()->getItem(0)->getValue()}', 'currency': 'EUR' } );

    gesamtbetrag = revenue_value; // Leer bzw. Fehler

    </script>

    auszulesen.

    Ich brauche den Gesamtbetrag letztlich als Java Script Variable. In revenue_value steht leider nichts...

    Dazu brauche ich auch noch die Bestellnummer als Java Script Variable

    Das obige Script steht unter Tracking-Code (Body Bestellabschluss). Smarty ist aktiviert.

    Version: 4.4.0.1


    Ich hoffe es kann jemand helfen.

    Viele Grüße - Richard
     
  10. heinzsoft-shop.de
    heinzsoft-shop.de Erfahrener Benutzer
    Registriert seit:
    7. Juli 2014
    Beiträge:
    283
    Danke erhalten:
    121
    Danke vergeben:
    43
    @Richard_24: Die Lösung für den Problem steht einen Beitrag vor deinem.
     
  11. Richard_24
    Richard_24 Erfahrener Benutzer
    Registriert seit:
    27. Dezember 2018
    Beiträge:
    131
    Danke erhalten:
    12
    Danke vergeben:
    36
    :-(

    Es will nicht....

    window.uetq = window.uetq || [];
    window.uetq.push('event', '', {'revenue_value':' {$order->getOrderTotals()->getItem(0)->getValue()} ','currency':'EUR'} );


    Habe viel probiert mit den Leerzeichen. Da ja innerhalb der ersten {} noch ne zweite {} sitzt ists vielleicht nicht so einfach....

    Viele Grüße - Richard
     
  12. michael_dirix
    michael_dirix Neues Mitglied
    Registriert seit:
    10. Juni 2024
    Beiträge:
    2
    Danke erhalten:
    0
    Liebes Gambio-Team,

    Ich habe das Skript hinzugefügt, aber SMARTY füllt die Plätze nicht aus. SMARTY habe ich mit dem Slider auf der Checkout-Seite aktiviert. Wie kann ich das so einstellen, dass es funktioniert?

    Mit freundlichen Grüßen,


    <script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>



    <script>

    window.renderOptIn = function() {

    window.gapi.load('surveyoptin', function() {

    window.gapi.surveyoptin.render(

    {

    // REQUIRED FIELDS

    "merchant_id": XXXXXXXXX,

    "order_id": " {$order->getOrderId()} ",

    "email": " {$order->getCustomerEmail()} ",

    "delivery_country": " {$order->getDeliveryAddress()->getCountry()->getIso2()} ",

    "estimated_delivery_date": " {$order->getPurchaseDateTime()->format('Y-m-d')} ",



    // OPTIONAL FIELDS

    "products": [{"gtin":"GTIN1"}, {"gtin":"GTIN2"}]

    });

    });

    }

    </script>
     
  13. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    5. Mai 2022
    Beiträge:
    2.335
    Danke erhalten:
    1.019
    Danke vergeben:
    389
    #13 Anonymous, 12. Juli 2024
    Zuletzt bearbeitet: 12. Juli 2024
    Ich glaube bei
    fehlen die " "

    und hier ist ein Leerzeichen drin, das da nicht sein darf:

    Nachtrag: Sorry, das Leerzeichen darf da sein.
     
  14. michael_dirix
    michael_dirix Neues Mitglied
    Registriert seit:
    10. Juni 2024
    Beiträge:
    2
    Danke erhalten:
    0
    Korrekte Lösung:

    <script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>

    <script>
    window.renderOptIn = function() {
    window.gapi.load('surveyoptin', function() {
    window.gapi.surveyoptin.render(
    {
    // REQUIRED FIELDS
    "merchant_id": XXXXXXXXX,
    "order_id": "{$order->getOrderId()}",
    "email": "{$order->getCustomerEmail()}",
    "delivery_country": "{$order->getDeliveryAddress()->getCountry()->getIso2()}",
    "estimated_delivery_date": "{$order->getPurchaseDateTime()->format('Y-m-d')}",

    // OPTIONAL FIELDS
    "products": [
    {
    "gtin":"GTIN1"
    },
    {
    "gtin":"GTIN2"
    }
    ]
    }
    );
    }
    );
    }
    </script>
     
  15. ff-webdesigner
    ff-webdesigner Erfahrener Benutzer
    Registriert seit:
    22. Januar 2014
    Beiträge:
    548
    Danke erhalten:
    53
    Danke vergeben:
    60
  16. Anonymous
    Anonymous Administrator
    Mitarbeiter
    Registriert seit:
    26. April 2011
    Beiträge:
    1.954
    Danke erhalten:
    1.588
    Danke vergeben:
    339
    @ff-webdesigner Ja du kannst mit folgendem auf die gekauften Produkte zugreifen:

    HTML:
    {$order->getOrderItems()} 
    Allerdings muss man die dann in eine Schleife auslesen:

    HTML:
    {foreach from=$order->getOrderItems() item=item}
    
    {$item->getProductModel()}
    
    {/foreach}
    
    Name des Produktes
    {$item->getName()}

    Preis des Produktes
    {$item->getPrice()}

    Menge des Produktes
    {$item->getQuantity()}

    Preis des Produktes
    {$item->getFinalPrice()}

    Steuern des Produktes (19 %)
    {$item->getTax()}

    Lieferzeit des Produktes
    {$item->getShippingTimeInfo()}

    Mengeneinheit des Produktes
    {$item->getQuantityUnitName()}
     
  17. ff-webdesigner
    ff-webdesigner Erfahrener Benutzer
    Registriert seit:
    22. Januar 2014
    Beiträge:
    548
    Danke erhalten:
    53
    Danke vergeben:
    60
    hmmm...viel später wiedergefunden. sehr interessant, danke till! aber komme ich nicht einfacher an die gesamtanzahl der unterschiedlichen georderten produkte?