Referer problem

für einen shop soll herausgefunden werden woher die besucher kommen, die bestellen um diesen seiten dann einen bonus zukommen zu lassen.
idee: auswerten des http referers in der index.php. setzen eines cookies welche den referrer enthält, wird dann im warenkorbsystem übernommen.

code:
$Affiliate=getenv(HTTP_REFERER);
if(!(eregi("http://www.domain.de",$Affiliate)))
{
echo „document.cookie=‚Affiliate=$Affiliate; expires=expires=Friday, 31-Dec-2010 08:00:00 GMT‘;“;
}

(die if anweisung ist dafür, dass interne links nicht zum überschreiben des cookies führen)

das ganze funktioniert auch. leider aber nur teilweise (=10% der seiten) - bei manchen links/referern wird offenbar kein cookie gesetzt bzw er bleibt leer. das versteh ich nicht.
was mache ich falsch? welche lösung gibt es noch für das problem?
über das history objekt in javascript bekommt man ja keine zugriff …

danke für eure hilfe

gruesse
alf

Wenn kein Referrer erscheint kann das verschiedene Ursachen haben:

Der Browser des Benutzers sendet keinen Referrer, denn man kann dieses Feature beim Browser auch abschalten.

Der Benutzer kommt über ein Bookmark oder Direkteingabe der URL.

Wenn Du für ein Affiliate-Programm wissen musst, woher der Link kommt, geht eigentlich nur eine Weiterleitung. Also der Link deines Partners sieht etwas so aus:
http://meinedomain.com/redirect.php?partner_id=4711

Aufgrund der partner_id weisst Du dann, woher der Link kommt. Das Skript redirect.php leitet dann per header("Location: http://meinedomain.com/meineseite.php") auf die richtige Seite um.

Marian

Wenn Du für ein Affiliate-Programm wissen musst, woher der
Link kommt, geht eigentlich nur eine Weiterleitung. Also der
Link deines Partners sieht etwas so aus:
http://meinedomain.com/redirect.php?partner_id=4711

so werd ich das wohl machen müssen … danke dir.

Aufgrund der partner_id weisst Du dann, woher der Link kommt.
Das Skript redirect.php leitet dann per header("Location:
http://meinedomain.com/meineseite.php") auf die richtige Seite
um.

welchen vorteil bringt es das ganze über ein extra script zum redirekten zu schicken? letztlich wird doch nur ein kleiner cookie mit der partner-id geschrieben, so dass dies die startdatei auch nicht dramatisch aufbläht …
oder gibts noch andere gründe, die ich nicht bedacht habe?

gruesse
alf

welchen vorteil bringt es das ganze über ein extra script zum
redirekten zu schicken? letztlich wird doch nur ein kleiner
cookie mit der partner-id geschrieben, so dass dies die
startdatei auch nicht dramatisch aufbläht …
oder gibts noch andere gründe, die ich nicht bedacht habe?

ja die gibt es: Wenn der Client seine Cookies ausgeschaltet hat, funktionieren diese nämlich nicht. Der Redirekt funktioniert dagegen immer.

Marian

welchen vorteil bringt es das ganze über ein extra script zum
redirekten zu schicken? letztlich wird doch nur ein kleiner
cookie mit der partner-id geschrieben, so dass dies die
startdatei auch nicht dramatisch aufbläht …
oder gibts noch andere gründe, die ich nicht bedacht habe?

ja die gibt es: Wenn der Client seine Cookies ausgeschaltet
hat, funktionieren diese nämlich nicht. Der Redirekt
funktioniert dagegen immer.

ich hab mich glaub ich mißverständlich ausgesdrückt …

lösung 1:
externen link auf redirekt.php setzen, welche den cookie setzt und dann weiterleitet auf index.php

vs.

lösung 2: cookie gleich in der index.php setzen lassen

das beide lösungen auf dem cookie basieren, der userseitig abgeschaltet werden kann ist mir klar. aber wenn man das serverseitig macht sind die nachteile größer: wenn sich der user nicht sofort zum bestellen entschliessen würde, sonder erst später würde er nicht für den afiiliate berücksichtigt und das wäre unfair.
zudem kommt man doch mit abgeschalteten cookies so weit wie mit abgeschaltetem javascript, oder (also nicht sehr weit)

meine frage war vielmehr, welche vorteile lösung 1 gegenüber lösung 2 bieten könnte? (mir fallen keine ein, aber viele machen das so und daher wird es wohl einen grund geben … oder?

gruesse
alf