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!