Support Center

Shopgate Tracking Variablen und Events (Fortgeschritten)

Folgen

In diesem Artikel finden Sie ausführliche Informationen über die Javascript-Variablen und Events, die im Shopgate Custom Tracking Code System verwendet werden.

 Dieser Artikel ist für fortgeschrittene Javascript-Entwickler, die einen Tracking Code für einen mobilen Shop von Shopgate erstellen oder anpassen möchten. Grundlegende Informationen, wie Sie einen bestehenden Tracking Code konvertieren und einbinden, finden Sie in Custom Tracking Code einbinden.

 

Übersicht:

  1. Erste Schritte
  2. Tracking Variablen
  3. Tracking Events
  4. Frequently Asked Questions (FAQ)

 

1. Erste Schritte

Das Shopgate Custom Tracking Code System ist Javascript-basiert mit mehr als 150 vordefinierten Variablen. Mit diesen Variablen können Sie verschiedenes Kundenverhalten aus einer mobilen App und Website von Shopgate tracken.

1.1 Beispielcode

Hier ist ein Beispiel eines Tracking Codes von Facebook. Die Shopgate Variablen sind gelb hinterlegt.

// Facebook Tracking Code zur Conversion Rate

var cart_items_amount_net = sgData.order.amount.net - sgData.order.shipping.amount.net - sgData.order.payment.amount.net;

(function() {
var _fbq = window._fbq || (window._fbq = []);
if (!_fbq.loaded) {
var fbds = document.createElement('script');
fbds.async = true;
fbds.src = '//connect.facebook.net/en_US/fbds.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(fbds, s);
_fbq.loaded = true;
}
})();
window._fbq = window._fbq || [];
window._fbq.push(['track', 'xxxx_your_id_xxxx', {'value':cart_items_amount_net,'currency': sgData.order.amount.currency}]);

 

In diesem Beispiel werden folgende Shopgate Variablen genutzt:

Shopgate Variable Beschreibung
sgData.order.amount.net Diese Variable zeigt den Netto-Betrag einer Bestellung an.
sgData.order.shipping.amount.net Diese Variable zeigt die Netto-Versandkosten einer Bestellung an.
sgData.order.payment.amount.net Diese Variable zeigt die Netto-Zahlungsart-Zusatzkosten an.
sgData.order.amount.currency Diese Variable zeigt die Währung der Bestellung an.

Klicken Sie hier für eine detaillierte Liste aller verfügbaren Variablen.

 

1.2 Verfügbare Plattformen & Seiten

Einige der globalen Variablen von Shopgate sind für alle Seiten verfügbar. Die Mehrheit der Variablen wurde jedoch für spezielle Seiten erstellt. Alle Variablen können auf die mobilen Seite und die nativen Apps angewendet werden. Zum Beispiel:

  • sgData.device: Verfügbar für jede Seite Ihrer Apps und für die mobile Seite. 
  • sgData.cart.products[].uid: Ausschließlich für die Seite "Warenkorb" in Ihren Apps und in der mobilen Seite verfügbar. 

In der Übersicht sehen Sie alle verfügbaren Plattformen und Seiten. Klicken Sie auf eine Seite, um auf die für diese Seite verfügbaren Variablen weitergeleitet zu werden.  

Mögliche Plattformen Mögliche Seiten
Alle Plattformen

Mobile Website Smartphone
Mobile Website Tablets
Mobile Website Smartphone + Tablets

Native Apps Smartphone
Native Apps Tablets
Native Apps Smartphone + Tablets
Alle Seiten
Startseite (sgData.page.startpage*)
Suchseite (sgData.page.search)
Produktliste (sgData.page.productList)
Produkt Detailseite (sgData.page.productDetails)
Warenkorb (sgData.page.cart)
Login/Register (sgData.page.loginAndRegister)
Bestellübersicht (sgData.page.checkoutConfirm)
Bestellbestätigung (sgData.page.checkoutSuccess)

* Dies ist der Name der Seite in Javascript.

WICHTIG: Doppelter Tracking Code für eine Seite kann die mobile SEO verletzen. Wie können doppelte Tracking Codes vermieden werden?

 

1.3 Custom Tracking Code bei Shopgate einbinden

Um einen Custom Tracking Code in Ihre Shopgate Apps und mobile Website einzubinden, folgen Sie den nächsten Schritten:

  1. Loggen Sie sich in Ihren Shopgate Admin ein. Klicken Sie in der Menüleiste auf Einstellungen und wählen Sie dann  Tracking Tools aus.

  2. Gehen Sie zum Bereich Tracking-Codes, wählen Sie eine Plattform und eine Seite, auf der dieser Code eingesetzt werden soll und klicken Sie auf +Hinzufügen. Klicken Sie hier, um eine Liste der verfügbaren Plattformen und Seiten zu öffnen.
  3. Ein leeres Script Editor-Fenster öffnet sich. Geben Sie in das Fenster Ihren Tracking Code ein und klicken Sie anschließend auf Speichern.
     Nutzen Sie den Shortcut CTRL+Space, um eine Liste der Variablen zu sehen, die auf dieser Seite verfügbar sind.

Das war's! So können Sie einen Custom Tracking Code einbinden. Wiederholen Sie die Schritte, falls Sie einen weiteren Code eingeben möchten.

 

2. Tracking Variablen

In diesem Kapitel finden Sie alle Details über die vordefinierten Tracking Variablen.

2.1 Alle Seiten

Die folgenden Variablen sind auf allen Plattformen und Seiten verfügbar.

Variable Verfügbarkeit Beschreibung Beispiel
sgData.device Immer Informationen zum Gerät Objekt
sgData.device.codebase Nur Apps   "7.1.0"
sgData.device.userAgent Immer User Agent "Mozilla/4.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/533.46 (KHTML, likeGecko) Version/4.1 Mobile/9A334 Safari/7533.48.3"
"Mozilla/4.0 (iPad; CPU OS 8_0 like Mac OS X) AppleWebKit/538.33.9 (KHTML, like Gecko) Mobile/12A4265u"
sgData.device.os Immer Betriebssystem "iOS"
"Android"
"Other"
sgData.device.type Immer Art der mobilen Website "Phone"
"Tablet"
sgData.device.access Immer Art der App "Web"
"Native"
sgData.page Immer Objekt mit Seiteninfos  
sgData.page.title Immer Seitentitel  
sgData.page.name Immer Key der aktuell aufgerufenen Seite "startpage" für Start Page / Homepage
"search" für Search
"productList" für Produktliste
"productDetails" für Produkt Detailseite
"cart" für Warenkorb
"loginAndRegister" für Login / Registration
"checkoutConfirm" für Checkout Summary Page
"checkoutSuccess" für Checkout Success Page
sgData.page.link   Aktuelle URL "http://m.atu.de/product/435230303631"
"http://atu.shopgate.com/product/435230303631"
sgData.page.referrer Immer Referrer http://www.comtech.de
sgData.user Immer Objekt mit Nutzerinformationen  
sgData.user.email Nur wenn eingeloggt E-Mail-Adresse des eingeloggten Users name@myshop.com
sgData.user.gender Nur wenn eingeloggt Geschlecht des eingeloggten Users m oder f
sgData.user.phone Nur wenn eingeloggt Telefonnummer des eingeloggten Users  
sgData.user.birthday Nur wenn eingeloggt Geburtsdatum des eingeloggten Users "1972-07-22"
sgData.user.sessionId Immer md5('tr1014'.session_id().'ack13') 7e716d0e702df0505fc72e2b89467910
sgData.user.loggedIn Immer User eingeloggt true/false true
false
       
sgData.tracking.get.$key Optional Get-Parameter, die zuvor mit über die Get-Parameter Whitelist als Cookie oder in die Session geschrieben worden sind Objekt
sgData.tracking.get.$key.value Optional Wert des Get-Parameters  

 

2.2 Startseite

Siehe Variablen-Übersicht bei "Alle Seiten".

 

2.3 Suchseite

Variable Verfügbarkeit Beschreibung Beispiel
sgData.search Immer

Informationen zur Suche

Objekt
sgData.search.query Immer Suchbegriff, nach dem gesucht wurde "Nike Air Max"
"Blaues Kleid"
sgData.search.resultCount Immer Anzahl Treffer gefunden "152"
"0"

 

2.4 Produktliste

Variable Verfügbarkeit Beschreibung Beispiel
sgData.category Immer Informationen zur Kategorie Objekt
sgData.category.uid Immer Nummer der Kategorie "104256"
"52-21-74"
"ja8z2ha92712jd8917wh1923-47443d"
"5%542$SALE$"
sgData.category.name Immer Name der Kategorie "Shoes"
"13 Inches"
"Women"
sgData.category.path Immer Pfad der Kategorie "Clothes=>Men=>Jeans"
"Technic=>Laptops=>13 Inches"
"Socks=>Women"
sgData.products[] Immer Liste der angezeigten Produkte (Produkteigenschaften wie auf Produkt Detailseite) Array

 

2.5 Produkt Detailseite

Variable Verfügbarkeit Beschreibung Beispiel
sgData.product Immer Informationen zum Produkt Objekt
sgData.product.uid Immer Aus unserer DB "Shopproduct.product_number" 1231341
3131121
sgData.product.productNumber Optional Aus unserer DB "Shopproduct.product_number_public" foo12
18219
aouhiu
sgData.product.stockQuantity Immer   "5"
sgData.product.name Immer Produktname Cotton jacket with hood
"Fisticup" Coffee Mug by Inked (Black)
sgData.product.amount Immer    
sgData.product.amount.currency Immer Währung-ID, ISO_4217 "USD"
"EUR"
sgData.product.amount.net Immer Netto Betrag "12.11"
"1.00"
"9889.00"
sgData.product.amount.gross Immer Brutto Betrag "12.99"
"4.99"
sgData.product.amount.tax Immer Mehrwertsteuer-Betrag "0.11"
sgData.product.amount.taxRate Immer Mehrwertsteuer-Satz "19.00"
sgData.product.tags[] Immer Produkt-Tags Array

 

2.6 Warenkorb

Variable Verfügbarkeit Beschreibung Beispiel
sgData.cart Immer Objekt mit Informationen über den Warenkorb Objekt
sgData.cart.orderable Immer Ist der Warenkorb in dieser Form bestellbar true
false
sgData.cart.amount.currency Immer Währung-ID, ISO_4217 "USD"
"EUR"
sgData.cart.amount.net Immer Netto-Gesamtbetrag vom Warenkorb  
sgData.cart.amount.gross Immer Brutto-Gesamtbetrag vom Warenkorb  
sgData.cart.amount.tax Immer Steuer-Gesamtbetrag vom Warenkorb  
sgData.cart.amount.taxes[].tax Optional    
sgData.cart.amount.taxes[].taxRate Optional    
sgData.cart.amount.products Immer Informationen über Produkte im Warenkorb Objekt
sgData.cart.productsCount Immer Anzahl Produkte im Warenkorb  
sgData.cart.products[].uid Immer Artikelnummer  
sgData.cart.products[].productNumber Immer Öffentliche Artikelnummer aus Ihrem Shop-System  
sgData.cart.products[].name Immer Artikelname  
sgData.cart.products[].quantity Immer Anzahl von diesem Produkt im Warenkorb  
sgData.cart.products[].stockQuantity Immer   "5" 
sgData.cart.products[].amount.currency Immer Währung-ID, ISO_4217 "USD"
"EUR"
sgData.cart.products[].amount.net Immer

Netto-Preis des Produkts

 
sgData.cart.products[].amount.gross Immer Brutto-Preis des Produkts  
sgData.cart.products[].amount.tax Immer Mehrwertsteuer-Betrag des Produkts  
sgData.cart.products[].amount.taxRate Immer Mehrwertsteuer-Satz des Produkts  
sgData.cart.products[].tags[] Immer Produkttags Array
sgData.cart.products[].additionalShippingCosts Optional   Objekt
sgData.cart.products[].additionalShippingCosts.perOrder Optional Zusätzliche Versandkosten pro Bestellung  
sgData.cart.products[].additionalShippingCosts.perUnit Optional Zusätzliche Versandkosten pro Einheit  
sgData.cart.coupons[].code Optional Gutschein Code  
sgData.cart.coupons[].discountAmount Optional Gutschein Wert  
sgData.cart.coupons[].discountPercent Optional Gutschein Ermäßigung in Prozent  

 

2.7 Check-out

Variable Verfügbarkeit Beschreibung Beispiel
sgData.cart Immer siehe Seite "Warenkorb" Objekt
sgData.checkout Immer Informationen über ausgewählte Adressen, Bezahlart und Versand Objekt
sgData.checkout.payment.name Immer Name der ausgewählten Bezahlart 'Vorkasse'
sgData.checkout.shipping.name Immer Name der ausgewählten Versandart 'DHL Express'
sgData.checkout.shippingAddress Immer Informationen zur Lieferadresse Objekt
sgData.checkout.shippingAddress.firstName Immer Vorname des Kunden der Lieferadresse  
sgData.checkout.shippingAddress.surname Immer Nachname des Kunden der Lieferadresse  
sgData.checkout.shippingAddress.company Optional Firma des Kunden der Lieferadresse  
sgData.checkout.shippingAddress.street Immer Straße der Lieferadresse  
sgData.checkout.shippingAddress.street2 Optional Straße der Lieferadresse  
sgData.checkout.shippingAddress.zipcode Immer

PLZ der Lieferadresse

 
sgData.checkout.shippingAddress.stateId Optional  

ISO_3166

sgData.checkout.shippingAddress.city Immer Ort der Lieferadresse  
sgData.checkout.shippingAddress.countryId Immer Land der Lieferadresse

ISO_3166-1_alpha-2

sgData.checkout.invoiceAddress   Informationen zur Rechnungsadresse  
sgData.checkout.invoiceAddress.firstName Immer Vorname des Kunden der Rechnungsadresse  
sgData.checkout.invoiceAddress.surname Immer Nachname des Kunden der Rechnungsadresse  
sgData.checkout.invoiceAddress.company Optional Firma des Kunden der Rechnungsadresse  
sgData.checkout.invoiceAddress.street Immer Straße der Rechnungsadresse  
sgData.checkout.invoiceAddress.street2 Optional Straße der Rechnungsadresse  
sgData.checkout.invoiceAddress.zipcode Immer PLZ der Rechnungadresse  
sgData.checkout.invoiceAddress.stateId Optional  

ISO_3166

sgData.checkout.invoiceAddress.city Immer Ort der Rechnungadresse  
sgData.checkout.invoiceAddress.countryId Immer Land der Rechnungadresse

ISO_3166-1_alpha-2

 

2.8 Bestellbestätigungs-Seite

Variable Verfügbarkeit Beschreibung Beispiel
sgData.order Immer Informationen zur Bestellung Objekt
sgData.order.number Immer eindeutige Shopgate-Bestellnummer 144055402858
sgData.order.amount Immer Objekt  
sgData.order.amount.currency Immer Währung-ID, ISO_4217 "USD"
"EUR"
sgData.order.amount.net Immer   20.74
sgData.order.amount.gross Immer   24.22
sgData.order.amount.tax Immer Mehrwertsteuer-Betrag des Gesamt-Warenkorbs 3.48
sgData.order.amount.taxRate
Currently not available
Immer

anteiliger Mehrwertsteuersatz des gesamten Warenkorbs (gruppiert)

 
sgData.order.shipping Immer Infos zum Versand Objekt
sgData.order.shipping.name Immer Name der Versandart DHL-Express
sgData.order.shipping.amount.currency Immer Währung-ID, ISO_4217 "USD"
"EUR"
sgData.order.shipping.amount.net Immer Versandkosten netto 4.00
sgData.order.shipping.amount.gross Immer Versandkosten brutto  
sgData.order.shipping.amount.tax Optional Mehrwertsteuer-Betrag der Versandkosten  
sgData.order.shipping.amount.taxRate
Currently not available
Optional Mehrwertsteuer-Satz der Versandkosten  
sgData.order.payment   Infos zur Zahlungsart Objekt
sgData.order.payment.name Immer Name der Zahlungsart DHL-Express
sgData.order.payment.amount.currency Optional Währung-ID, ISO_4217 "USD"
"EUR"
sgData.order.payment.amount.net Optional Zahlungsarten-Zusatzkostennetto 4.00
sgData.order.payment.amount.gross Optional Zahlungsarten-Zusatzkostenbrutto  
sgData.order.payment.amount.tax Optional Mehrwertsteuer-Betrag der Zahlungsarten-Zusatzkosten  
sgData.order.payment.amount.taxRate
Currently not available
Optional Mehrwertsteuer-Satz der Zahlungsarten-Zusatzkosten  
sgData.order.products[] Immer Array mit Produkten Array
sgData.order.products[].uid Immer Eindeutige Artikelnummer ("Shopproduct.product_number")  
sgData.order.products[].productNumber Immer Öffentliche Artikelnummer ("Shopproduct.product_number_public")  
sgData.order.products[].name Immer Artikelname  
sgData.order.products[].quantity Immer Anzahl des Artikels  
sgData.order.products[].stockQuantity Immer    
sgData.order.products[].amount.currency Immer Währung-ID, ISO_4217 "USD"
"EUR"
sgData.order.products[].amount.net Immer

Netto-Preis des Produkts

 
sgData.order.products[].amount.gross Immer Brutto-Preis des Produkts  
sgData.order.products[].amount.tax Immer Mehrwertsteuer-Betrag eines Produkts  
sgData.order.products[].tags[] Immer Produkt-Tags Array
sgData.order.coupons[] Optional Array mit Coupons Array
sgData.order.coupons[].code Optional Gutscheincode  
sgData.order.coupons[].amount.currency Optional Währung-ID, ISO_4217 "USD"
"EUR"
sgData.order.coupons[].amount.net Optional Gutscheinwert netto  
sgData.order.coupons[].amount.gross Optional Gutscheinwert brutto  
sgData.order.coupons[].amount.tax Optional Mehrwertsteuerbetrag des eingelösten Gutscheins  
sgData.order.coupons[].amount.taxRate
Currently not available
Optional Mehrwertsteuerrate des eingelösten Gutscheins  
sgData.order.amount.coupons.currency Immer Währung-ID, ISO_4217 "USD"
"EUR"
sgData.order.amount.coupons.net Immer    
sgData.order.amount.coupons.gross Immer    
sgData.order.shippingAddress Immer Infos zur Lieferadresse Objekt
sgData.order.shippingAddress.firstName Immer Vorname des Kunden der Lieferadresse  
sgData.order.shippingAddress.surname Immer Nachname des Kunden der Lieferadresse  
sgData.order.shippingAddress.company Optional Firma des Kunden der Lieferadresse  
sgData.order.shippingAddress.street Immer Straße der Lieferadresse  
sgData.order.shippingAddress.street2 Optional Straße der Lieferadresse  
sgData.order.shippingAddress.zipcode Immer

PLZ der Lieferadresse

 
sgData.order.shippingAddress.stateId Optional  

ISO_3166

sgData.order.shippingAddress.city Immer Ort der Lieferadresse  
sgData.order.shippingAddress.countryId Immer Land der Lieferadresse

ISO_3166-1_alpha-2

sgData.order.invoiceAddress   Infos zur Rechnungsadresse  
sgData.order.invoiceAddress.firstName Immer Vorname des Kunden der Rechnungsadresse  
sgData.order.invoiceAddress.surname Immer Nachname des Kunden der Rechnungsadresse  
sgData.order.invoiceAddress.company Optional Firma des Kunden der Rechnungsadresse  
sgData.order.invoiceAddress.street Immer Straße der Rechnungsadresse  
sgData.order.invoiceAddress.street2 Optional Straße der Rechnungsadresse  
sgData.order.invoiceAddress.zipcode Immer PLZ der Rechnungadresse  
sgData.order.invoiceAddress.stateId Optional  

ISO_3166

sgData.order.invoiceAddress.city Immer Ort der Rechnungadresse  
sgData.order.invoiceAddress.countryId Immer Land der Rechnungadresse ISO_3166-1_alpha-2
sgData.order.user   Infos zum Kunden  
sgData.order.user.email Immer Emailadresse des Kunden name@email.com
sgData.order.user.customerNumber Immer    
sgData.order.user.externalCustomerId Immer     
sgData.order.user.externalCustomerNumber Immer     
sgData.order.user.gender Optional   "m" oder "f"
sgData.order.user.phone Optional    
sgData.order.user.birthday Optional   1971-07-22
sgData.order.field.$key Optional Custom Feld ("Extrafeld") Objekt
sgData.order.field.$key.label Optional Titel des Feldes  
sgData.order.field.$key.value Optional Wert des Feldes  

 

3. Tracking Events

Abgesehen von den oben aufgelisteten Tracking Variablen, gibt es vier vordefinierte Tracking Events.

Zum Beispiel

in jQuery

$(document).on('sgAddToCart', function(e) {
console.log(e.originalEvent.detail);
});

in Vanilla JS

document.addEventListener('sgAddToCart', function(e) {
console.log(e.detail);
});

In den Beispielen sorgt das Event "sgAddToCart" dafür, dass nützliche Informationen getrackt werden, nachdem der "Add To Cart"-Button eines bestimmten Produktes gedrückt wird.

Weitere Informationen über die verfügbaren Events finden Sie in der folgenden Tabelle:

Event Beschreibung
sgViewAppear

Dieses Event wird nicht länger benötigt, da es automatisch für die Tracking Codes von uns eingebunden wird.

Wird getriggert, wenn die Seite aufgerufen wird und getrackt werden kann. Auf der mobilen Website passiert dies, nachdem die Seite geladen wurde, in der App jedes Mal wenn die View angezeigt wird. Das Event ist nötig, da Views im Hintergrund vorgeladen werden können, aber dann noch nicht getrackt werden sollen.

sgProductUpdate Wird getriggert, wenn sich auf der Produktdetailseite Daten ändern, z. B. Auswahl eines anderen Kindprodukts.
sgAddToCart Wird getriggert, wenn ein Produkt auf der Produktdetailseite in den Warenkorb gelegt wird und enthält Daten über dieses Produkt bzw. die Produkte, wenn es sich um ein Grouped-Product handelt.
sgCartUpdate Wird getriggert, wenn der User im Warenkorb Änderungen vornimmt, z. B. Anzahl eines Produkts ändern, Produkt entfernen, Gutschein hinzufügen. Enthält den aktualisierten Warenkorb.
sgDataUpdate Wird getriggert, wenn eine sgDaten Variable über den sgDataHelper aktualisiert wurde.

 

4. Frequently Asked Questions (FAQ)

4.1 Warum ist kein Code in <noscript> Tags notwendig?

Ihr Code-Snippet innerhalb der <noscript>...</noscript> Tags wird als Ersatzfunktion genutzt, falls Javascript nicht verfügbar ist. Trotzdem ist Javascript für ALLE Systeme bei Shopgate erforderlich. Deshalb müssen Sie keinen <noscript> Ersatzcode hinterlegen.

 

4.2 Wie können doppelte Tracking Codes vermieden werden? 

Ihr Shopgate Tracking Code System ist so entwickelt, dass alle Tracking Codes verfolgt werden. Das schließt auch jene Codes ein, die mehr als einmal für eine Seite auf einer Plattform hinterlegt wurden. Tracking Codes "für alle Seiten" werden zusätzlich zu den seitenspezifischen Codes verfolgt. Deshalb ist es empfehlenswert, Ihre Tracking Codes sorgfältig darauf auf diese Kriterien zu prüfen: 

  • Haben Sie einen Code-Abschnitt mehr als einmal eingefügt (manuell, kopiert)? 
  • Wenn Sie mehr als einen Zugang für eine Seite auf derselben Plattform eingegeben haben, wurde die Tracking Funktion dementsprechend in mehreren Zugängen eingegeben?
  • Wenn Sie einen Tracking Code für "Alle Seiten" eingerichtet haben, wurde dadurch dieser Tracking Code von allen anderen Zugängen entfernt?  

 

4.3 Wie kann ein Tracking-Pixel erstellt werden?

Um ein Tracking-Pixel zu erstellen oder zu ändern, können Sie sich am folgenden Beispiel orientieren. Möchten Sie Parameter wie die Kunden-E-Mail-Adresse, Telefonnummer etc. zu dem Pixel hinzufügen, nutzen Sie "?" und die verfügbaren Variablen (gelb hinterlegt):

var image = document.createElement('img');
image.height = '1';
image.width = '1';
image.style = 'border-style:none;';
imgtag.alt = '';
image.src = 'http://yourdomain.com/pixel.png?email='+sgData.user.email+'&phone='+sgData.user.phone;
document.getElementsByTagName('body')[0].appendChild(image);

Klicken Sie hier für eine Liste mit allen vorhandenen Variablen.

 

 

 

Kommentare