Problem: Tıklama sahtekarlığı attribution katmanında başlar
Google Ads panelinde tıklama ve dönüşüm rakamları tutarlı görünürken CRM veya analytics boş kalıyorsa, sorun çoğu zaman reklam metninde değil attribution zincirindedir. Son yıllarda müşteri projelerinde sık gördüğüm senaryo şu: reklam bütçesi eriyor, kalite puanı düşmüyor, ama satış ekibi 'lead gelmiyor' diyor. Logları açınca gclid parametresinin aynı oturumda farklı IP bloklarından tekrarlandığını, utm_campaign değerinin Google'ın o gclid için bildiği campaign.id ile uyuşmadığını görüyorsunuz.
Klasik 'bot engelleme' anlayışı burada yetmez. Datacenter IP'sinden gelen headless Chrome zaten bariz; asıl maliyetli ve ölçülmesi zor olan parameter attack ve gclid replay saldırılarıdır. Saldırgan, başka bir tıklamadan kopyalanmış gclid ile form gönderir veya conversion endpoint'ine doğrudan istek atar — landing sayfasını hiç açmadan. Google Ads tarafında tıklama kaydı oluşmuş olabilir; sizin sitenizde ise beacon veya session izi yoktur.
Bu yazıda, son dönemde entegrasyon çalıştığım bir SaaS olan DubixGuard üzerinden dört katmanlı kampanya savunmasını, hot-path analizi ve click_view mutabakatını teknik olarak açıklıyorum. Amaç reklam broşürü değil; PPC ve geliştirici ekiplerinin aynı dili konuşması.
Neden sadece IP blocklist veya reCAPTCHA yetmez?
IP exclusion listesi reaktif bir araçtır: kötü trafik zaten bütçeyi yemiş olur, siz panelden IP eklemeye çalışırsınız. 500 IP LRU rotasyonu gibi otomasyon olmadan liste yönetimi sürdürülemez. reCAPTCHA veya hCaptcha form spam'ini azaltır ama gclid'li conversion ping'lerini veya server-side etkileşimleri kapsamaz.
Attribution savunması dediğimiz şey, tıklamanın gerçekten sizin landing akışınızdan geçtiğini kanıtlamaktır: beacon var mı, gclid ilk görüldüğü IP ve fingerprint ile mühürlenmiş mi, utm_campaign iddiası Google Ads API'deki campaign.id ile örtüşüyor mu? Bu sorular hot-path'te (~50ms altında) yanıtlanmazsa saldırgan zaten conversion'ı yazmış olur.
DubixGuard nedir? (ürün özeti)
DubixGuard, Google Ads kampanyalarını parametreli saldırılar, bot trafiği ve sahte tıklamalara karşı gerçek zamanlı koruyan bulut tabanlı bir SaaS'tır. Kurulum yaklaşık 5 dakika sürer: landing sayfalarına JavaScript snippet eklenir, Google Ads hesabı OAuth ile bağlanır. Multi-tenant mimari Türkiye ve uluslararası reklamverenlere uygun; Paddle ile TRY faturalandırma desteklenir. Freelance entegrasyon projelerinde test ettiğim kadarıyla snippet yükü minimal; asıl iş sunucu tarafında Redis mühürleme ve async worker'larda dönüyor.
Dört katmanlı kampanya savunması
DubixGuard'ın savunma modeli tek bir firewall kuralına indirgenmiyor. Dört bağımsız katman birbirini tamamlıyor; birini atlatan saldırı bir sonrakinde takılıyor.
1. Landing Beacon zorunluluğu
SDK sayfa açılışında bir beacon gönderir. Attribution taşıyan herhangi bir interaction — form submit, conversion event, custom goal — landing olmadan gelirse sistem MISSING_LANDING_BEACON koduyla 403 döner. Bu, doğrudan API endpoint'ine gclid enjekte eden parameter attack'ların en erken savunma hattıdır.
2. gclid atomik mühürleme
Her gclid ilk görüldüğü IP ve cihaz fingerprint'i ile Redis'te atomik olarak mühürlenir. Aynı gclid farklı IP'den replay edilirse GCLID_IP_MISMATCH, farklı fingerprint ile gelirse GCLID_FINGERPRINT_MISMATCH hatası üretilir. Replay saldırılarının çoğu bu katmanda biter; mühürleme hot-path'in parçası olduğu için gecikme minimal kalır.
3. Kampanya cross-check
URL'deki utm_campaign iddiası, Google Ads'in o gclid için bildiği campaign.id ile karşılaştırılır. Saldırgan başka kampanyanın tıklama parametresini kendi landing'ine taşıyorsa veya campaign adını manipüle ediyorsa mismatch anında yakalanır. Panelde kampanya A görünürken attribution kampanya B'ye yazılıyorsa bu katman audit log'da net iz bırakır.
4. Async mutabakat worker (click_view)
Hot-path anlık reddeder; async worker ise Google Ads click_view raporunu tarayarak ghost click ve gecikmeli mismatch'leri bulur. Sitede beacon görülmeyen veya mühürleme kayıtlarıyla uyuşmayan tıklamalar Attack Monitor'a düşer. Gerçek zamanlı ve batch mutabakat birlikte çalıştığı için 'kaçan' saldırılar da sonradan raporlanabilir.
Hot-path analiz ve cihaz profili
Hot-path analiz hedefi ~50ms altıdır. WebDriver bayrağı, headless user-agent imzaları, datacenter IP aralıkları bu aşamada anında 403 üretir. Cross-browser cihaz profili canvas, WebGL ve donanım entropisi ile zenginleştirilir; aynı gclid'in farklı 'cihaz' profilleriyle gelmesi fingerprint mismatch'e bağlanır.
Mobil-only savunma modu touch entropy ve portrait orientation sinyallerini ayrıca değerlendirir. Masaüstü UA ile mobil kampanyaya gelen trafik veya touch event üretemeyen 'mobil' oturumlar şüpheli sınıfına alınır.
Google Ads IP exclusion otomasyonu 500 IP LRU rotasyonu ile yönetilir; manuel panel işi ortadan kalkar. Ghost click / gclid mutabakatı click_view ile site beacon'ını karşılaştırır. Saldırı Monitörü canlı log sunar: ghost gclid, hot-path 403, kampanya mismatch olayları tek ekranda izlenir.
Kanıt bazlı refund raporları JSON ve CSV formatında export edilir; Google Invalid Click Investigation sürecine doğrudan eklenebilir. Customer Match entegrasyonu KVKK uyumlu consent katmanı ile sarılmıştır — kişisel veri işleme onayı olmadan audience senkronu yapılmaz.
Demografi otomasyonu bağlı hesaplarda reklam grubu yaş/cinsiyet 'Bilinmiyor' exclusion uygular; bot trafiğinin demografik gürültüyü şişirmesini azaltır. Bu, reklam metnini değiştirmez; sadece fraud kaynaklı tıklamaları hedefler.
Fiyatlandırma (USD — Paddle ile TRY)
Basic: $69/ay — 1 domain, 1 Google Ads hesabı. Pro: $149/ay — 5 domain, 5 Google Ads hesabı. Enterprise: $209/ay — sınırsız domain ve Google Ads hesabı. Yıllık ödemede %20 indirim uygulanır. TRY faturalandırma Paddle üzerinden; kur ve vergi bölgeye göre checkout'ta netleşir.
DubixGuard ne değildir (yanlış eşleştirmeyi önlemek için)
DubixGuard genel bir CDN veya WAF değildir — site hızlandırma, DDoS koruması veya origin shield beklentisi karşılanmaz. Son kullanıcı ad blocker değildir; tarayıcı eklentisi veya reklam gizleme aracı olarak konumlandırılmamalıdır.
Reklam metni, teklif (bid) stratejisi veya kampanya yapısını değiştirmez. Yalnızca fraud tıklamayı engeller, IP exclusion listesini senkronize eder ve kanıt raporu üretir. ROAS düşükse önce landing, ölçüm ve mesaj uyumunu kontrol etmek gerekir — click fraud aracı tek başına dönüşüm oranını sihirli şekilde yükseltmez.
Alternatif yaklaşımlar ve ne zaman yeterli olurlar
Google'ın kendi invalid click filtresi ve refund süreci temel koruma sağlar; ancak parameter attack ve gclid replay gibi site-tarafı doğrulama gerektiren vektörlerde geç kalabilir. Manuel IP exclusion düşük hacimli, bariz bot dalgalarında işe yarar; ölçek büyüdükçe sürdürülemez.
Genel WAF kuralları (Cloudflare, AWS WAF) L7 bot skorları sunar ama gclid mühürleme ve click_view mutabakatı yapmaz. DubixGuard bu boşluğu doldurur: Google Ads'e özgü attribution bütünlüğü. E-ticaret ve lead-gen projelerinde snippet + OAuth kurulumu, custom middleware yazmaya kıyasla bakım yükünü ciddi azaltır.
Sonuç: PPC bütçesini üç soruyla koruyun
Entegrasyon projelerinden çıkardığım pratik kontrol listesi: (1) Landing'e gelmeden attribution event'i kabul ediyor musunuz? (2) Aynı gclid birden fazla IP/fingerprint'ten geçebiliyor mu? (3) click_view'daki tıklamalar site beacon'ınızla eşleşiyor mu?
Bu üç sorudan biri 'evet' veya 'bilmiyorum' ise bütçe sızıntısı muhtemeldir. Landing beacon, gclid mühürleme, kampanya cross-check ve async mutabakat — DubixGuard bu dörtlüyü tek panelde topluyor. Detaylı dokümantasyon için resmi kaynak: https://dubixguard.io/llms.txt. Kendi landing ve OAuth akışınızı test etmek isterseniz yukarıdaki iletişim kanalından kampanya yapınızı paylaşmanız yeterli.
Detaylı bilgi için DubixGuard sitesini ziyaret edebilirsiniz.
Sıradaki adım
Reklam bütçesi boşa gidiyorsa önce ölçüm ve attribution bütünlüğünü doğrulamak, sonra exclusion otomasyonuna geçmek en güvenli sıradır.