cli.gs
Sign in

ref kodunu yakala

Referans kodunu açılış sayfasından ödeme adımına kadar sakla.

Bir yayıncı bağlantısıyla gelen her ziyaretçi, sitene URL'de bir ref parametresiyle ulaşır. Bu sayfada bu ref kodunu nasıl saklayacağını, yönlendirmeler ve ödeme adımı boyunca nasıl koruyacağını ve siparişle birlikte nasıl kaydedeceğini öğrenirsin. Kod kaybolursa satış kimseye atfedilemez ve sonradan geri getirilemez.

Kısaca:

  • Kodu tam geldiği gibi, çerez süren boyunca geçerli bir birinci taraf çerezinde sakla.
  • Kodu her yönlendirmeden, çerez onay kutusundan veya açılış sayfası aracından önce yakala.
  • Ödeme adımında kodu siparişle birlikte kaydet. Bildirim genellikle daha sonra, tarayıcı olmadan gönderilir.
  • Kodun sitene ulaşıp ulaşmadığını görmek için entegrasyon sayfasındaki Bağlantı kontrolü bölümünü kullan.

Açılış sayfana ne gelir

Bir tıklamadan sonra cli.gs ziyaretçiyi hedef URL'ne yönlendirir ve referans kodunu ekler:

text
https://shop.example.com/boots?ref=01J9Z4K6V0QX8M2N3P5R7S9T1WABCD&utm_source=cligs&utm_medium=affiliate
  • Kod 30 karakter uzunluğundadır, harf ve rakamlardan oluşur ve büyük/küçük harfe duyarlı değildir. Kodu tam geldiği gibi sakla: kısaltma, değiştirme veya yeniden kodlama. Değiştirilmiş bir kod yerleşik kontrolünden geçemez ve reddedilir.
  • Ayrıca utm_* parametreleri de ekleyebiliriz. Programın bağlantı ayarlarında Aktarılabilir parametreler belirlediysen bunlar aynı ad ve değerle aktarılır. ref, c ve utm_* ayrılmıştır.
  • Bir ziyaretçi yeni bir ref ile tekrar gelirse saklanan kodu değiştir. Atıf son tıklamaya gider.
Aktarılabilir parametrelerin bulunduğu bağlantı ayarları
Bağlantı ayarları: hedef ve aktarılabilir parametreler

Tarayıcıda sakla (JavaScript)

Bunu bir bağlantının açabileceği her sayfanın en üstüne koy. Herhangi bir yönlendirme veya çerez onayı mantığından önce çalışmalı. Kodu kendi alan adında, çerez süren boyunca geçerli bir birinci taraf çerezinde saklar. Çerez süresi, bir tıklamanın geçerli kaldığı gün sayısıdır; programda sen belirlersin.

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;
}

Mağazan birden fazla alt alan adında mı çalışıyor, örneğin www. ve checkout.? O zaman çerezin hepsinde görünmesi için ;domain=.example.com ekle.

Sunucuda sakla (PHP)

Sunucunun ayarladığı bir çerez, JavaScript ile ayarlanandan daha dayanıklıdır. Safari gibi tarayıcılar betiklerin yazdığı çerezlerin ömrünü kısaltır ve bir betik engelleyici HTTP başlığını durduramaz. Mağazan PHP ise kodu ön denetleyicinde (front controller) veya bir eklentide yakala:

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;
}

Tek başına oturum genellikle tarayıcı kapanınca biter. Çerezi tam çerez süresi boyunca, oturumu ise yalnızca kolaylık olarak kullan.

Yönlendirmeler ve ödeme adımı boyunca koru

Kaybolan ref kodlarının çoğu şu yerlerden birinde kaybolur:

  • Kodun çalışmadan önceki yönlendirmeler. Dil, para birimi veya "www" yönlendirmeleri sorgu dizesini sık sık düşürür. Yönlendirmede sorgu dizesini koru ya da kodu yönlendirmeden önce yakala.
  • URL'yi yeniden yazan çerez onay kutuları ve açılış sayfası araçları. Kodu bunlar çalışmadan önce yakala.
  • Başka bir alan adındaki harici ödeme sayfaları. Mağazanın alan adındaki çerez orada görünmez. Müşteri ayrılmadan önce kodu kendi tarafında oku ve siparişe ekle.

Kodu siparişle birlikte kaydet

Sipariş oluşturulduğunda ref kodunu siparişle birlikte kaydet, bir sipariş alanı veya meta değeri olarak. Dönüşüm bildirimi genellikle daha sonra gönderilir, örneğin bir ödeme sağlayıcısı ödemeyi arka planda onayladığında. O anda tarayıcı da çerez de yoktur. Kod zaten siparişin üzerinde olmalı.

Çalıştığını kontrol et

Günde bir kez hedef URL'ni bir ziyaretçi gibi açarız. Ref parametresinin mağazanın yönlendirmelerinden sağ çıktığını kontrol ederiz. Sonuç, entegrasyon sayfasında Bağlantı kontrolü olarak görünür. Ref parametresinin yolda kaybolduğunu bildiriyorsa önce yönlendirmelerine ve çerez onay araçlarına bak.

Elle kontrol etmek için:

  1. Mağazanı URL'ye ?ref=TEST123456 ekleyerek aç.
  2. Tarayıcının geliştirici araçlarında çerezleri aç.
  3. cligs_ref çerezini ara. Bu değerle orada olmalı.

Sonraki adımlar

Kod siparişe kaydedildiğine göre artık dönüşümleri bildirmeye hazırsın.