Meta'da lead reklamı veriyorsanız şu tabloyu biliyorsunuzdur: formlar doluyor, lead başına maliyet fena görünmüyor, ama satış ekibi aradığında lead'lerin önemli bir kısmı "ilgisiz" çıkıyor. Asıl sorun şu: bu bilgi satış ekibinde kalıyor. Reklam platformu formun doldurulduğunu görüyor, sonrasını görmüyor. Algoritma da elindeki tek sinyale, yani form doldurma davranışına optimize etmeye devam ediyor.
Bu döngüyü önce kendi reklam hesabımızda kapattık: lead'ler CRM'e otomatik düşüyor, satış ekibinin nitelikli/niteliksiz kararları ve kapanan satışlar Conversions API ile Meta'ya geri gidiyor. Bu yazı, aynı sistemi kendi altyapınızda kurmanız için genelleştirilmiş yol haritası. Zapier, Make veya LeadsBridge gibi abonelikli köprü araçlarına ihtiyaç duymadan, tamamen kendi sunucunuzda çalışan bir mimariyle.
Sistem Ne Yapıyor: Kapalı Döngünün Anatomisi
Kurulumun iki yönü var. Birinci yön reklamdan CRM'e: kullanıcı instant form'u doldurduğu anda Meta'nın leadgen webhook'u tetiklenir, otomasyon katmanı lead detayını Graph API'den çeker ve CRM'de kişi ile lead kaydını saniyeler içinde oluşturur. Kritik nokta, Meta'nın lead ID'sinin (leadgen_id) bu kayıtla birlikte saklanmasıdır; geri beslemenin birincil eşleşme anahtarı budur.
İkinci yön CRM'den reklama: satış ekibi lead'i nitelikli veya niteliksiz olarak işaretlediğinde, bir deal açıldığında ya da satış kazanıldığında/kaybedildiğinde, CRM webhook'u tetiklenir ve bu durum değişikliği SHA-256 ile hash'lenmiş kimlik bilgileriyle birlikte Meta Conversions API'ye event olarak gönderilir.
Karşılığında üç şey kazanırsınız: Ads Manager'a nitelikli ve satıldı kolonlarını ekleyip hangi reklamın gerçekten müşteri getirdiğini reklam bazında görürsünüz; qualified ve converted eventlerinden custom audience ve lookalike kitleler üretirsiniz; hacim eşiğini geçtiğinizde Meta'nın Conversion Leads optimizasyonuna geçiş tek adım olur.
Başlamadan: Üç Mimari Karar
Birincisi otomasyon katmanı. Bu iş için abonelikli köprü araçları var, ancak self-hosted bir otomasyon aracı (biz MIT lisanslı Activepieces Community Edition kullanıyoruz; self-host'ta flow ve işlem limiti yok) aynı işi işlem başına maliyet olmadan yapar. Daha önemlisi: erişim token'ları ve lead verisi kendi sunucunuzda kalır, üçüncü parti bir SaaS'tan geçmez. KVKK tarafında bu fark ciddi.
İkincisi sinyal havuzu. CRM eventlerini ayrı bir dataset'e değil, web eventlerinizin zaten aktığı ana pixel'e gönderin. Meta tek havuzda toplanan sinyalden daha hızlı öğrenir; sinyali bölmek öğrenmeyi yavaşlatır.
Üçüncüsü event adlandırması. Kısa, boşluksuz, İngilizce karakterli adlar kullanın: crm_lead, qualified, disqualified, converted. Boşluk veya yerel karakter içeren event adları API tarafında sorun çıkarır.
Adım 1: CRM'i Hazırlayın
CRM'inizde (örneğimiz Pipedrive, mantık her CRM'de aynı) dört custom alan açın: Meta Lead ID, Ad ID, Campaign ID, Form ID. Bu rehberin en önemli kuralı şu: leadgen ID hiçbir aşamada kaybolmamalı. Lead'i CRM'e elle giren her ekip bu ID'yi kaybeder; kaydı otomasyonun yazması şart.
Huni yapısını da netleştirin: ham lead'lerin düştüğü bir giriş noktası ve en az iki-üç sıralı aşama. Meta'nın huni kurulumu sıralı aşamalar ister. Nitelikli/niteliksiz ayrımını etiketlerle ya da aşamalarla yapabilirsiniz; önemli olan bu kararın CRM'de izlenebilir bir alan değişikliği üretmesidir, çünkü webhook'u tetikleyecek olan odur.
Adım 2: Meta Tarafı: App, System User ve Ölmeyen Token
Meta for Developers'ta Business tipinde bir app oluşturun ve Webhooks ürününü ekleyin. Kendi Business Manager varlıklarınız için çalışacağı sürece App Review gerekmez; Standard Access yeterlidir.
Sonra en kritik adım: Business Settings'te bir system user oluşturun, sayfanızı, reklam hesabınızı ve dataset'inizi bu kullanıcıya atayın ve token'ı süresiz (never expire) üretin. Nedeni basit: kişisel hesap token'ları yaklaşık 60 günde sessizce ölür ve bu tür entegrasyonlarda kesintilerin en yaygın sebebi budur. Sistem bir gün durursa ilk şüpheli token'dır.
İzin setinde lead çekme (leads_retrieval) ile sayfa ve reklam yönetimi izinleri bulunmalı. Bir de Leads Access kontrolü var: lead çekme istekleri boş dönüyorsa ilk bakılacak yer Business Settings'teki Leads Access kısıtlamasıdır; system user'ı yetkili listesine ekleyin.
Adım 3: Gerçek Zamanlı Lead Akışı
Webhook aboneliğini kurarken Meta önce sizi doğrular: gönderdiği GET isteğindeki hub.challenge değerini aynen geri döndürmeniz gerekir. Doğrulama geçtikten sonra her form gönderiminde webhook tetiklenir; ancak webhook lead'in kendisini değil, ID'sini taşır. Detayları (isim, e-posta, telefon, form yanıtları) Graph API'den ayrıca çekersiniz.
Akışın CRM ucunda kişi ve lead kaydı oluşturulur, leadgen ID ve kampanya bilgileri custom alanlara yazılır. İsterseniz aynı akışta satış ekibine otomatik bir arama görevi de açtırın; lead'e ilk temas hızı dönüşümü doğrudan etkiler. Son olarak bu anda huninin ilk eventini gönderin: crm_lead. Bu, Meta'ya lead'in huniye girdiğini bildirir.
Adım 4: Geri Besleme Eventleri
CRM'de üç webhook yeterli: etiket/durum değişimi, deal oluşturma ve deal statü değişimi. Eşleme mantığı:
| CRM tetikleyicisi | Meta eventi |
|---|---|
| Lead CRM'e düştü | crm_lead |
| Niteliksiz işaretlendi | disqualified |
| Nitelikli işaretlendi veya deal açıldı | qualified |
| Satış kazanıldı | converted |
| Satış kaybedildi | disqualified |
| Kayıp geri alındı | qualified |
Payload'da üç esas var. action_source değeri "system_generated" olmalı; bu, eventin CRM kaynaklı olduğunu bildirir. user_data içinde lead_id ile birlikte SHA-256 ile hash'lenmiş e-posta ve telefon gönderin; eşleşme kalitesini taşıyan alanlar bunlar. converted eventinde value ve currency ekleyin ki Meta gelir bazlı raporlayabilsin.
Bir de bilinmesi gereken kural: Meta tarafında event silme veya geri alma mekanizması yoktur. Yanlış bir sinyal gönderdiyseniz düzeltme, kişinin güncel durumunu yeni bir event olarak göndermektir; Meta en son event'i geçerli sayar.
Adım 5: Güvenlik Ağları: Dedup ve Backfill
İki koruma katmanı kurun. Birincisi deduplication: her event'e deterministik bir event_id verin ki tekrarlanan gönderimler çift sayılmasın. İkincisi backfill: webhook'lar kaçabilir (sunucu yeniden başlar, retry penceresi dolar). Birkaç saatte bir çalışan zamanlanmış bir akış Graph API'den son lead'leri tarasın, CRM'de karşılığı olmayanları içeri alsın.
Backfill'i planlarken iki sınırı bilin: Meta lead verisini 90 gün saklar, daha geriye gidemezsiniz. Conversions API ise 7 günden eski event_time kabul etmez; geciken gönderimlerde event_time güncellenmelidir.
Adım 6: Test, Huni Kurulumu ve İzleme
Canlıya çıkmadan Events Manager'ın test aracını kullanın: test_event_code ile sahte bir lead oluşturup dört eventi de (crm_lead, qualified, converted, disqualified) ekranda görün, sonra test kodunu kaldırıp yayınlayın. Canlı eventler akmaya başlayınca Events Manager'da huniyi sıralayın: form lead'i, crm_lead, qualified, converted; disqualified huni dışı işaretlenir.
İzlemede iki metrik öne çıkar. Birincisi Event Match Quality (EMQ): yalnızca IP ve user agent ile giden eventler pratikte işe yaramaz; e-posta, telefon ve lead_id eklendiğinde skor belirgin biçimde yükselir. İkincisi Ads Manager kolonları: qualified ve converted kolonlarını ekleyin, kalite raporunuz o andan itibaren reklam bazındadır.
Conversion Leads optimizasyonuna geçiş için Meta'nın yönergesi aylık yaklaşık 250 lead ve hedef aşamada yüzde 1 ile 40 arasında dönüşüm oranıdır. Eşiğin altındaysanız sistemi kurmak yine de mantıklıdır: kalite raporu ilk günden gelir, kitleleriniz birikir, huni verisi toplanır ve hacim arttığında geçiş tek adımdır.
En Sık Yapılan Beş Hata
- Lead ID'yi manuel girişte kaybetmek. Elle CRM'e girilen lead'de leadgen ID yoktur; geri besleme daha başlamadan kopar.
- Kişisel token ile canlıya çıkmak. Yaklaşık 60 gün sonra sistem sessizce durur. System user ve süresiz token şart.
- Kimliksiz CAPI. Hash'lenmiş e-posta ve telefon olmadan gönderilen eventler eşleşmez; düşük EMQ ile sinyalin değeri kalmaz.
- Boşluklu veya yerel karakterli event adları. API tarafında sorun çıkarır; kısa ASCII adlarla kalın.
- Sinyali bölmek. CRM eventlerini ayrı bir dataset'e göndermek Meta'nın öğrenmesini yavaşlatır; ana pixel'de tek havuz kurun.
Kendiniz Kurun ya da Bize Bırakın
Bu rehberdeki mimari, Detartech'te verdiğimiz RevOps hizmetinin çekirdeğidir. Teknik ekibiniz varsa yukarıdaki adımlarla sistemi kendiniz kurabilirsiniz. Yoksa ya da vaktinizi buna ayırmak istemiyorsanız, aynı kurulumu Meta ve LinkedIn tarafıyla birlikte sizin için yapıyor, aylık bakımıyla birlikte işletiyoruz. Detaylar RevOps hizmet sayfamızda: detartech.com/tr/hizmetlerimiz/revops

