Meta Lead Ads Entegrasyonu: Reklamdan Gelen Müşteriyi CRM'e Anında Aktarma
Meta'nın Lead Ads sistemi, kullanıcı reklamı tıkladığında ön doldurulmuş bir form sunar. Doğru kurulduğunda formun gönderilmesinden saniyeler sonra lead CRM'e düşer, doğru danışmana atanır ve ilk dokunuş otomatik yapılır. Bu rehberde altyapıyı, izinleri ve sık karşılaşılan sorunları açıklıyoruz.
Türkiye'de gayrimenkul reklamlarının dijital harcamasının büyük bölümü Meta (Facebook + Instagram) platformlarına gider. Lead Ads — yani "potansiyel müşteri" reklamı — bu platformların en yüksek dönüşüm oranı veren formatlarından biridir. Reklamı gören kullanıcı, telefon ve e-posta gibi alanları zaten otomatik dolu bir form içinde gönderebilir.
Ama bu lead, sizin reklam panonuzdan CRM'inize otomatik düşmüyorsa, kazancınızın yarısı kaybediliyor demektir. Çünkü lead'in değeri ilk 5 dakikada en yüksektir; 24 saat sonra dönüş yapan emlakçı, aramayı %78 oranında kaybeder. Bu yazıda Meta Lead Ads → CRM entegrasyonunu teknik olarak ele alıyoruz.
Meta Lead Ads nasıl çalışır?
Akış üç aktörden oluşur: Meta (Facebook), sizin Facebook Sayfanız ve CRM'iniz.
- Kullanıcı reklam görür, formu doldurur ve gönderir.
- Meta, formu kendi tarafında saklar ve webhook ile sizin CRM sunucunuza haber gönderir.
- CRM, webhook'tan gelen leadgen_id'yi alır ve Meta'nın Graph API'sine bir Page Access Token ile sorgu atıp tam form verisini çeker.
- Form verisi parse edilip yeni bir müşteri kartı oluşturulur.
Bu akışın doğru çalışması için üç şeyi konfigüre etmek gerekir: webhook URL, verify token ve Page Access Token.
Adım 1 — Webhook URL ve verify token
Meta, sizin sunucunuzun webhook adresini ilk kez "doğrulamak" ister. Bunu verify token denilen ortak bir gizli kelimeyle yapar. CRM tarafında belirlediğiniz verify token'ı Meta panelinde de aynı şekilde yazarsınız; Meta size GET isteği gönderir, içeride aynı kelimeyi bulursa webhook aktive olur.
Önemli noktalar:
- Verify token uzun, tahmin edilemez bir string olmalı (en az 24 karakter, rastgele üretilmiş).
- Webhook URL'iniz HTTPS olmalı; HTTP kabul edilmez.
- Webhook endpoint'iniz 200 OK ile geri dönmeli ve 5 saniyeden uzun sürmemeli; aksi halde Meta retry yapar.
Adım 2 — İmza doğrulaması (HMAC-SHA256)
Meta, her webhook isteğinin x-hub-signature-256 başlığında HMAC-SHA256 imza gönderir. Bu imza, gönderilen ham body üzerinden, sizin App Secret'inizle hesaplanır.
CRM tarafında imzayı kontrol etmek kritik: çünkü webhook URL'iniz public'tir. Saldırgan adresinizi öğrenirse fake lead'ler enjekte edebilir. Doğru kontrol:
- Body'yi ham (raw) okuyun; JSON.parse'lamadan önce.
- App Secret ile aynı body'nin HMAC-SHA256 hash'ini hesaplayın.
- Hesapladığınız hash, başlıkta gelen ile constant-time (timing-safe) karşılaştırın.
- Uyumsuzsa 401 dönün ve veriyi işlemeyin.
Bu kontrolün "App Secret tanımsızsa atla" şeklinde gevşek yazılması yaygın bir hatadır. Production'da secret yoksa endpoint kapalı olmalı, açık değil.
Adım 3 — Page Access Token ve gerekli izinler
Webhook size sadece leadgen_id verir. Tam form verisini almak için Meta'nın Graph API'sine GET isteği atmanız gerekir:
GET https://graph.facebook.com/v18.0/{leadgen_id}?access_token={page_token}
Burada kullanılan token Page Access Token'dır; kullanıcı access token değildir. İki tipin de süresi farklıdır:
- Kısa süreli kullanıcı token'ı: 1-2 saat.
- Uzun süreli kullanıcı token'ı: ~60 gün.
- Page Access Token: Uzun süreli kullanıcı token'ından türetilirse kalıcı'dır (kullanıcı izni iptal etmediği sürece).
Page Token'ın çalışması için iki izin (permission) gereklidir:
- pages_show_list — sayfa listesini almak için,
- leads_retrieval — lead verisini çekmek için.
Bu izinler Meta App Review'dan onay gerektirir (App Mode "Live"). Test aşamasında "Geliştirici" hesabı yeterli, ama canlı reklam çalıştıracaksanız review'dan geçmek zorunlu.
Adım 4 — Form ID ve Page ID eşleştirmesi
Bir Facebook sayfasında birden fazla lead form'unuz olabilir: "Kadıköy 2+1 ilgi", "İzmir villa kampanyası", "Genel iletişim". Hepsi aynı webhook'a gelir. Bu yüzden CRM tarafında form ID'lere göre yönlendirme kurmanız gerekir.
Webhook payload'unda gelen form_id'yi sisteminizdeki "form-projecasine" eşlemelisiniz. Örneğin:
- Form ID
123456→ "İstanbul Kadıköy Projesi" projesine atansın, ilk danışman: Ahmet Bey. - Form ID
789012→ "Genel iletişim" havuzuna düşsün, round-robin (sırayla dağıtım) ile atansın.
Form bazlı yönlendirme yapmazsanız her lead aynı yere düşer ve sonradan ayıklamak imkânsızlaşır.
Adım 5 — Atama, SLA ve ilk dokunuş
Lead CRM'e düştüğünde işin asıl satış kısmı başlar. Burada iki kavram önemli:
Otomatik atama
Lead, kullanıcı eli değmeden bir danışmana atanmalı. Stratejiler:
- Round-robin: Sırayla, eşit dağıtım.
- Lokasyona göre: Lead'in şehri / semt tercihi danışmanın bölgesiyle eşleşsin.
- Yoğunluğa göre: Açık görevi en az olan danışmana git.
SLA (Service Level Agreement)
Atanmış danışmanın lead'e kaç dakika içinde dönüş yapması gerektiğinin kuralı. Sektör standartı 5-15 dakika. CRM, bu süreyi aşan lead'leri öne çıkararak yöneticiye uyarı atmalı.
Sık karşılaşılan sorunlar ve çözümleri
"Verify token başarısız" hatası
En sık sebep: Meta paneline yapıştırırken sonuna boşluk bırakmak. CRM tarafında token'ı trim'li (boşluk temizlenmiş) karşılaştırma yapın; çoğu zaman sorun çözülür.
"leads_retrieval izni yok" hatası
Page Access Token'ınız var ama bu izin onaylanmamış. Meta App Dashboard → App Review → Permissions and Features → leads_retrieval'ı talep edin. Onay için kullanım senaryosu metni ve ekran kaydı isterler.
"Aynı lead iki kez geldi" durumu
Meta retry mekanizması bazen aynı webhook'u iki kez gönderir. CRM webhook'unda idempotency kontrolü yoksa müşteri iki kez kaydedilir. Çözüm: gelen ham body'nin SHA-256 hash'ini saklayıp aynı hash ikinci kez geldiğinde "duplicate" olarak atlamak.
"Form ID değişti" durumu
Reklam ekibiniz formu silip yenisini açtığında ID değişir. Eski eşleme geçersiz kalır ve lead'ler "havuza" düşer. Çözüm: yeni form'u CRM'de tanıtın ve eski form'u "arşiv" işaretleyin.
KVKK uyumu — Meta lead'leri için ekstra dikkat
Meta'nın lead form'unda kullanıcı "kişisel verilerimin işlenmesini kabul ediyorum" gibi bir alana onay verir. Ama Türkiye KVKK aydınlatma metni'ni Meta'nın default'ından bağımsız olarak göstermenizi bekler.
Meta'nın form ayarlarında "Privacy Policy URL" alanı vardır; oraya kendi gizlilik politikası sayfanızın linkini koyun. CRM'e lead düştüğünde de rıza tarihi + IP bilgisini saklayın; bir KVKK denetiminde "bu lead'in verisini hangi rıza ile aldınız?" sorusunun cevabı olur.
Sonuç
Meta Lead Ads entegrasyonu, kurulduğu gün maliyetini birkaç katıyla geri öder. Çünkü dijital reklam harcamanızın geri dönüşü artık "manuel listelerden takip" değil, "saniyelerde aksiyon" hızındadır. Ama entegrasyonun değeri kurulum kalitesine bağlıdır: imza doğrulaması yoksa veri güvensiz, form ID eşlemesi yoksa lead kaybolur, idempotency yoksa duplicate veri birikir.
Doğru kurulduğunda, ölçtüğünüz şu olur: reklam → satış dönüş oranı. Her sayfa görüntüleme kaç leade dönüşüyor, her lead kaç satışa dönüşüyor, ortalama satış fiyatı ne — bu metrikleri kanal bazında görmek bütçe yönetiminin ön koşuludur.
Devamı için: CRM nedir ve neden gerekli yazısında müşteri verisinin merkezi yönetiminin temellerini, portföy yönetimi yazısında ise gelen lead'i hangi portföyle eşleştireceğinizi açıkladık.