Affiliate Programı Nasıl Kurulur? Reklamverenler İçin Eksiksiz Rehber
Affiliate programı kurma rehberi: komisyon yapısı, atıf kuralları, trafik politikası, S2S takip, onay süreci ve ilk 90 günlük plan tek yerde.
Rehberi okuPostback, bir dönüşüm gerçekleştiğinde reklamverenin sunucusunun bu bilgiyi doğrudan affiliate ağının sunucusuna bildirdiği bir HTTP isteğidir. S2S (server to server) postback, tarayıcı ve çerezden bağımsız çalıştığı için ITP, reklam engelleyiciler ve uygulama içi tarayıcılardan etkilenmez; bu yüzden bugün en güvenilir dönüşüm takip yöntemidir.
Postback nedir sorusunun kısa cevabı şudur: bir kullanıcı satın alma, üyelik ya da başvuru gibi bir hedefi tamamladığında, reklamverenin sunucusunun bu bilgiyi affiliate ağının sunucusuna doğrudan bildirdiği bir HTTP isteğidir. Bu yönteme S2S postback (server to server, yani sunucudan sunucuya dönüşüm bildirimi) denir.
Çerezlerin her geçen yıl daha kısa ömürlü hâle geldiği, tarayıcıların takip kodlarını sessizce engellediği bir dönemde, server to server tracking artık "ileri seviye" bir seçenek değil, sağlıklı bir affiliate programının asgari şartıdır. Bu rehberde S2S postback'in nasıl çalıştığını, gerçek bir istek örneğini, tekilleştirme ve güvenlik kurallarını ve entegrasyonu nasıl test edeceğinizi adım adım anlatıyoruz.
Rehber hem teknik ekipler hem de entegrasyonu yöneten pazarlama sorumluları için yazıldı. Affiliate marketing'in temellerine yabancıysanız önce Affiliate Marketing Nedir? yazısına göz atmanızı öneririz.
S2S postback, dönüşüm bilgisinin kullanıcının tarayıcısı yerine reklamverenin sunucusundan affiliate ağının sunucusuna gönderildiği bir dönüşüm takip yöntemidir. Bilginin taşıyıcısı tarayıcı değil, iki sunucu arasındaki doğrudan bir istek olduğu için çerez, JavaScript veya sayfa yüklenmesi gibi kırılgan unsurlara ihtiyaç duymaz.
Klasik takipte zincir şöyledir: kullanıcı tıklar, tarayıcıya bir çerez yazılır, kullanıcı satın aldığında teşekkür sayfasındaki piksel bu çerezi okuyup ağa haber verir. Zincirin her halkası tarayıcıya bağlıdır ve herhangi biri koptuğunda satış "kayıp" olur. Yayıncı komisyonunu alamaz, reklamveren de hangi kanalın gerçekten çalıştığını göremez.
S2S modelinde zincir kısalır. Tıklamada üretilen benzersiz kimlik (click ID) landing sayfasının URL'ine eklenir, reklamveren bu değeri siparişle birlikte veritabanına yazar ve sipariş tamamlandığında kendi sunucusundan ağa bildirir. Tarayıcı sadece ilk adımda, click ID'yi taşımak için kullanılır.
Terimler bazen karıştırılır, kısaca netleştirelim:
Piksel tarayıcıda çalışır ve çerezlere dayanır; S2S postback sunucuda çalışır ve click ID'ye dayanır. İkisi arasındaki fark, özellikle mobil trafiğin ve gizlilik odaklı tarayıcıların yoğun olduğu kampanyalarda dönüşüm sayısına doğrudan yansır.
| Özellik | Piksel (JavaScript / görsel) | S2S postback |
|---|---|---|
| Çalıştığı yer | Kullanıcının tarayıcısı | Reklamverenin sunucusu |
| Atıf anahtarı | Tarayıcı çerezi | Click ID (URL'den saklanır) |
| Reklam engelleyici etkisi | Engellenebilir | Etkilenmez |
| ITP / çerez kısıtlamaları | Etkilenir | Etkilenmez |
| Uygulama içi tarayıcılar | Sıklıkla veri kaybı | Etkilenmez |
| Kurulum zorluğu | Düşük (kod yapıştırma) | Orta (backend geliştirme) |
| Durum güncelleme (onay/red/iade) | Yapılamaz, hep "bekliyor" başlar | status parametresiyle yapılır |
| Güvenlik | Herkese açık kimlik, sahteciliğe açık | Gizli token + isteğe bağlı HMAC imzası |
| Gecikmeli dönüşüm (ör. kredi onayı) | Uygun değil | Uygun |
| Mobil uygulama | Uygun değil | MMP üzerinden uygun |
Bu tablo pikselin işe yaramaz olduğu anlamına gelmez. Sunucu tarafı geliştirme kaynağı olmayan küçük bir e-ticaret sitesi için piksel hızlı bir başlangıçtır. En sağlam kurulum ise ikisini birlikte çalıştırmaktır: aynı order_id ile hem piksel hem postback gönderildiğinde sistem bunları tekilleştirir ve tek dönüşüm sayar.
Adfacten'de: Pikselden gelen dönüşümler her zaman bekliyor durumunda başlar ve pikselde
statusparametresi yok sayılır. Onay, red ve iade yalnızca S2S postback, panel veya API ile yapılır. Gizli postback token'ınız piksel koduna asla yazılmaz; piksel yalnızca herkese açık reklamveren kimliğinizi (org_…) kullanır.
Server to server tracking şarttır çünkü tarayıcı tabanlı ölçümün dayandığı üç temel, yani üçüncü taraf çerezler, uzun ömürlü birinci taraf çerezler ve engellenmeyen JavaScript, artık güvenilir değildir. Satışın gerçekleştiği anda bu temellerden biri eksikse piksel hiçbir şey bildirmez.
ITP ve tarayıcı kısıtlamaları. Safari'nin Intelligent Tracking Prevention (akıllı takip önleme) özelliği ve benzer mekanizmalar, takip amaçlı görülen çerezlerin ömrünü kısaltır ya da tamamen engeller. Kullanıcı bugün tıklayıp birkaç gün sonra satın aldığında çerez çoktan silinmiş olabilir. Kampanyanızın atıf penceresi 30 gün olsa bile tarayıcı bu süreye uymayabilir.
Reklam engelleyiciler. Popüler engelleyici listeleri, bilinen takip alan adlarına giden istekleri doğrudan keser. Teşekkür sayfasındaki piksel hiç çalışmaz; reklamverenin sisteminde sipariş vardır ama ağın sisteminde yoktur.
Uygulama içi tarayıcılar. Sosyal medya uygulamalarının içinden açılan linkler, ayrı bir tarayıcı ortamında çalışır. Kullanıcı ürünü orada görüp daha sonra asıl tarayıcısından veya uygulamadan satın aldığında çerez taşınmaz.
Gecikmeli ve çevrimdışı dönüşümler. Kredi başvurusunun onaylanması, sigorta poliçesinin kesilmesi veya B2B bir teklifin imzalanması günler sürebilir. Bu anda kullanıcı ortada yoktur; bildirimi yapabilecek tek taraf reklamverenin sunucusudur.
Bu dört durumun ortak sonucu "kayıp satış"tır. Yayıncılar komisyon alamadıkları kampanyalardan çekilir, reklamveren de en verimli kanallarını yanlışlıkla kısar. S2S postback bu sızıntıyı kapatarak programın uzun vadeli sağlığını korur. Yayıncı perspektifinden konuya Affiliate Marketing ile Para Kazanma rehberinde de değiniyoruz.
Click ID akışı, tıklamada üretilen benzersiz kimliğin landing sayfasına taşınması, siparişle saklanması ve dönüşümde ağa geri gönderilmesinden oluşur. Aşağıdaki adımlar Adfacten'deki gerçek akışı yansıtır.
sub1–sub10 alt parametreleriyle birlikte imzalı ve süreli bir click ID üretir.{click_id} makrosu varsa bu makro gerçek değerle değiştirilir. Örneğin https://magaza.com/kampanya?cid={click_id} adresi, kullanıcıya ?cid=... ile ulaşır. Makro yoksa click ID, afclk parametresiyle otomatik eklenir.cid (veya afclk) değerini okuyup kullanıcının oturumuna yazar. Kullanıcı sipariş verdiğinde bu değer sipariş kaydına taşınır.Dikkat: En sık yapılan hata 3. adımdır. Click ID yalnızca landing sayfasında bir değişkende tutulur, kullanıcı birkaç sayfa gezdiğinde veya ödemeye geçtiğinde kaybolur. Değeri sunucu tarafı oturuma ya da kalıcı bir çereze yazın ve siparişin kendisine mutlaka kaydedin.
Bir S2S postback isteği, takip sunucusuna gönderilen, token, click ID ve dönüşüm detaylarını parametre olarak taşıyan basit bir HTTP çağrısıdır. Adfacten'de en sade hâli şöyledir:
GET https://trk.adfacten.com/pb?token=<POSTBACK_TOKEN>&click_id=<CLICK_ID>&goal=sale&amount=250.00¤cy=TRY&order_id=ORD-1001
Aynı alanları POST ile form veya JSON gövdesi olarak da gönderebilirsiniz; JSON'da sepet kalemleri için items dizisi desteklenir. Token'ı yol içinde de verebilirsiniz: https://trk.adfacten.com/pb/<POSTBACK_TOKEN>.
Parametrelerin anlamı:
| Parametre | Zorunlu mu? | Ne işe yarar? |
|---|---|---|
token |
Evet | Panelde Postback & piksel ekranındaki gizli postback token'ınız |
click_id |
Evet* | Tıklamanın kimliği (clickid, cid, transaction_id, afclk eş adları da kabul edilir) |
goal |
Hayır | Hedef anahtarı; gönderilmezse kampanyanın varsayılan hedefi |
amount |
CPS'te evet | Satış veya sepet tutarı |
currency |
Hayır | ISO-4217 para birimi kodu (varsayılan: kampanya para birimi) |
order_id |
Önerilir | Tekilleştirme anahtarı |
status |
Hayır | pending (varsayılan), approved, rejected, reversed |
customer_id |
RevShare'de | Tekrarlayan gelir için müşteri kimliği |
coupon |
Hayır | Kuponla atıf |
event_time |
Hayır | Olayın gerçekleştiği an (Unix saniye veya ISO-8601) |
test |
Hayır | 1 gönderilirse test dönüşümü sayılır, bakiyeyi etkilemez |
* Click ID yoksa atıf coupon ile yapılabilir.
Başarılı istekte yanıt anında döner:
{"status": "accepted", "event_id": "5b1f…"}
accepted, dönüşümün onaylandığı değil, isteğin kuyruğa alındığı anlamına gelir. Nihai sonucu (dönüşüm oluştu, tekrar olarak işaretlendi veya reddedildi) panelin Son istekler ekranında ve conversion.* webhook'larında görürsünüz. Hatalı isteklerde ise HTTP kodu ve reason alanı sorunun ne olduğunu söyler; bunları aşağıdaki sorun giderme bölümünde ele alıyoruz.
İpucu:
event_timealanını özellikle gecikmeli bildirimlerde kullanın. Sipariş dün gece verildiyse ve postback'i bugün toplu bir işle gönderiyorsanız, gerçek zamanı iletmek raporlarınızın doğru güne yazılmasını sağlar.
Tekilleştirme, aynı dönüşümün birden fazla kez bildirilmesi durumunda yalnızca bir kez sayılmasını sağlayan kuraldır; idempotency (tekrar güvenliği) ise aynı isteği kaç kez gönderirseniz gönderin sonucun değişmemesidir. İkisi birlikte, sağlam bir postback entegrasyonunun temel taşıdır.
Gerçek hayatta tekrar kaçınılmazdır. Sunucunuz isteği gönderir, ağ yanıtı döner ama araya giren bir zaman aşımı yüzünden siz yanıtı göremezsiniz. Kodunuz isteği yeniden dener. Ya da hem piksel hem postback aynı siparişi bildirir. Tekilleştirme olmasa her senaryoda çift komisyon ödenirdi.
Adfacten'de anahtar (order_id, goal) ikilisidir. Aynı ikili ikinci kez geldiğinde yeni dönüşüm oluşmaz. Bunun pratik sonuçları şunlardır:
order_id göndermemek tekilleştirmeyi zayıflatır. Bu alan teknik olarak zorunlu değildir ama her entegrasyonda gönderilmelidir.registration ve ardından purchase), farklı goal değerleri ayrı dönüşümler olarak sayılır; bu istenen davranıştır.order_id değerini kullanın.Ayrıca fraud tarafında tekrar dönüşüm engeli devrededir: aynı tıklamadan anormal sayıda dönüşüm gelmesi gibi şüpheli örüntüler ayrıca işaretlenir. Konunun bu boyutunu Affiliate Fraud Önleme rehberinde ayrıntılı ele alıyoruz.
Durum güncelleme, bir dönüşümün yaşam döngüsünü (bekliyor → onaylandı / reddedildi → iade) aynı postback'in status parametresiyle yönetmektir. Ayrı bir entegrasyon kurmanız gerekmez; sipariş sisteminizdeki her durum değişikliğinde aynı isteği farklı bir durumla göndermeniz yeterlidir.
Tipik bir e-ticaret akışı şöyle işler:
status göndermeden (veya status=pending) postback atılır. Dönüşüm bekliyor olarak düşer.order_id ve goal ile status=approved gönderilir.status=rejected gönderilir; yayıncıya hakediş yazılmaz.status=reversed gönderilir; yayıncı hakedişi otomatik geri alınır.Burada bilinmesi gereken iki ince kural vardır. Birincisi, henüz onaylanmamış (bekleyen) bir dönüşüm için reversed gönderirseniz dönüşüm reddedilir, çünkü ortada geri alınacak bir para hareketi yoktur. İkincisi, yaşam döngüsünde tanımlı olmayan geçişler uygulanmaz; örneğin onaylı bir dönüşüme rejected göndermek Son istekler ekranında invalid_status_transition olarak görünür. Onaydan sonraki geri alma her zaman reversed ile yapılır.
Postback dışında iki yol daha vardır: toplu işlemler için POST /v1/conversions/bulk-status API ucu ve panelden CSV yükleme. Ay sonunda yüzlerce siparişi topluca onaylayan reklamverenler genellikle API'yi tercih eder.
Adfacten'de: Reddederken sebep kodu kullanılır (
order_cancelled,order_returned,duplicate,invalid_lead,fraudgibi). Yayıncı neden reddedildiğini görür; bu şeffaflık itirazları ve destek yükünü belirgin biçimde azaltır. Kısmi iadelerde tutarı düzeltmek de mümkündür.
Yayıncı postback'i, affiliate ağının bir dönüşüm oluştuğunda veya durumu değiştiğinde yayıncının kendi takip sistemine gönderdiği bildirimdir. Yani S2S akışın ikinci yönüdür: reklamveren ağa bildirir, ağ da yayıncıya.
Kendi tracker'ını kullanan, birden fazla trafik kaynağını optimize eden veya reklam platformlarına dönüşüm geri besleyen yayıncılar için bu bildirim kritiktir. Adfacten'de yayıncı panelde Postback'ler → Yeni postback adımıyla adres tanımlar. Kapsam tüm kampanyalar ya da tek bir kampanya olabilir; hedef ve durum bazında filtrelenebilir (örneğin yalnızca approved). Yöntem olarak GET (makrolu URL) veya POST (gövde şablonu) seçilebilir.
Yayıncı kendi tıklama kimliğini de taşıyabilir: takip linkine aff_click_id=<kendi ID'niz> eklendiğinde bu değer postback'te {aff_click_id} makrosuyla geri döner. Örnek bir yayıncı postback adresi:
GET https://tracker.sizin.com/postback?clickid={aff_click_id}&payout={payout}¤cy={currency}&status={status}&goal={goal}
En çok kullanılan makrolar:
| Makro | Döndürdüğü değer |
|---|---|
{click_id} |
Adfacten click ID |
{aff_click_id} |
Yayıncının kendi tıklama ID'si |
{conversion_id} |
Dönüşüm kimliği (cnv_…) |
{offer_id}, {offer_name} |
Kampanya kimliği ve adı |
{goal} |
Hedef anahtarı |
{status} |
pending, approved, rejected, reversed |
{payout}, {currency} |
Yayıncı hakedişi ve para birimi |
{sale_amount} |
Satış tutarı (CPS) |
{order_id} |
Sipariş numarası |
{source}, {country} |
Trafik kaynağı ve ülke kodu |
{sub1} … {sub10} |
Linke eklenen alt parametreler |
{timestamp} |
Unix zaman damgası |
Teslimat güvenilirliği de tasarımın parçasıdır. 2xx dışındaki yanıtlarda istek, üstel geri çekilmeyle 72 saate kadar yeniden denenir; her deneme teslimat günlüğünde istek, yanıt kodu ve süresiyle görünür. Teslimat "en az bir kez" garantisiyle yapıldığından aynı olay için birden çok çağrı gelebilir. Yayıncı tarafında tekilleştirme anahtarı olarak {conversion_id} + {status} ikilisini kullanmak gerekir. Test dönüşümleri (test=1) yayıncı postback'ini tetiklemez.
Mobil uygulama kampanyalarında postback'i reklamverenin sunucusu yerine MMP (mobile measurement partner, yani mobil ölçüm ortağı) gönderir. Kurulum ve uygulama içi olayları ölçen taraf MMP olduğu için, ağ ile MMP arasında doğrudan bir sunucudan sunucuya bağlantı kurulur.
Akış web'e çok benzer ama click ID'nin taşıyıcısı farklıdır:
{click_id} makrosu yerleştirilmiştir.Adfacten'de uç formatı şöyledir:
GET https://trk.adfacten.com/mmp/<saglayici>?token=<POSTBACK_TOKEN>&click_id={clickid}&goal={event_name}&amount={revenue}¤cy={currency}
<saglayici> yerine appsflyer, adjust, branch, singular veya kochava yazılır ve raporlarda kaynak olarak görünür. Parametreler ve yanıtlar web postback'iyle aynıdır. goal gönderilmezse olay install (kurulum) kabul edilir; bu da CPI kampanyaları için ek ayar gerektirmez.
CPE (cost per engagement, yani uygulama içi etkileşim başına ödeme) kampanyalarında ise kampanyada registration, purchase gibi hedefler tanımlanır ve MMP'deki olay adları bu anahtarlarla eşlenir. Mobil modellerin ekonomisini Performans Pazarlama Modelleri yazısında karşılaştırmalı olarak inceliyoruz.
Attribution token (atıf token'ı), link tıklaması olmadan gerçekleşen satışları doğru yayıncıya bağlamak için üretilen, click ID ile aynı güvenlikte, imzalı ve süreli bir atıf anahtarıdır. Yapay zekâ asistanlarının önerileri, podcast'ler, sosyal içerikler ve API üzerinden yapılan satışlar bu kapsama girer.
Klasik postback, bir tıklamanın var olduğunu varsayar. Oysa bir kullanıcı bir yapay zekâ asistanından ürün önerisi alıp satın alma akışına doğrudan geçebilir ya da bir podcast'te duyduğu referans kodunu sepette girebilir. Bu kanallarda click ID yoktur; atıf token'ı bu boşluğu doldurur.
Token, API üzerinden üretilir:
POST /v1/attribution-tokens
Authorization: Bearer af_live_…
{ "offer_id": "off_…", "channel": "agent", "sub": { "sub1": "assistant-x" } }
channel değeri api, agent, podcast, social veya offline olabilir ve raporlarda kanal kırılımı olarak görünür. Token kullanıcının satın alma akışına iletilir; örneğin sepetteki referans alanına ya da bir deep link parametresine. Reklamveren dönüşümü bildirirken click_id yerine attribution_token=<token> gönderir; doğrulama, tekilleştirme ve fiyatlandırma aynen uygulanır.
Token'ın süresi kampanyanın atıf penceresi kadardır. Süresi dolmuş, başka reklamverene ait veya değiştirilmiş token'lar reddedilir; ayrıca kampanyada "token ile atıf" kaynağının açık olması gerekir. Yapay zekâ ajanları bu akışı Adfacten'in MCP sunucusu üzerinden de kullanabilir. Konunun geleceğe dönük tarafını Yapay Zekâ Ajanları ve Affiliate Marketing yazısında ve yapay zekâ ajanları sayfamızda bulabilirsiniz.
Postback güvenliği, ağa yalnızca gerçek reklamverenin gerçek dönüşümleri bildirebilmesini sağlayan katmanlardan oluşur: gizli token, isteğe bağlı HMAC imzası, IP izin listesi ve imzalı click ID. Bu katmanlar olmadan kötü niyetli biri sahte postback'lerle komisyon üretmeye çalışabilir.
Gizli postback token. Her istekte zorunludur ve yalnızca sunucu tarafında tutulmalıdır. Kaynak koda gömülmemeli, ön yüz (frontend) koduna veya piksele asla yazılmamalıdır. Erişimi olan kişi sayısını asgaride tutun.
İmzalı click ID. Click ID'ler ağ tarafından imzalanır ve süreli üretilir. Uydurma veya bozulmuş bir click ID ile gelen istek invalid_click_id ile reddedilir. Başka bir reklamverene ait click ID ise offer_not_owned_by_advertiser hatası verir.
HMAC-SHA256 imzası (önerilir). Token'a ek olarak her isteği panelde gösterilen imza anahtarıyla imzalayabilirsiniz. Yöntem şöyledir:
ts parametresine şu anki Unix zamanını (saniye) ekleyin. ±5 dakikadan eski istekler reddedilir; bu, ele geçirilmiş bir isteğin sonradan tekrar oynatılmasını engeller.sig hariç tüm parametreleri, anahtarları küçük harfle, anahtara göre alfabetik sıralayın ve anahtar=değer çiftlerini & ile birleştirin. Değerler URL-çözülmüş (ham) hâliyle kullanılır.sig = hex(HMAC-SHA256(imza_anahtarı, birleştirilmiş_metin)) hesaplayıp isteğe ekleyin.Komut satırından örnek:
secret='IMZA_ANAHTARI'
ts=$(date +%s)
q="amount=250.00&click_id=$CLICK_ID¤cy=TRY&goal=sale&order_id=ORD-1001&token=$TOKEN&ts=$ts"
sig=$(printf '%s' "$q" | openssl dgst -sha256 -hmac "$secret" -hex | sed 's/^.* //')
curl "https://trk.adfacten.com/pb?$q&sig=$sig"
İmzaya geçtikten sonra paneldeki İmza zorunlu seçeneğini açarak imzasız istekleri tamamen reddedebilirsiniz. Böylece token sızsa bile imza anahtarı olmadan geçerli istek üretilemez.
IP izin listesi. Postback'lerin yalnızca kendi sunucularınızdan gelmesini istiyorsanız izinli IP'leri tanımlayabilirsiniz. Listede olmayan bir adresten gelen istek ip_not_allowed ile reddedilir. Sunucu altyapınızı değiştirdiğinizde bu listeyi güncellemeyi unutmayın.
Geliştirici ekibiniz PHP, Node.js ve Python örneklerinin tamamını geliştirici portalında bulabilir.
Postback sorunlarının büyük çoğunluğu dört nedenden kaynaklanır: click ID'nin kaybolması, yanlış token, imza hesaplama hataları ve test ile canlı ortamın karıştırılması. Aşağıdaki liste, en olası nedenden en az olasıya doğru sıralanmıştır.
{click_id} makrosunun bulunduğunu veya afclk parametresinin sayfaya ulaştığını tarayıcı adres çubuğundan doğrulayın. Ara yönlendirmeler sorgu parametrelerini silebilir.400 missing_click_id / invalid_click_id: click ID boş, kesilmiş veya değiştirilmiş.401 invalid_token: token yanlış veya eski. bad_signature: imza metni hatalı sıralanmış ya da URL-kodlu değerlerle hesaplanmış. signature_expired: ts 5 dakikadan eski ya da sunucu saatiniz kaymış. signature_required: İmza zorunlu açık ama istek imzasız.403 ip_not_allowed: sunucu IP'niz izin listesinde değil. offer_not_owned_by_advertiser: click ID başka bir reklamverenin kampanyasına ait. advertiser_inactive: hesap pasif.503 not_ready: geçici durum; aynı isteği tekrar gönderin.accepted ama panelde dönüşüm yok mu? Son istekler ekranına bakın; dönüşüm tekrar (duplicate) olarak işaretlenmiş, fraud kuralına takılmış veya geçersiz durum geçişi (invalid_status_transition) olabilir.250.00), binlik ayırıcı eklemeyin. currency gönderilmezse kampanyanın para birimi varsayılır.test=1 ile gönderilenler raporlarda ayrı filtrelenir ve bakiyeyi etkilemez. Canlıya geçerken bu parametreyi kaldırmayı unutmayın.signature_expired hatasının sessiz nedenidir. NTP senkronizasyonunu kontrol edin.İpucu: Postback'i sipariş oluşturma isteğinin içinde senkron göndermek yerine bir iş kuyruğuna atın. Böylece takip sunucusuna ulaşılamadığında kullanıcının ödeme deneyimi etkilenmez ve başarısız istekler otomatik yeniden denenir.
Adfacten'in postback test aracı, sahte bir tıklama üreterek size örnek postback URL'ini veren ve gönderdiğiniz isteğin uçtan uca işlendiğini gösteren bir doğrulama ekranıdır. Canlı trafiğe çıkmadan entegrasyonun doğru çalıştığından emin olmanın en hızlı yoludur.
Önerilen test sırası şöyledir:
test=1 ile işaretleyin.accepted olduğunu, dönüşümün doğru hedef, tutar ve para birimiyle oluştuğunu kontrol edin.order_id ile isteği bir kez daha gönderin ve yeni dönüşüm oluşmadığını doğrulayın.status=approved ve ardından status=reversed göndererek durum geçişlerini test edin.sig gönderip bad_signature hatası aldığınızı görün; ardından İmza zorunlu seçeneğini açın.Bu yedi adımı geçen bir entegrasyon, canlı trafikte büyük olasılıkla sorunsuz çalışır. Reklamveren tarafında programın geri kalanını kurmak için Affiliate Programı Nasıl Kurulur? rehberine göz atabilirsiniz.
Adfacten'de S2S postback'e başlamak için reklamveren hesabı açıp kampanyanızın landing URL'ine {click_id} makrosunu eklemeniz ve Postback & piksel ekranındaki token'la ilk test isteğinizi göndermeniz yeterlidir. 2014'ten beri performans pazarlamada çalışan Adfacten, S2S postback'i öncelikli takip yöntemi olarak sunar; piksel ve MMP entegrasyonları da aynı tekilleştirme ve fraud kurallarından geçer.
Reklamverenseniz reklamveren sayfamızda takip ve fraud koruma özelliklerinin tamamını inceleyebilir, doğrudan reklamveren hesabı oluşturabilirsiniz. Yayıncıysanız kendi tracker'ınızı yayıncı postback'leriyle bağlamak için yayıncılar sayfasına göz atın ya da yayıncı olarak kaydolun. Teknik ekibiniz ise tüm uç noktaları, webhook'ları ve kod örneklerini developers.adfacten.com adresinde bulabilir.
Postback, bir kullanıcı satın alma veya kayıt gibi bir hedefi tamamladığında, reklamverenin sunucusunun affiliate ağına gönderdiği kısa bir HTTP isteğidir. İstekte tıklamayı tanımlayan click ID, hedef türü ve tutar gibi bilgiler bulunur. Ağ bu bilgiyle dönüşümü doğru yayıncıya yazar ve komisyonu hesaplar. Tarayıcı devreye girmediği için çerezlerden bağımsızdır.
Piksel, dönüşüm sayfasında kullanıcının tarayıcısında çalışan bir kod parçasıdır ve çerez okur; reklam engelleyici, ITP veya sayfanın yarıda kapanması onu etkisiz bırakabilir. S2S postback ise siparişi onaylayan sunucudan doğrudan gönderilir. Bu yüzden daha az veri kaybı yaşanır, iade ve onay gibi durum güncellemeleri de yalnızca sunucu tarafında yapılabilir.
Postback URL, dönüşüm bildirimlerinin gönderileceği adrestir. Reklamveren tarafında bu adres affiliate ağının takip sunucusudur ve size özel bir postback token içerir. Adfacten'de adres ve token, panelde Postback & piksel ekranında hazır gelir. Yayıncı tarafında ise postback URL, ağın dönüşümleri yayıncının kendi takip sistemine bildirdiği adrestir.
Click ID, her tıklamaya özel üretilen, imzalı ve süreli bir kimliktir. Kullanıcı landing sayfanıza geldiğinde URL'de taşınır. Bu değeri oturuma ve siparişe kaydetmezseniz, dönüşüm gerçekleştiğinde hangi yayıncıdan geldiğini ağa söyleyemezsiniz. Click ID'yi saklamamak, S2S entegrasyonlarında dönüşüm kaybının en sık nedenidir.
Doğru kurulmuş bir sistemde oluşmaz. Adfacten'de aynı order_id ve goal ikilisi ikinci kez geldiğinde yeni dönüşüm yaratılmaz. Bu sayede ağ hatası veya zaman aşımı durumunda isteği gönül rahatlığıyla tekrarlayabilirsiniz. Yalnızca status değeri farklıysa, örneğin onaydan iadeye geçiş, mevcut dönüşümün durumu güncellenir.
Mobil kampanyalarda kurulum ve uygulama içi olaylar genellikle bir MMP (mobil ölçüm ortağı) tarafından ölçülür. Click ID, tracking linki üzerinden MMP'ye aktarılır; kurulum veya satın alma olduğunda MMP, affiliate ağının sağlayıcıya özel postback ucunu çağırır. Böylece CPI ve CPE kampanyaları da sunucudan sunucuya ölçülür.

Affiliate programı kurma rehberi: komisyon yapısı, atıf kuralları, trafik politikası, S2S takip, onay süreci ve ilk 90 günlük plan tek yerde.
Rehberi oku
Affiliate fraud, tıklama sahtekarlığı ve sahte trafik nasıl tespit edilir? Türler, sinyaller, önleme katmanları ve adil onay süreci için eksiksiz rehber.
Rehberi oku
CPA nedir, CPC nedir, CPS nedir? 11 performans pazarlama modelinin formülü, örnek hesabı, riski ve hangi sektöre uygun olduğu bu kapsamlı rehberde.
Rehberi okuKayıt ücretsiz. Başvurunuz incelendikten sonra kampanyalara erişir, ilk takip linkinizi dakikalar içinde üretirsiniz.