AHA
das ist ja ganz speziell, dann kannst du das so direkt vergessen denn du möchtest ja einen GET Paramater der beim ersten Aufruf gesendet wurde, bis zum ende der Bestellung verfolgen.
Du könntest das theoretisch über die Kampagnen Funktion vom
Shop regeln dann würde das vom Shop aus in der Session des Kunden hinterlegt werden.
Die Session ist $_SESSION['Kampagnenbesucher'], da stehen dann alle Daten zur Session drin.
Ich weiß jetzt aber nicht aus dem Kopf, ob die auch nach der Registrierung in der Session noch erhalten bleibt.
Der Shop speichert diese Kampagne aber und man würde diese auch wiederfinden, sogar noch einige Stunden später wenn der Kunde zurück kommt und die IP die gleiche ist.
Dann wäre wenn die Session die Registrierung oder Anmeldung nicht übersteht, die Lösung das du die functions.php im Template um eine smarty Funktion erweiterst um diese neu aus der DB zu holen.
Die Frage ist ob dann überhaupt so einen Alarm machen musst und ob du nicht gleich alles nur über die Kampagnen Funktion machst.