Wie baut man das Conversion Tracking von Google Analytics in Gambio ein, um Käufe zu erfassen? Im Grunde ganz einfach:
Schritt 1) Wir bauen uns die Inhalte für Google Analytics zusammen und schreiben diese dann über eine Klassenerweiterung in den Outputbuffer. Diese Klassenerweiterung führen wir mittels Overload im Ordner
\user_classes\overloads\CheckoutSuccessExtenderComponent\
durch, beispielsweise mit dem Namen econcessGoogleAnalytics.inc.php. In dieser rufen wir zuerst die Bestelldaten ab:
$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'] . "'");
Die Ergebnisse hieraus lässt man dann einfließen via ga('ecommerce:addTransaction',... und ga('ecommerce:addItem',..., wie unter anderem unter https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce sehr gut beschrieben. Kurz zusammengefasst:
Erst Ecommerce-Tracking initiieren mit
ga('require', 'ecommerce');
Dann Transaktion hinzufügen mit
ga('ecommerce:addTransaction', {'id': '1234', // Transaction ID. Required.'affiliation': 'Acme Clothing', // Affiliation or store name.'revenue': '11.99', // Grand Total.'shipping': '5', // Shipping.'tax': '1.29' // Tax.});
Dann Produkte hinzufügen mit
ga('ecommerce:addItem', {'id': '1234', // Transaction ID. Required.'name': 'Fluffy Pink Bunnies', // Product name. Required.'sku': 'DD23444', // SKU/code.'category': 'Party Toys', // Category or variation.'price': '11.99', // Unit price.'quantity': '1' // Quantity.});
Dann absenden:
ga('ecommerce:send');
Den zusammengefügten Javascript-Code jetzt nur noch in den Output Buffer geben, beispielsweise mit
$this->v_output_buffer['google_analytics_conversion_tracking']
und dann zu Schritt 2 übergehen.
Schritt 2) In unserem Template-Ordner greifen wir nun auf den Zwischenspeicher zurück, sinnvollerweise in der Template-Datei
\templates\TEMPLATENAME\module\checkout_success.html
in der Smarty-Logik:
{$google_analytics_conversion_tracking}
Fertig!
