cli.gs
Sign in

ref-Code erfassen

Den Referenzcode von der Landingpage bis zum Checkout behalten.

Jeder Besucher, der über einen Publisher-Link kommt, landet mit einem ref-Parameter in der URL auf deiner Seite. Auf dieser Seite lernst du, wie du diesen ref-Code speicherst, durch Weiterleitungen und Checkout bringst und an der Bestellung sicherst. Geht der Code verloren, lässt sich der Verkauf niemandem zuordnen, auch nicht nachträglich.

Kurz gesagt:

  • Speichere den Code genau so, wie er ankommt, in einem First-Party-Cookie für die Dauer deines Cookie-Fensters.
  • Erfasse ihn, bevor Weiterleitungen, Consent-Banner oder Landingpage-Tools laufen.
  • Speichere den Code beim Checkout an der Bestellung. Die Meldung geht oft später raus, ohne Browser.
  • Die Link-Prüfung auf der Integrationsseite zeigt, ob der Code bei dir ankommt.

Was auf deiner Landingpage ankommt

Nach einem Klick leitet cli.gs den Besucher auf deine Ziel-URL weiter und hängt den Referenzcode an:

text
https://shop.example.com/boots?ref=01J9Z4K6V0QX8M2N3P5R7S9T1WABCD&utm_source=cligs&utm_medium=affiliate
  • Der Code ist 30 Zeichen lang und besteht aus Buchstaben und Ziffern. Groß- und Kleinschreibung spielt keine Rolle. Speichere ihn genau so, wie er ankommt: nicht kürzen, verändern oder neu kodieren. Ein veränderter Code fällt durch seine eingebaute Prüfung und wird abgelehnt.
  • Zusätzlich können utm_*-Parameter angehängt sein. Hast du in den Link-Einstellungen des Programms Übertragbare Parameter eingetragen, werden diese mit gleichem Namen und Wert weitergereicht. ref, c und utm_* sind reserviert.
  • Kommt ein Besucher erneut mit einem neuen ref, ersetze den gespeicherten. Es zählt der letzte Klick.
Link-Einstellungen mit übertragbaren Parametern
Link-Einstellungen: Ziel und übertragbare Parameter

Im Browser speichern (JavaScript)

Setze das an den Anfang jeder Seite, auf die ein Link führen kann. Es muss laufen, bevor Weiterleitungen oder Consent-Logik greifen. Es speichert den Code in einem First-Party-Cookie auf deiner eigenen Domain, so lange wie dein Cookie-Fenster dauert. Das Cookie-Fenster ist die Zahl der Tage, die ein Klick gültig bleibt; du legst es im Programm fest.

js
// Landing page, as early as possible.
(function () {
  var ref = new URLSearchParams(location.search).get("ref");
  if (!ref || !/^[0-9A-Za-z]{10,64}$/.test(ref)) return;

  var days = 30; // match the programme's cookie window
  document.cookie = "cligs_ref=" + encodeURIComponent(ref)
    + ";path=/"
    + ";max-age=" + days * 24 * 60 * 60
    + ";SameSite=Lax"
    + (location.protocol === "https:" ? ";Secure" : "");
})();

// Later, e.g. in your checkout code:
function getStoredRef() {
  var m = document.cookie.match(/(?:^|;\s*)cligs_ref=([^;]+)/);
  return m ? decodeURIComponent(m[1]) : null;
}

Läuft dein Shop auf mehreren Subdomains, etwa www. und checkout.? Dann ergänze ;domain=.example.com, damit das Cookie auf allen sichtbar ist.

Auf dem Server speichern (PHP)

Ein Cookie, das der Server setzt, ist robuster als eines aus JavaScript. Browser wie Safari verkürzen die Laufzeit von Cookies, die Skripte schreiben, und ein Skriptblocker kann keinen HTTP-Header verhindern. Läuft dein Shop auf PHP, erfasse den Code im Front-Controller oder in einem Plugin:

php
<?php
// Run on every request, before any output.
$ref = $_GET['ref'] ?? '';
if ($ref !== '' && preg_match('/^[0-9A-Za-z]{10,64}$/', $ref)) {
    $days = 30; // match the programme's cookie window
    setcookie('cligs_ref', $ref, [
        'expires'  => time() + $days * 86400,
        'path'     => '/',
        'secure'   => true,
        'httponly' => true,   // only your server needs to read it
        'samesite' => 'Lax',
    ]);
    $_COOKIE['cligs_ref'] = $ref; // available in this request too

    if (session_status() === PHP_SESSION_ACTIVE) {
        $_SESSION['cligs_ref'] = $ref;
    }
}

function cligs_current_ref(): ?string {
    return $_SESSION['cligs_ref'] ?? $_COOKIE['cligs_ref'] ?? null;
}

Eine Session allein endet meist, wenn der Browser geschlossen wird. Nutze das Cookie für das volle Cookie-Fenster und die Session nur als Komfort.

Durch Weiterleitungen und Checkout bringen

Die meisten verlorenen ref-Codes verschwinden an einer dieser Stellen:

  • Weiterleitungen, bevor dein Code läuft. Sprach-, Währungs- oder „www“-Weiterleitungen werfen oft den Query-String weg. Behalte den Query-String bei der Weiterleitung, oder erfasse den Code vorher.
  • Consent-Banner und Landingpage-Tools, die die URL umschreiben. Erfasse den Code, bevor sie laufen.
  • Externe Checkouts und Zahlungsseiten auf einer anderen Domain. Das Cookie deiner Shop-Domain ist dort nicht sichtbar. Lies den Code auf deiner Seite aus, bevor der Kunde sie verlässt, und hänge ihn an die Bestellung.

Den Code an der Bestellung speichern

Speichere den ref-Code mit der Bestellung, als Bestellfeld oder Meta-Wert, sobald sie angelegt wird. Die Conversion-Meldung geht oft erst später raus, etwa wenn ein Zahlungsanbieter die Zahlung im Hintergrund bestätigt. Dann gibt es keinen Browser und kein Cookie mehr. Der Code muss schon an der Bestellung hängen.

Prüfen, ob es funktioniert

Einmal täglich öffnen wir deine Ziel-URL wie ein Besucher. Wir prüfen, ob der ref-Parameter die Weiterleitungen deines Shops übersteht. Das Ergebnis steht als Link-Prüfung auf der Integrationsseite. Meldet sie, dass der ref-Parameter unterwegs verloren geht, schau dir zuerst Weiterleitungen und Consent-Tools an.

So prüfst du von Hand:

  1. Öffne deinen Shop mit angehängtem ?ref=TEST123456 in der URL.
  2. Öffne in den Entwicklertools deines Browsers die Cookies.
  3. Suche cligs_ref. Es sollte mit diesem Wert da sein.

Weiter

Wenn der Code an der Bestellung gespeichert ist, kannst du Conversions melden.