Java Script

(function() {

    var getKey = 'emid';

    var storageKey = 'emid';


    var emidCookieExpirationDays = 60;

    var emidCookieKey = 'emid';

    var emidCookieDomain = 'DOMAIN';

    var getValue = getParameterByName(getKey);

    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}

})();


Nach der Definition der Funktion werden Variablen initialisiert. Die Variable “getKey” und “storageKey” werden beide mit dem Wert “emid” initialisiert. Um die Variable “getValue” zu befüllen, wird die Funktion “getParameterByName” aufgerufen. Diese liest die URL des Browsers, sowie den Wert eines übergebenen Parameters aus. 

Dies bedeutet, dass in diesem Fall im Klick der Parameter “?emid=” mit dem Wert “[24-Stellige action_id]” übergeben und dieser in die Variable “getValue” geschrieben wird. In der nächsten Zeile wird geprüft, ob die Variable “getValue” befüllt ist. Wenn dies der Fall ist, wird an die “emid” im localStorage des Browsers der Wert geschrieben.

Zusätzlich zum LocalStorage-Tracking wird ein Cookie auf die Domain, welche in der Variable “emidCookieDomain” definiert wurde, gesetzt. In den Cookie wird der Wert des Parameters “?emid=” geschrieben. Der Cookie wird, wie in “emidCookieExpirationDays” definiert, auf 60-Tage gesetzt. Dies beeinflusst nicht die Provisionierung der Partner, welche im Partnerprogramm separat eingestellt wird.

Der LocalStorage selbst hat kein Ablaufdatum. Das bedeutet, das, wenn vorhanden, selbst nach dem gesetzten Wert “emdiCookieExpirationDays” die Convention erfasst wird, da dies in der Datenbank so festgehalten wird. Die Klicks werden aber, sobald festgestellt wird, dass die Klicks abgelaufen sind, aus der Datenbank gelöscht. Diese Klicks werden aber dennoch in der Statistik angezeigt, da der Klick vorher schon summiert wird.