Damit der Wert eines Einkaufs / Conversion innerhalb eines CONTAO Isotope eCommerce Shops an Google Adwords übergeben werden kann, muss auf der „Danke“-Seite ein entsprechender Javascript-Code ausgeführt werden.
Im ersten Schritt wird im Ordner /templates eine neue Datei angelegt:
/templates/inc.google_conversion-tracking.php
In diese Datei wird der Tracking-Code eingefügt.
Google TagManager (neue Version vom 22.01.2020)
Hat man den Google TagManager im Einsatz, dann sieht der Tracking-Code so aus:
<?php $this->import('Database'); $objOrder = $this->Database->prepare("SELECT * FROM tl_iso_product_collection WHERE uniqid=?")->execute($this->Input->get('uid')); ?> <!-- Set dataLayer for conversion tracking --> <script> dataLayer.push({ 'conversionValue': <?= $objOrder->subtotal; ?>, 'event': 'checkout_success' }); </script>
Anstatt „checkout_succcess“ kann ein beliebiger Wert gesetzt werden. Mehr Informationen zu möglichen Werten im Google TagManager findest Du hier.
Alternativ kann der Bestellwert auch über einen Inserttag generiert werden:
<script> orderValue = ('{{order::subtotal}}').split(' ')[1].replace(',', '.'); console.log(orderValue); </script>
AdWords-Tracking-Code (alternativ)
Hat man den klassischen AdWords-Tracking-Code im Einsatz, dann ist folgender Code zu verwenden:
<?php $this->import('Database'); $objOrder = $this->Database->prepare("SELECT * FROM tl_iso_product_collection WHERE uniqid=?")->execute($this->Input->get('uid')); ?> <!-- Google adwords conversion tracking --> <script type="text/javascript"> /* <![CDATA[ */ var google_conversion_id = YOUR_ID; var google_conversion_language = "de"; var google_conversion_format = "3"; var google_conversion_color = "ffffff"; var google_conversion_label = "YOUR_LABEL"; var google_conversion_value = <?php echo $objOrder->subtotal; ?>; var google_conversion_currency = "EUR"; var google_remarketing_only = false; /* ]]> */ </script> <script language="JavaScript" src="//www.googleadservices.com/pagead/conversion.js"></script> <noscript> <div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/YOUR_ID/?value=<?php echo $objOrder->subtotal; ?>¤cy_code=EUR&label=YOUR_LABEL&guid=ON&script=0"/> </div> </noscript>
YOUR_LABEL ist durch das Conversion-Bezeichnung und
YOUR_ID durch die Conversion-ID zu ersetzen.
Template in CONTAO einbinden
Abschließend muss das Template noch auf der Danke-Seite eingebunden werden. Hierzu einfach folgenden Inserttag verwenden:
{{file::inc.google_conversion-tracking.php}}
Are you sure this is working? It returns that getModels does not exist.
I’m using the exact code with Contao 3.5.2 and Isotope eCommerce 2.3.5. Works well! Maybe you have an older Isotope installed?
Hi.
I’m using Contao 3.5.9 and Isotope 2.2.2, but still I had a look at the latest version and there is no getModel function in Order.php – or i’m getting something wrong? :)
Thanks
Mein Code sieht so aus, die Summe liegt als Wert bereits vor und wird einfach als InsertTag übernommen und für Google formatiert:
replaceInsertTags('{{order::total}}');
$pricetotalnew = preg_replace('/[^0-9,]/', '', $pricetotal);
$pricetotalnew = preg_replace('/,/', '.', $pricetotalnew);
//echo $pricetotalnew;
dataLayer.push({
'conversionValue': ,
'event': 'checkout_success'
});
Mit neueren Isotope Versionen hatte der ursprüngliche Workaround nicht mehr funktioniert. Ich habe daher eine neue Version ergänzt.