Skip to main content

Kurzdokumentation zur Einrichtung einer Kampagne in easy.GO mit Basket-Tracking - campaign_alias

Um das Tracking in easy.GO zu gewährleisten, sind lediglich zwei Einbauschritte notwendig.

Das System generiert beim Redirect von der Publisher-Seite auf Ihren Shop eine ID, mit der der Sale später erfasst werden kann. Diese ID wird shopseitig von einem Code-Snippet aufgenommen und im Local Storage sowie in einem Cookie gespeichert. Bei der Conversion-Erfassung wird diese ID über ein anderes Code-Snippet zurück an das Trackingsystem gespielt.


1. Code-Snippet (einzubauen auf jede Seite)

Dieser Code nimmt die ID auf, die im Redirect erzeugt wird, und schreibt sie in den LocalStorage sowie in einen Cookie (jeweils mit dem Key emid).

Einbauort: Auf sämtlichen Seiten des Shops (am einfachsten im Footer-Template).

(function() {
    // The expiration time of the cookie (normally 60 days)
    // Die Laufzeit des Cookies (im Regelfall 60 Tage)
    var emidCookieExpirationDays = 60;

    // Please do not change below here!
    // Ab hier bitte nicht verändern!
    var getKey = 'emid';
    var getValue = getParameterByName(getKey);
    var storageKey = 'emid';
    var emidCookieKey = 'emid';
    var emidCookieDomain = window.location.hostname;

    if(getValue) {
        window.localStorage.setItem(storageKey, getValue);
        setEmidCookie(emidCookieKey, getValue, emidCookieExpirationDays,  emidCookieDomain);
    }

    function setEmidCookie(cname, cvalue, exdays, cdomain) {
      var d = new Date();
      d.setTime(d.getTime() + (exdays * 24*60*60*1000));
      var expires = "Expires="+ d.toUTCString();
      document.cookie = cname + "=" + cvalue + ";" + expires + ";Path=/;SameSite=none;Domain=" + cdomain + ";Secure";
    }
    
    function getParameterByName(e,n){n||(n=window.location.href),e=e.replace(/[[]]/g,"\$&");var r=new RegExp("[?&]"+e+"(=([^&#]*)|&|#|$)").exec(n);return r?r[2]?decodeURIComponent(r[2].replace(/\+/g," ")):"":null}
})();

2. Basket-Conversion-Code (einzubauen auf die Checkout-Successful-Seite)

Dieser Code erfasst die Bestellung inklusive aller Warenkorb-Positionen und übergibt sie an das Trackingsystem.

Einbauort: Ausschließlich auf der Bestellbestätigungsseite.

(function () {
  // please insert the campaign alias here - you received it by your account manager
  var campaign_alias = 'CAMPAIGN_ALIAS';

  // please insert the unique ordernumber of the purchase here
  var token = 'ORDERTOKEN';

  // insert EVERY purchased item into the basket variable "basket" 
  var basket = [
    {
      article_number: "ARTICLE_NUMBER_1",
      amount: "ARTICLE_AMOUNT_1",
      price: "SINGLE_ARTICLE_TURNOVER_1",
      productname: "ARTICLE_NAME_1",
      category: "ARTICLE_CATEGORY_1"
    }, {
      article_number: "ARTICLE_NUMBER_2",
      amount: "ARTICLE_AMOUNT_2",
      price: "SINGLE_ARTICLE_TURNOVER_2",
      productname: "ARTICLE_NAME_2",
      category: "ARTICLE_CATEGORY_2"
    }, {
      article_number: "ARTICLE_NUMBER_N",
      amount: "ARTICLE_AMOUNT_N",
      price: "SINGLE_ARTICLE_TURNOVER_N",
      productname: "ARTICLE_NAME_N",
      category: "ARTICLE_CATEGORY_N"
    }
  ];

  // Please change the URL / Domain des Systems
  var trackingDomain = 'DOMAIN-DES-SYSTEMS';

  // Please do not change below here!
  var storageKey = 'emid';
  var trigger_id = '1';

  var basketUrl = 'https://' + trackingDomain + '/trck/ebasket/ebasket.js';
  
  emid = window.localStorage[storageKey];

 if (typeof emid !== 'undefined') {
    var req = new XMLHttpRequest;
    req.withCredentials = true;
    req.open("GET", basketUrl),
      req.send(),
      req.onreadystatechange = function () {
        (req.readyState === 4) ? function () {
          eval(req.response);
          basket.forEach(function(elem) {
            eamTrckAddBasketItem(
              campaign_alias,token,trigger_id,encodeURIComponent(elem.article_number),elem.amount,elem.price,emid,encodeURIComponent(elem.productname),encodeURIComponent(elem.category),{}
            );
          });
          eamTrckSubmitBasket();
        }() : null
      };
  }
})();

Wichtige Hinweise zum Conversion-Code:

  • Platzhalter ersetzen: Ersetzen Sie CAMPAIGN_ALIAS, ORDERTOKEN und DOMAIN-DES-SYSTEMS durch Ihre spezifischen Daten.
  • Dynamische Warenkorbbefüllung: Die Variable basket muss für jede Position im Warenkorb ein Element enthalten.
  • Mengensteuerung: Jedes Produkt sollte nur einmal im Array erscheinen; die Anzahl wird über amount gesteuert.
  • Netto-Werte: Der Preis (price) muss als Netto-Einzelumsatz (ohne Steuern und Versandkosten) für das Produkt übergeben werden.

Erläuterung der Platzhalter:

Platzhalter Beschreibung
CAMPAIGN_ALIAS Der Alias, den Sie von Ihrem Account-Manager erhalten haben (fester Wert).
ORDERTOKEN Die dynamische Bestellnummer aus Ihrem Shop.
DOMAIN-DES-SYSTEMS Die Domain Ihres easy.GO-Systems.
ARTICLE_NUMBER_N Artikelnummer des Produkts.
ARTICLE_AMOUNT_N Anzahl des Produkts im Warenkorb.
SINGLE_ARTICLE_TURNOVER_N Netto-Umsatz des jeweiligen Einzelproduktes.
ARTICLE_NAME_N Produktname.
ARTICLE_CATEGORY_N Kategorie des Produkts.