• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Cookie über mehrere Domains gültig anlegen

eclipse240hp

New member
Hallo,

Ich daue aktuell an einer Tracking Möglichkeit und nutze dafür JavaScript Cookies.

Über ein eingebundenes JS Script von TRACKING-WEBSITE-1 im SHOP-2 wird das Cookie entweder angelegt oder ausgelesen, falls es schon vorhanden ist.

Mein Problem ist folgendes. Wenn ich das Script auf TRACKING-WEBSITE-1 aufrufe auf der das eigentliche Script auch liegt, kann ich das Cookie auch auf SHOP-2 und SHOP-3 usw problemlos auslesen und weiter benutzen.

Wenn ich das erste Cookie aber auf SHOP-2 anlege, wird auf SHOP-3 und allen anderen immer wieder ein neues Cookie angelegt.

Nur wenn ich das Script auch von der Domain aufrufe, wo das Script gepeichert ist, kann ich es auch auf anderen Domains weiter verwenden.

Kann mit jemand sagen wieso das so ist?
Ich habe mir als Vorbild andere Trackingscripts genommen, bei denen das Problemlos funktioniert.. nur leider bei mir nicht.

so erstelle ich das Cookie wenn es noch nicht vorhanden ist.
PHP:
function setCookie(value){
	var domain = '';	
	console.log('4 - '+value);
	
	if (value > 0) { //cookie value
		var host = window.location.hostname.split('.').reverse();
		if (host.length > 2 && host[1].length <= 3 && host[0].length <= 2) {
			domain = '.' + host[2] + '.' + host[1] + '.'+ host[0]
		} else {
			domain = '.' + host[1] + '.' + host[0]
		}
		
		console.log('domain: '+domain);
		
		var futdate = new Date();
		var expdate = futdate.getTime();
		expdate += cookie_lifetime;
		futdate.setTime(expdate);
		
		document.cookie = '__sonar='+value+'; domain='+domain+'; expires='+ futdate.toUTCString()+'; path=/';
	}
}


Für reales Beispiel könnt ihr z.B. auf Zalando.de gehen und einen Artikel angucken. Wenn ihr nun im debugger unter sociomantic sucht ist dort das cookie "sonar" mit der cookie ID gespeichert die einen bestimmtem Nutzer zugeordnet wird. Wenn ihr nun auf Esprit.de geht, ist dort ebenfalls die selbe ID vorhanden. Wie machen die das?
 
Zuletzt bearbeitet:
Ich baue aktuell an einer Tracking Möglichkeit und nutze dafür JavaScript Cookies.
[...]
Für reales Beispiel könnt ihr z.B. auf Zalando.de gehen und einen Artikel angucken. Wenn ihr nun im debugger unter sociomantic sucht ist dort das cookie "sonar" mit der cookie ID gespeichert die einen bestimmtem Nutzer zugeordnet wird. Wenn ihr nun auf Esprit.de geht, ist dort ebenfalls die selbe ID vorhanden.

Das ist genau der Grund, wieso ich Cookies nur in Ausnahmefällen für die jeweilige Seite aktiviere. Die generelle Panikmache um Cookies ist zwar übertrieben, aber genau das von dir angesprochene Verfolgen und die nervige personalisierte Werbung sind das, was ich absolut hasse! :icon8:
 
Zuletzt bearbeitet:
Danke für deine Antwort und ich respektiere natürlich deine Meinung da es mir teilweise auch so geht. Leider hilft mir das bei meinem Problem nicht weiter ;)
 
Klar, zurück zum Thema:
Cookies können nur von der Website gelesen werden, von der sie gesetzt werden.
Maximal ist es möglich, den Zugriff auf die gesamte Domain zu erhöhen, also dass ein Cookie auf subdomain.domain.tld auch auf domain.tld lesbar ist.

Die einzige Alternative ist, einen Zentralserver zu definieren, der dann nur für die Cookies zuständig ist.
D.h., es werden sämtliche Cookieanfragen von domain1.tld an cookieserver.tld gesendet, ebenfalls so bei domain2.tld. Dadurch kann dann - da die Cookies über einen (und denselben) Host laufen - auf beiden Domains auf diese zugegriffen werden.


Weitere Infos liefert eine Suche nach "Cross-Domain Cookies".
 
Ja das Cookies nur auf der Domain gelesen werden auf der sie angelegt wurden wusste ich.. zumindest bei PHP ist es so.
Bei dem oben genanntem Beispiel vom tracking auf Zalando funktioniert es aber Domain übergreifend und das cookie ist auch auf anderen Websiten die Esprit oder notebooksbilliger.de zu finden, welche das Script eingebunden haben.. und es wird immer die selbe ID angezeigt.

Bei mit ist es aktuell so, dass ich das Cookie auf Website-1 anlege und auf Website-2 gehe und es immer noch im request header zu sehen ist, mit dem selbem Wert wie ich es auf Website-1 erstellt habe. Nur leider bekomme ich es nicht hin darauf zuzugreifen, so dass Website-2 ein neues Cookie anlegt (Ohne das im request header zu überschreiben!!)
...
In dem Beispiel von Zalando funktioniert es ja auch... was machen die denn anders?? Ich habe mir das Script raus kopiert und auf meinen Nutzen umgeschrieben.. leider klappt es nicht so ganz wie es soll.
 
Zurück
Oben