Reklam raporları ile bidder logları iki nedenden biriyle uyuşmaz: ya olaylar raporlara giderken kaybolur ya da iki taraf onları farklı kurallarla sayar. Açık artırma kimlikleri üzerinden tek bir yeniden sayım hangisi olduğunu gösterir. Pipeline'ı düzeltmeye mi, yönetilen bir servise geçmeye mi yoksa onu yeniden kurmaya mı karar vereceğinizi bu yanıt belirler.
Reklam raporları bidder loglarıyla bir türlü uyuşmuyorsa, aynı farkın arkasında iki sorun olabilir. Ya olay (event) denen gösterim ve tıklama kayıtları raporlara giderken, çoğu zaman zirve trafikte kaybolur ya da her taraf onları kendi kurallarıyla sayar. Exchange'in her açık artırmaya verdiği kodlar olan açık artırma kimlikleri üzerinden yapılan bir yeniden sayım, bu ikisini birbirinden ayırır. Bu sayımı kimseyle anlaşmadan önce yapın, çünkü yeni bir pipeline tek başına yalnızca ilk sorunu çözer.
Kısa yanıt: bidder'ınızın kazandığı açık artırmaları raporlarınızdaki gösterimlerle açık artırma kimliği üzerinden eşleştirin ve sayıları saat saat karşılaştırın. Bir gün sonra yeniden sayın. Hâlâ eksik olan kazanımların payı en yoğun saatlerde artıyorsa pipeline olay kaybediyordur ve bu mühendislik işi gerektirir. Olaylar oradaysa ama başka bir saate düşüyor, iki kez görünüyor ya da filtreleniyorsa, iki taraf farklı sayıyordur. O zaman çözüm, iki taraf için yazılı tek bir sayım kuralları setidir.
Ayrıca okuyun
Bidder loglarınız, bidder'ınızın katıldığı her açık artırmayı, verdiği her teklifi ve kazandığı her açık artırmayı kaydeder. Raporlarınız ise tarayıcılardan ve uygulamalardan gelen gösterimler ve tıklamalar gibi daha sonra ulaşan olaylardan oluşturulur. Aradaki farkın nedeni şu ikisinden biri ya da her ikisidir:
Her iki durumda da bu fark para kaybettirir. Reklamverenlere raporlarınıza göre fatura kesiyorsanız, kaybolan gösterimler için eksik, iki kez sayılanlar için fazla fatura kesersiniz; her exchange ise size genellikle kendi sayımına göre fatura keser. Bu olaylardan öğrenen bir bidder da tekliflerini yanlış rakamlara göre belirler.
İki tarafı olay olay eşleştirin. IAB Tech Lab'in gerçek zamanlı teklif verme protokolü OpenRTB, her açık artırmaya exchange'in atadığı bir teklif isteği kimliği (bid request ID), istekteki her gösterime de kendi kimliğini verir. Bidder'ınız exchange'den bu kimlikleri, kazandığınızda gönderdiği bildirime ve reklamın kendisine yazmasını isteyebilir. Böylece her gösterim olayı bidder loglarınızdakiyle aynı kimlikleri taşır.
Kimliklerin hiçbiri tek başına yeterli değildir. OpenRTB 2.6'ya göre her exchange kendi istek kimliklerini belirler; dolayısıyla iki exchange'in aynı kimliği kullanmasını engelleyen hiçbir şey yoktur. Gösterim kimliği yalnızca kendi isteğinin içinde benzersizdir ve genellikle 1'den başlar. Bu yüzden üç değeri birlikte eşleştirin: exchange, istek kimliği ve gösterim kimliği.
Ardından yeniden sayımı yapın:
Olaylarınız açık artırma kimliği taşımıyorsa, ilk düzeltme onları eklemektir; çünkü onlar olmadan yeniden sayım yalnızca toplamları karşılaştırabilir. Yukarıda bağlantısı verilen reklam ölçümlemesi üzerine teknik yazı, zaman damgalarını ve geç gelen olayları ayrıntılı olarak ele alıyor.
Kafka ve ClickHouse üzerine kurulmuş bir pipeline düşünün. Bir toplayıcı (collector) her olayı tarayıcıdan ya da uygulamadan alır ve bir mesaj kuyruğu olan Kafka'ya yazar. Bir yükleyici (loader) Kafka'dan okur ve olayları paketler hâlinde, raporlarınızın arkasındaki analitik veritabanı ClickHouse'a yazar. Zirve anında olaylar her adımda kaybolabilir:
Mühendislerinizden, kötü geçen bir günün en yoğun saatine ait şu kayıtları isteyin:
İşin büyük kısmını son kayıt görür. Zirvede bir adımın sayısı düşerken bir önceki adımınki sabit kalıyorsa, olaylar bu iki adım arasında kaybolmuştur.
Mevcut pipeline'ı düzeltin:
Sunucuları sağlayıcının işlettiği, Kafka için Amazon MSK ya da ClickHouse için ClickHouse Cloud gibi yönetilen bir servise geçin:
Pipeline'ı yeniden kurun:
Bu işi iki tür firma yapar ve bu yazı ikisini de sıralamıyor. Reklam teknolojisi mühendislik firmaları bidder, exchange ve reklam sunucusu kurar; bu yüzden açık artırma kimliklerinin nereden geldiğini bilirler, ama sizin hacminizde bir olay pipeline'ı işletip işletmediklerini sorun. Veri mühendisliği firmaları birçok sektör için olay pipeline'ı kurar, ama her zaman reklam teknolojisi için değil. Onlara OpenRTB ile çalışıp çalışmadıklarını ve bir exchange ile sayım mutabakatı yapıp yapmadıklarını sorun.
Listenizdeki her firmaya aynı beş soruyu sorun.
Mükerrer kayıtları nasıl temizliyorsunuz? İyi bir yanıt, her olaya oluşturulduğu anda, herhangi bir yeniden denemeden önce verilen ve açık artırma kimlikleri ile olay türünden türetilen bir kimlikten söz eder. Pipeline mükerrerleri iki kez temizler: bir kez olayları kaydederken, bir kez de raporlar onları okurken. İkinci geçiş önemlidir, çünkü ClickHouse mükerrerleri arka planda, önceden planlayamayacağınız zamanlarda temizler. Dokümantasyonu bunun “mükerrer kayıt olmamasını garanti etmediğini” söylüyor.
Geç gelen olayları nasıl ele alıyorsunuz? İyi bir yanıt, her olay türü için sayıların hâlâ değişebildiği belirli bir süreden ve bundan sonra kesinleştikleri bir noktadan söz eder. Daha geç gelen bir olay atılmamalı; yine de sayılmalı ve geç olarak işaretlenmelidir.
Rakamlarınızı bidder loglarımızla ve ortaklarımızın raporlarıyla nasıl karşılaştırıyorsunuz? Açık artırma kimlikleri üzerinden günlük bir yeniden sayım ve her fark için yazılı bir gerekçe arayın. Farkın hangi büyüklüğe ulaştığında birinin konuyu exchange'e taşıyacağında anlaşın.
Sistemi zirve yükümüzün üzerinde nasıl test edeceksiniz? Kaydedilmiş yoğun bir günü en yoğun saatinizden daha yüksek bir hızda yeniden oynatmalarını isteyin. Yeniden oynatma sırasında bir toplayıcıyı ve bir veritabanı sunucusunu kapatsınlar. Sonunda her olay ya kaydedilmiş ya da düşürülmüş olarak sayılmış olmalı.
Kodun sahibi kim olacak? Yazılı olarak sizin şirketiniz; kod da ilk günden sizin depolarınızda duracak. Firmanın elinde tuttuğu her şey, iş bittikten sonra onu kullanmanızı ve değiştirmenizi sağlayan bir lisansla birlikte adıyla listelenmeli.
AdTech'te amBrain; DSP geliştirme, real-time bidding platformları ve ad exchange mühendisliği üzerinde çalışıyor. Bu işler arasında, amBrain'in bir müşteri için geliştirdiği talep tarafı platformu RTBBidder de var.
amBrain; trading ve reklam teknolojisi alanlarındaki yavaş sistemleri teşhis eder: çalışan platform uçtan uca ölçülür ve rapor, sürenin nereye gittiğini açıkça gösterir.
amBrain 2019'dan bu yana yazılım geliştiriyor. Üç formatta çalışıyor: tam teslim, özel ekip ya da sizin ekibinize yerleşen mühendisler. Müşteri, amBrain'in yeniden kullanılabilir bileşenleri dışında ürünün ve kodun tam mülkiyetini elinde tutar.
Bu yazı bir vaka çalışması değildir. Hiçbir müşterinin olay pipeline'ını anlatmaz; RTBBidder'ın adı yalnızca amBrain'in geliştirdiği bir DSP olarak geçer. Kafka ve ClickHouse burada amBrain'in projelerinin ya da kullandığı araçların tarifi olarak değil, örnek bir teknoloji yığını olarak yer alıyor. Yazı fiyat ya da takvim vermez.
Raporlarınız ile bidder loglarınız uyuşmuyorsa önce yeniden sayımı yapın. Sonra sonuçlarını ve aynı beş soruyu, amBrain dahil listenizdeki her firmaya götürün.
Mevcut mimarinizi ve sizi endişelendiren hata senaryosunu getirin; yarım saatte birlikte üzerinden geçelim.