Meta Pixel ve Dönüşüm API’si kurulumu: Adım adım doğru ölçüm
Meta pixel kurulumu, Dönüşüm API’si, event_id ile tekilleştirme, izin yönetimi ve test adımları: reklam ölçümünü sağlam kurmak için uygulamalı rehber.
Kısaca
- Sağlam ölçüm için Meta Pixel’i tek başına değil, Dönüşüm API’si (Conversions API) ile birlikte, aynı olayları iki kanaldan göndererek kurun.
- Çift saymayı önlemenin önerilen yolu: tarayıcıdaki
eventIDile sunucudakievent_idve olay adlarının birebir aynı olması; Meta bunları 48 saat içinde eşleştirir. - Kişisel verileri (e-posta, telefon) sunucudan SHA-256 ile hash’leyerek gönderin; IP adresi ve tarayıcı bilgisi hash’lenmez.
- Çerez onayı, test olayları ve olay eşleşme kalitesi kontrolü olmadan kurulumu “bitti” saymayın.
Meta reklamlarında bütçenin verimli harcanması, sistemin kimin dönüşüm yaptığını doğru öğrenmesine bağlıdır. Meta pixel kurulumu bu öğrenmenin ilk adımıdır; ama tarayıcı engelleyicileri, çerez onayı, sayfa yüklenme hataları ve uygulama içi tarayıcılar yüzünden yalnızca Pixel’e dayanan ölçüm her geçen yıl daha fazla veri kaçırıyor. Meta’nın bugünkü önerisi açık: Pixel’i Dönüşüm API’si ile birlikte kullanmak ve aynı olayları iki kanaldan gönderip tekilleştirmek.
Biz ajans olarak devraldığımız hesapların önemli bir kısmında aynı tabloyla karşılaşıyoruz: Pixel iki kez yüklenmiş, satın alma olayı teşekkür sayfası her yenilendiğinde tekrar tetikleniyor, sunucu tarafı entegrasyon kurulmuş ama event_id gönderilmediği için her sipariş iki kez sayılıyor. Kampanya raporu güzel görünüyor, muhasebe ise başka bir şey söylüyor. Bu yazıda bu hataları baştan önleyen bir kurulumu adım adım anlatıyoruz: işletme portföyü yapısı, olay planı, Pixel kodu, Dönüşüm API’si isteği, tekilleştirme, izin yönetimi, test ve bakım.
Yazı teknik ayrıntı içeriyor ama yalnızca geliştiricilere yönelik değil. Pazarlama yöneticisinin ekibine ne isteyeceğini bilmesi, geliştiricinin de neden o şekilde kurduğunu anlaması için hazırladık. Platform kuralları sık değişir; aşağıdaki bilgileri Ekim 2026 itibarıyla Meta’nın resmî dokümanlarından doğruladık ve kaynaklarını yazının sonunda listeledik.
Önce temel: Meta Pixel ve Dönüşüm API’si ne yapar?
Meta Pixel, sitenize eklenen bir JavaScript kodudur. Ziyaretçi bir sayfayı görüntülediğinde, sepete ürün eklediğinde ya da form gönderdiğinde tarayıcıdan Meta’ya bir olay (event) gönderir. Bu olaylar üç iş için kullanılır: kampanyaların hangi sonuca göre optimize edileceğini belirlemek, reklam sonuçlarını raporlamak ve site ziyaretçilerinden özel hedef kitleler oluşturmak.
Dönüşüm API’si (Conversions API, kısaca CAPI) ise aynı olayları sizin sunucunuzdan, doğrudan Meta’nın Graph API’sine gönderir. Meta’nın en iyi uygulamalar sayfası, Dönüşüm API’sinin ağ sorunları ya da sayfa yükleme hataları nedeniyle Pixel’in kaçırabileceği olayları yakalayabildiğini ve Pixel’in hiç göremeyeceği çevrim dışı olayları da taşıyabildiğini belirtir; bu yüzden iki aracın birlikte, aynı olayları paylaşacak şekilde kullanılmasını önerir (Meta for Developers: Conversions API en iyi uygulamalar).

Bu “yedekli kurulum”un mantığı basit: Tarayıcı tarafı, kullanıcının oturumuna ait zengin sinyalleri (çerezler, sayfa adresi) taşır; sunucu tarafı ise engelleyicilerden etkilenmez ve sipariş veritabanınızdaki kesin bilgiyi (gerçek tutar, sipariş durumu) gönderir. İkisini birlikte kullandığınızda aynı olay iki kez gelir; Meta bunları ortak bir kimlikle eşleştirip tek olay sayar. İşin bütün inceliği de bu eşleştirmenin doğru yapılmasındadır.
1. Adım: İşletme portföyü ve sahiplik yapısını kurun
Ölçüm projelerinde en çok zaman kaybettiren sorun teknik değil, sahiplik sorunudur. Pixel’i yıllar önce bir freelancer kendi hesabında açmış, reklam hesabı eski ajansın işletme portföyünde kalmış, alan adını kimin doğruladığı bilinmiyor… Kod yazmaya başlamadan önce şu yapıyı netleştirin:
- İşletme portföyü markanın olsunMeta’nın eski adıyla Business Manager, bugünkü adıyla işletme portföyü (business portfolio) markanın kendi şirket hesabı altında açılmalı. Ajanslar bu portföye “iş ortağı” olarak erişim almalı; varlıklar ajansın portföyünde yaşamamalı.
- Varlıkları tek portföyde toplayınFacebook sayfası, Instagram hesabı, reklam hesabı, Pixel / veri seti, katalog ve alan adı aynı portföyde olmalı. Dağınık varlıklar izin karmaşasına ve “bu Pixel’i bu reklam hesabında göremiyorum” sorunlarına yol açar.
- En az iki tam yetkili yönetici atayınTek bir çalışanın kişisel profiline bağlı portföy, o kişi ayrıldığında kilitlenir. İki yöneticiyi şirket içinden seçin, ajansa ve geliştiriciye yalnızca ihtiyaç duydukları görev erişimini verin.
- Dönüşüm API’si için sistem kullanıcısı açınSunucu entegrasyonunda kullanacağınız erişim belirtecini (access token) kişisel bir kullanıcı yerine portföydeki bir sistem kullanıcısına bağlamak, çalışan değişikliklerinde entegrasyonun kırılmasını önler. Belirteci kod deposuna değil, sunucunun gizli ortam değişkenlerine koyun.
- Alan adını doğrulayınMeta’nın alan adı doğrulama dokümanı, DNS TXT kaydı ya da web köküne HTML dosyası yükleme yöntemlerini anlatır ve doğrulamanın alan adınız üzerindeki sahipliği ve bağlantı düzenleme yetkilerini kontrol etmenizi sağladığını belirtir (Meta for Developers: Domain verification).
Alan adı doğrulama geçmişte Toplu Olay Ölçümü (Aggregated Event Measurement, AEM) için olay yapılandırmasının ön koşuluydu. Toplu Olay Ölçümü’ne bağlı olay önceliklendirme ve yapılandırma adımları zaman içinde değişti ve Meta’nın bu konudaki yardım sayfaları dönem dönem güncelleniyor. Bu yüzden Ekim 2026 itibarıyla Etkinlik Yöneticisi’nde hesabınıza özel olarak hangi adımların istendiğini kontrol etmenizi öneriyoruz. Gereklilik değişse bile doğrulamayı yapmanız için yeterli sebep var: sahiplik, bağlantı önizlemelerinin kontrolü ve ileride çıkabilecek gereksinimlere hazır olmak.
İsimlendirme düzeni
Portföyde birden fazla marka, ülke ya da site varsa isimlendirmeyi baştan standartlaştırın. Bizim kullandığımız basit kalıp şu:
| Varlık | Kalıp | Örnek |
|---|---|---|
| Reklam hesabı | Marka – Ülke – Para birimi | Ornekmarka – TR – TRY |
| Pixel / veri seti | Marka – alan adı | Ornekmarka – ornekmarka.com.tr |
| Sistem kullanıcısı | capi-ortam-amaç | capi-prod-site |
| Özel dönüşüm | CD_olay_koşul | CD_Lead_teklif-formu |
| Özel kitle | CA_kaynak_süre_tanım | CA_site_30g_sepet-terk |
Kural tek: Bir yıl sonra hesaba bakan biri, adından varlığın ne olduğunu anlayabilmeli. Kampanya tarafındaki isimlendirmeyi Meta reklam kampanyası kurgusu yazımızda ayrıca ele alıyoruz.
2. Adım: Olay planını kodlamadan önce yazın
“Pixel’i kuralım” talebi genellikle “her şeyi ölçelim” anlamına gelir; sonuç, Etkinlik Yöneticisi’nde anlamı belirsiz onlarca özel olaydır. Bunun yerine işletmenin gerçek hedefinden geriye doğru giden kısa bir olay planı hazırlayın. Bir e-ticaret sitesi için huni genellikle ürün görüntüleme, sepete ekleme, ödemeye başlama ve satın alma adımlarından oluşur; bir hizmet işletmesi için ise sayfa görüntüleme, iletişim niyeti ve form gönderimi.
Meta’nın standart olayları bu hunileri karşılayacak şekilde tasarlanmıştır. Pixel referans dokümanına göre Purchase olayında value ve currency zorunludur; AddToCart, InitiateCheckout, Lead, ViewContent gibi olaylarda ise bu parametreler isteğe bağlıdır (Meta Pixel referansı). Standart bir olay işinizi karşılıyorsa özel olay icat etmeyin; standart olaylar optimizasyon ve raporlama tarafında daha geniş destek görür.

Örnek olarak 3 şubeli kurgusal bir diş kliniği düşünelim. Olay planı şöyle olabilir:
| Kullanıcı eylemi | Meta olayı | Tetiklenme koşulu | Kanal |
|---|---|---|---|
| Tedavi sayfasını görüntüleme | ViewContent | Sayfa yüklendiğinde | Pixel |
| WhatsApp butonuna tıklama | Contact | Tıklama anında | Pixel |
| Randevu formunu gönderme | Lead | Sunucu formu kaydettikten sonra | Pixel + CAPI |
| Randevu takvimde onaylandı | Schedule | Randevu sisteminde onay | CAPI |
| Hasta kliniğe geldi, tedavi başladı | Purchase (ya da özel olay) | CRM’de durum değişince | CAPI (action_source uygun seçilerek) |
Bu tablonun değeri, son iki satırda ortaya çıkar. Form doldurmak ile gerçekten müşteri olmak arasındaki fark büyüktür; sunucu tarafı entegrasyon sayesinde CRM’deki “nitelikli” durumunu da Meta’ya geri besleyebilirsiniz. Bu konuyu ölçümleme ve analitik çalışmalarımızın merkezine koyuyoruz.
3. Adım: Meta pixel kurulumu, tarayıcı tarafı
Pixel’i siteye üç yoldan ekleyebilirsiniz: hazır platform entegrasyonu (ör. e-ticaret altyapınızın Meta eklentisi), Google Tag Manager gibi bir etiket yöneticisi ya da doğrudan koda ekleme. Hangisini seçerseniz seçin, aynı Pixel’in yalnızca bir kez yüklendiğinden emin olun. Hem eklentiyi açıp hem de tema dosyasına kod eklemek, en sık gördüğümüz çift sayma nedenidir.
Temel kod, sayfanın <head> bölümüne Meta’nın Etkinlik Yöneticisi’nde verdiği temel kod parçası olarak eklenir ve fbq('init', 'PIXEL_ID') ile fbq('track', 'PageView') çağrılarını içerir. Standart olayları ise ilgili anlarda tetiklersiniz. Tekilleştirme için olay çağrısına dördüncü parametre olarak eventID verilir. Meta’nın tekilleştirme dokümanındaki örnek şu biçimdedir:
fbq('track', 'Purchase', {value: 12, currency: 'USD'}, {eventID: 'EVENT_ID'});
fbq('track', 'Lead', {}, {eventID: 'EVENT_ID'});
Gerçek bir sipariş onay sayfasında bu çağrı, sunucunun ürettiği değerlerle doldurulur. Örneğin kurgusal bir sipariş için şablona şunu basarsınız:
<script>
fbq('track', 'Purchase', {
value: 1249.90,
currency: 'TRY',
content_ids: ['SKU-1042', 'SKU-2210'],
content_type: 'product'
}, {eventID: 'order-100457'});
</script>
Burada order-100457 değeri rastgele üretilmiş bir sayı değil, sipariş numarasından türetilmiş bir kimliktir. Aynı kimliği birazdan sunucu tarafında da kullanacağız. Teşekkür sayfasının yenilenmesi ya da kullanıcının sayfaya geri dönmesi durumunda olay yeniden tetiklense bile kimlik aynı kaldığı için Meta bunu yinelenen olay olarak ele alabilir; yine de sayfa tarafında “bu sipariş için olay zaten gönderildi” kontrolü eklemek iyi bir alışkanlıktır.
Yapın
- Tutarı vergi ve kargo politikanıza uygun, tutarlı bir kuralla gönderin (ör. her zaman KDV dahil ürün toplamı).
- Para birimini ISO kodu ile yazın (TRY, EUR).
- Olay adlarını tarayıcı ve sunucuda harfi harfine aynı yazın.
- Tek sayfa uygulamalarda (SPA) sayfa değişimlerinde PageView’i manuel tetikleyin.
Yapmayın
- Pixel’i hem eklenti hem tema kodu ile iki kez yüklemeyin.
- Sepet tutarını metin olarak, “1.249,90 TL” biçiminde göndermeyin.
- Satın alma olayını ödeme sayfasının açılmasına bağlamayın.
- URL’lere ya da olay parametrelerine açık e-posta, telefon gibi kişisel veri koymayın.
4. Adım: Dönüşüm API’si kurulum yöntemini seçin
Sunucu tarafı için tek bir doğru yol yoktur; altyapınıza ve ekibinize göre seçim yaparsınız. Meta’nın kurulum seçeneklerini karşılaştırdığı yardım sayfası dört ana yol sayar: e-ticaret platformlarının hazır entegrasyonları, Dönüşüm API’si Gateway (kendi bulut sunucunuzda çalışan, kod gerektirmeyen bir çözüm), diğer iş ortağı entegrasyonları (ör. Google Tag Manager sunucu tarafı) ve doğrudan entegrasyon (Meta İşletme Yardım Merkezi: Dönüşüm API’si kurulum seçeneklerini karşılaştırın).

| Yöntem | Kimler için uygun | Dikkat edilecek nokta |
|---|---|---|
| Platform entegrasyonu | Hazır e-ticaret altyapısı kullananlar | Pixel’in eklenti dışında ikinci kez yüklenmediğini kontrol edin |
| Dönüşüm API’si Gateway | Geliştirici kaynağı kısıtlı, bulut hesabı olanlar | Bulut sunucu maliyeti ve bakımı sizdedir |
| Sunucu taraflı etiket yöneticisi | Zaten GTM sunucu konteyneri kullananlar | event_id’nin web konteynerinden sunucuya taşınması gerekir |
| Doğrudan entegrasyon | Özel yazılım, CRM ve offline olay ihtiyacı olanlar | Hata yönetimi, yeniden deneme ve izleme kurmalısınız |
Özel yazılım geliştirdiğimiz projelerde çoğunlukla doğrudan entegrasyonu tercih ediyoruz; çünkü asıl değer, sipariş ya da CRM durumu değiştiğinde olayı gönderebilmekte. Hazır altyapı kullanan bir mağaza için ise platform entegrasyonu genellikle yeterli ve daha az bakım ister.
5. Adım: Sunucu isteğini doğru kurun
Doğrudan entegrasyonda olaylar https://graph.facebook.com/{API_VERSION}/{PIXEL_ID}/events adresine, erişim belirteci ile POST edilir. Meta’nın dokümanı tek istekte en fazla 1.000 olay gönderilebileceğini belirtir ve olayların gerçekleştiği anda, mümkün olduğunca gerçek zamana yakın gönderilmesini önerir (Meta for Developers: Using the API). Sürüm numarası düzenli olarak yükseldiği için kodunuzda sürümü yapılandırma değişkeni olarak tutun.
Yukarıdaki siparişin sunucu tarafındaki karşılığı şöyle görünür (değerler örnektir, hash’ler kısaltılmıştır):
{
"data": [{
"event_name": "Purchase",
"event_time": 1793520000,
"event_id": "order-100457",
"action_source": "website",
"event_source_url": "https://www.ornekmarka.com.tr/siparis/tamamlandi",
"user_data": {
"em": ["7b17fb0bd1…"],
"ph": ["a3f1c9e2d4…"],
"external_id": ["5e884898da…"],
"client_ip_address": "203.0.113.24",
"client_user_agent": "Mozilla/5.0 (…)",
"fbp": "fb.1.1793400000000.1098115397",
"fbc": "fb.1.1793410000000.AbCdEf…"
},
"custom_data": {
"currency": "TRY",
"value": 1249.90,
"content_ids": ["SKU-1042", "SKU-2210"],
"content_type": "product"
}
}]
}
Zorunlu ve kritik alanlar
Sunucu olayı parametreleri dokümanına göre event_name, event_time ve action_source zorunludur. event_time, GMT saat diliminde Unix zaman damgasıdır ve olayı Meta’ya gönderdiğiniz andan en fazla 7 gün öncesine ait olabilir; 7 günden eski bir olay tüm isteğin reddedilmesine yol açar. Web sitesi olaylarında event_source_url gereklidir ve doğrulanmış alan adınızla eşleşmelidir. event_id teknik olarak isteğe bağlı görünse de tekilleştirme için önerilir (Meta for Developers: Server event parameters).
action_source alanı olayın nerede gerçekleştiğini söyler: website, app, phone_call, chat, physical_store, system_generated, business_messaging, email ya da other. Meta, bu değerin doğru olduğunu beyan ettiğinizi kabul eder; en iyi uygulamalar sayfası da çevrim dışı olaylar için website dışında bir değer seçmenizi ister. Kliniğe gelen hastayı “website” olarak işaretlemek, ölçümü yanıltır.
Müşteri bilgisi: neyi hash’lemeli, neyi hash’lememeli?
Sunucu olaylarının değeri, Meta’nın olayı bir kişiyle eşleştirebilmesine bağlıdır. Meta’nın müşteri bilgisi parametreleri dokümanı şu ayrımı yapar (Meta for Developers: Customer information parameters):
- SHA-256 ile hash’lenir: e-posta (
em), telefon (ph), ad (fn), soyad (ln), doğum tarihi, cinsiyet, şehir, il, posta kodu, ülke.external_idiçin hash önerilir. - Hash’lenmez:
client_ip_address(asla hash’lenmemeli),client_user_agent,fbcvefbpçerez değerleri. - E-posta normalizasyonu: baştaki ve sondaki boşlukları silin, tamamını küçük harfe çevirin, sonra hash’leyin.
- Telefon normalizasyonu: sembolleri, harfleri ve baştaki sıfırları kaldırın, ülke kodunu ekleyin (Türkiye için 90), sonra hash’leyin. Örneğin “0 (532) 000 00 00” biçimindeki bir numara “905320000000” olarak normalize edilir.
Normalizasyon atlanırsa hash farklı çıkar ve eşleşme gerçekleşmez; bu yüzden normalizasyon fonksiyonunu tek bir yerde yazıp test edin. Türkçe karakterli e-posta adresleri nadir olsa da küçük harfe çevirme işleminde “İ/i” dönüşümüne dikkat edin; dil ayarına bağlı küçük harf fonksiyonları yerine standart bir dönüşüm kullanın.
fbp ve fbc değerleri tarayıcıdaki _fbp ve _fbc çerezlerinden okunur. Bunları sunucuya taşımanın en kolay yolu, form ya da sipariş kaydı sırasında çerez değerlerini de sunucuya göndermek ve siparişle birlikte saklamaktır. Böylece sipariş saatler sonra “ödendi” durumuna geçtiğinde bile olayı doğru tarayıcı oturumuyla ilişkilendirebilirsiniz.
6. Adım: event_id ile tekilleştirme
Yedekli kurulumun kalbi tekilleştirmedir. Meta’nın tekilleştirme dokümanı kuralı net koyar: Tarayıcıdaki eventID ile sunucudaki event_id eşleşmeli, olay adları da aynı olmalıdır. Aynı Pixel kimliği için aynı anahtar kombinasyonu 48 saat içinde gelirse sonraki olaylar atılır; olaylar anlamlı biçimde farklı değilse genellikle önce gelen tutulur. Olaylar, ilk olayın alınmasından itibaren 48 saat içinde gelirse tekilleştirilir (Meta for Developers: Deduplicate Pixel and server events).

Dokümanda ikinci bir yöntem de var: fbp ve/veya external_id değerlerini iki kanalda tutarlı göndermek. Ancak bu yöntem genellikle yalnızca tarayıcı olayı önce, sunucu olayı sonra geldiğinde çalışır ve yalnızca tek kaynaktan (yalnızca tarayıcı ya da yalnızca sunucu) gelen olayları tekilleştirmez. Bu kısıtlar nedeniyle Meta, olay kimliği yöntemini önerir. Biz de her iki yöntemin parametrelerini birlikte göndermeyi, ama tekilleştirmeyi event_id üzerine kurmayı tercih ediyoruz.
Kimliği nerede üretmeli?
Tekilleştirmenin en sık bozulduğu yer, kimliğin iki tarafta ayrı ayrı üretilmesidir. Doğru tasarım şudur:
- Satın alma:
order-{sipariş_no}gibi kalıcı ve benzersiz bir kimlik kullanın. - Form: form kaydı oluştuğunda veritabanı kimliğinden türetin (
lead-{kayıt_id}). - Sepete ekleme gibi sık olaylar: tarayıcıda UUID üretip hem Pixel’e verin hem de AJAX isteğiyle sunucuya taşıyın.
- PageView: sunucudan da gönderiyorsanız sayfa isteği başına bir kimlik üretip şablona basın; göndermiyorsanız tekilleştirmeye gerek yoktur.
Meta’nın dokümanı, aynı olayı iki kanaldan göndermiyorsanız o olay için tekilleştirmeye ihtiyaç olmadığını da belirtir. Örneğin yalnızca CRM’den gönderdiğiniz “nitelikli müşteri” olayı için event_id yine faydalıdır (yeniden denemelerde çift kaydı önler) ama tarayıcı karşılığı aramanıza gerek yoktur.
Özetle (Meta’nın tekilleştirme dokümanının özeti): Aynı olay iki kaynaktan geliyorsa, olay adı ve olay kimliği iki tarafta birebir aynı olmalı ve ikinci olay ilkinden sonraki 48 saat içinde ulaşmalıdır.
7. Adım: Çerez onayı ve yasal çerçeve
Türkiye’de kişisel verilerin işlenmesi KVKK kapsamındadır; reklam ve ölçüm amaçlı çerezler için Kişisel Verileri Koruma Kurumu’nun çerez uygulamalarına ilişkin rehberini ve hukuk danışmanınızın görüşünü esas alın (kvkk.gov.tr). Teknik tarafta yapmanız gereken, kullanıcının tercihini Pixel’e doğru aktarmaktır. Meta’nın Pixel dokümanı bunun için bir izin API’si sunar: fbq('consent', 'revoke') çağrısı Pixel gönderimlerini durdurur ve her sayfada, Pixel başlatılmadan önce çağrılmalıdır; kullanıcı onay verdiğinde fbq('consent', 'grant') ile gönderim devam eder (Meta for Developers: Pixel consent).
<script>
fbq('consent', 'revoke'); // varsayılan: onay yok
fbq('init', 'PIXEL_ID');
fbq('track', 'PageView');
// Kullanıcı "Kabul et" dediğinde çerez yönetim aracınız şunu çağırır:
// fbq('consent', 'grant');
</script>
Sunucu tarafında da aynı tercihi uygulamanız gerekir. Pixel’i durdurup sunucudan aynı kişinin verisini göndermeye devam etmek, onay mekanizmasını anlamsız kılar. Bizim önerimiz, onay durumunu oturum ya da sipariş kaydıyla birlikte saklamak ve Dönüşüm API’si gönderiminden önce bu alana bakmaktır. Yasal yorumu hukuk ekibinize bırakın; teknik tasarım ise onayın iki kanalda tutarlı uygulanmasını garanti etmeli. Google tarafındaki karşılığı için Consent Mode v2 ve çerez yönetimi yazımıza bakabilirsiniz.
8. Adım: Test edin, sonra canlıya alın
Kurulumu canlıya almadan önce Etkinlik Yöneticisi’ndeki Test Olayları (Test Events) aracını kullanın. Dokümana göre bu aracın verdiği test_event_code değeri, istek gövdesinde data ile aynı seviyede gönderilir; yalnızca test içindir ve canlı gönderimde kaldırılmalıdır. Test kodlu olaylar atılmaz, Etkinlik Yöneticisi’ne akar. En iyi uygulamalar sayfası, test olaylarında kendi gerçek müşteri bilginizi kullanmanızı, çünkü eşleşmeyen test olaylarının atılabileceğini belirtir.
Bizim test planımız şu sırayı izler:
- Tarayıcı kontrolüMeta Pixel Helper tarayıcı eklentisi ve tarayıcının ağ sekmesiyle Pixel’in tek kez yüklendiğini, olayların doğru parametrelerle gittiğini görün.
- Sunucu kontrolüTest Olayları ekranında sunucu olaylarının geldiğini,
event_source_urlveaction_sourcedeğerlerinin doğru olduğunu doğrulayın. - Tekilleştirme kontrolüAynı test siparişi için tarayıcı ve sunucu olaylarının tek olay olarak işlendiğini, tekilleştirme durumunun ekranda göründüğünü kontrol edin.
- Onay senaryolarıÇerezleri reddeden ve kabul eden iki ayrı oturumla test yapın; reddedilen oturumda olay gitmemeli.
- Uç durumlarTeşekkür sayfasını yenileme, ödeme hatası, iptal edilen sipariş ve geri tuşu senaryolarını deneyin.
- Canlıya alma
test_event_code’u kaldırın, ilk günlerde Etkinlik Yöneticisi’ndeki olay sayılarını sipariş veritabanıyla karşılaştırın.

Olay eşleşme kalitesi
Etkinlik Yöneticisi, web olayları için 10 üzerinden bir Olay Eşleşme Kalitesi (Event Match Quality) puanı gösterir. Meta’nın en iyi uygulamalar sayfası, yalnızca eşleşen olayların ilişkilendirme ve reklam yayını optimizasyonu için kullanılabileceğini ve e-posta, IP adresi, ad, telefon gibi müşteri bilgisi parametrelerinin eşleşmeyi iyileştirdiğini belirtir. Puan düşükse önce şu üç şeye bakın: fbp/fbc sunucuya taşınıyor mu, e-posta ve telefon doğru normalize ediliyor mu, IP ve tarayıcı bilgisi gerçek kullanıcıya mı ait (sunucunuzun ya da yük dengeleyicinin IP’sine değil).
9. Adım: Bakım, izleme ve sık yapılan hatalar
Ölçüm, bir kez kurulup unutulacak bir iş değildir. Tema güncellemesi, ödeme altyapısı değişikliği, yeni bir çerez aracı ya da API sürüm yükseltmesi kurulumu sessizce bozabilir. Bu yüzden kurulumun yanına küçük bir izleme düzeni ekliyoruz:
- Haftalık: Etkinlik Yöneticisi’ndeki Purchase / Lead sayısı ile sipariş / CRM kayıtlarını karşılaştırın; sapma belirgin şekilde artarsa inceleyin.
- Her gönderimde: API yanıtını loglayın; hata dönen olayları kuyruğa alıp sınırlı sayıda yeniden deneyin.
- Her sürüm çıkışında: teşekkür sayfasında Pixel ve
eventIDçıktısını otomatik testle kontrol edin. - Üç ayda bir: Graph API sürümünü ve Meta’nın değişiklik günlüğünü kontrol edin, erişim belirtecinin yetkilerini gözden geçirin.
- Etkinlik Yöneticisi’ndeki tanılama (diagnostics) uyarılarını boş bırakmayın.
En sık gördüğümüz on hata
| Hata | Belirti | Çözüm |
|---|---|---|
| Pixel iki kez yükleniyor | Olay sayıları sipariş sayısının yaklaşık iki katı | Eklenti ya da tema kodundan birini kaldırın |
| event_id gönderilmiyor | CAPI açıldıktan sonra dönüşümler katlandı | Ortak kimliği iki tarafa ekleyin |
| Olay adları farklı | “purchase” ile “Purchase” ayrı görünüyor | Olay adlarını standart yazımla eşitleyin |
| Kimlik iki tarafta ayrı üretiliyor | Tekilleştirme hiç gerçekleşmiyor | Kimliği sunucuda üretip sayfaya basın |
| Tutar metin olarak gidiyor | Değer raporu boş ya da hatalı | Ondalık noktalı sayı gönderin |
| Normalizasyon yok | Düşük eşleşme kalitesi | E-posta küçük harf, telefon ülke kodlu |
| Sunucu IP’si gönderiliyor | Tüm olaylar aynı IP’den | Gerçek istemci IP’sini okuyun |
| test_event_code canlıda kaldı | Olaylar sürekli test ekranında | Canlı yapılandırmadan kaldırın |
| Onay sunucuda uygulanmıyor | Reddeden kullanıcı verisi CAPI ile gidiyor | Onay durumunu kayıtla saklayıp kontrol edin |
| Eski olaylar toplu gönderiliyor | Bütün istek reddediliyor | 7 günden eski olayları ayıklayın |

Ölçüm kurulduktan sonra raporların nasıl okunacağı ayrı bir konu: Meta’nın raporladığı dönüşümler ile GA4 ve CRM verisi hiçbir zaman birebir tutmaz, çünkü ilişkilendirme modelleri farklıdır. Bu farkı nasıl yorumladığımızı reklam ölçümü, GA4, ROAS ve CPA yazımızda anlatıyoruz.
Avri olarak nasıl çalışıyoruz?
Meta ölçüm projelerine kodla değil, bir “ölçüm sözleşmesi” ile başlıyoruz: hangi olayın hangi iş anlamına geldiği, hangi kanaldan gönderileceği, kimliğin nerede üretileceği ve onayın nasıl uygulanacağı tek sayfalık bir dokümanda yazılı oluyor. Ardından mevcut kurulumu denetleyip (çift yükleme, eksik parametre, sahiplik sorunları) temizliyor, Pixel ve Dönüşüm API’sini birlikte kuruyor, test planını müşterinin ekibiyle birlikte yürütüyoruz.
Özel yazılım tarafındaki deneyimimiz sayesinde CRM ve randevu sistemlerinden gelen “nitelikli müşteri” sinyallerini de Meta’ya geri besleyebiliyoruz. Kampanya yönetimi tarafında ise bu altyapının üzerine performans reklamları hizmetimizle kampanya, kitle ve kreatif yapısını kuruyoruz. Amacımız, raporla muhasebenin aynı hikâyeyi anlatması.
Sık sorulan sorular
Dönüşüm API’sini kurarsam Pixel’i kaldırabilir miyim?
Meta’nın önerisi ikisini birlikte kullanmaktır. Pixel tarayıcı tarafındaki oturum sinyallerini (çerezler, sayfa bağlamı) taşır; sunucu olayları ise kaybolan olayları telafi eder ve kesin iş verisini gönderir. Yalnızca sunucu tarafına geçmek mümkün olsa da çoğu web sitesi için yedekli kurulum daha sağlıklı sonuç verir.
event_id göndermezsem ne olur?
Aynı olayı iki kanaldan gönderiyorsanız ve ne event_id ne de tutarlı fbp/external_id sağlıyorsanız, Meta olayları eşleştiremez ve aynı dönüşüm iki kez sayılabilir. Bu da kampanya sonuçlarını olduğundan iyi gösterir ve optimizasyonu bozar.
Telefon numarasını hangi biçimde göndermeliyim?
Sembolleri, boşlukları ve baştaki sıfırı kaldırıp ülke kodunu ekleyin; Türkiye numaraları için 90 ile başlayan rakam dizisi elde edersiniz. Ardından SHA-256 ile hash’leyerek ph alanında gönderin.
Geçmiş tarihli siparişleri gönderebilir miyim?
Dönüşüm API’si web olaylarında event_time değerinin gönderim anından en fazla 7 gün önce olmasına izin verir; daha eski bir olay tüm isteğin reddedilmesine yol açar. Daha eski verileri ölçüm amacıyla yüklemeyi planlıyorsanız Meta’nın çevrim dışı olaylar ile ilgili güncel dokümanını kontrol edin.
Alan adı doğrulaması hâlâ gerekli mi?
Toplu Olay Ölçümü’ne bağlı gereklilikler zaman içinde değişti ve Meta’nın yardım sayfaları güncelleniyor. Hesabınızda istenen adımları Ekim 2026 itibarıyla Etkinlik Yöneticisi’nden kontrol edin; sahiplik ve bağlantı düzenleme yetkileri için doğrulamayı yine de yapmanızı öneriyoruz.
Doğru bir Meta pixel kurulumu; tek yüklenen bir Pixel, iş anlamı net bir olay planı, aynı olayları sunucudan da gönderen bir Dönüşüm API’si entegrasyonu, ortak event_id ile tekilleştirme, iki kanalda tutarlı uygulanan çerez onayı ve düzenli bir test-izleme rutini demektir. Bu temeli bir kez sağlam kurduğunuzda kampanya kararlarınızı tahmine değil, güvenilir veriye dayandırırsınız.
Kaynaklar
- Meta for Developers: Deduplicate Pixel and Server Events
- Meta for Developers: Server Event Parameters
- Meta for Developers: Customer Information Parameters
- Meta for Developers: Conversions API – Using the API
- Meta for Developers: Conversions API Best Practices
- Meta for Developers: Meta Pixel Reference
- Meta for Developers: Domain Verification
- Meta İşletme Yardım Merkezi: Dönüşüm API’si kurulum seçeneklerini karşılaştırın
Bu konuda desteğe mi ihtiyacınız var? Bize yazın, ihtiyacınızı birlikte netleştirelim.