Meta Pixel, sitenize eklenen ve ziyaretçinin yaptığı işleri Facebook ile Instagram reklamlarına bildiren bir koddur. Form gönderimi, arama ya da satın alma bu kodla ölçülür. Aşağıda üç kurulum yolunu, 17 standart olayı ve alan adı doğrulamasını anlatıyoruz. Ağırlığı ise KVKK'ya uygun, çerez onayına bağlı kuruluma veriyoruz. Next.js gibi tek sayfa uygulamalardaki sayfa görüntüleme sorununu da kendi sitemizden örnekliyoruz.
Meta Pixel nedir, ne işe yarar?
Meta Pixel, sitedeki ziyaretçi davranışını Meta'nın reklam sistemine aktaran bir JavaScript ölçüm kodudur. Kod her sayfada yüklenir ve olayları Olay Yöneticisi'ne (Events Manager) gönderir. Reklam hesabı bu verilerle ölçer, hedefler ve öğrenir.
Pixel'in reklam hesabına kattığı üç iş vardır:
- Ölçüm: hangi reklamın form, arama ya da satış getirdiği görülür.
- Optimizasyon: kampanya, olayı yapma ihtimali yüksek kişilere gösterilir.
- Kitle: siteyi ziyaret edenlerden yeniden hedefleme listesi kurulur.
Pixel, ziyaretçiyi tanımak için sitenin kendi alan adına _fbp adlı bir çerez yazar. Reklama tıklayarak gelen ziyaretçinin adresinde fbclid parametresi bulunur. Bu tıklama kimliği de _fbc çerezinde tutulur. Çerez yazan her araç gibi Pixel de çerez onayının konusudur.
Pixel olmadan da reklam yayınlanır. Ama sitede olanı Meta göremez ve kampanya yalnızca tıklama ya da erişim için iyileşir. Öne çıkarma düğmesiyle Reklam Yöneticisi arasındaki farkı Instagram reklamı verme yolları yazımızda anlattık.
Meta Pixel nasıl kurulur, hangi yol kime uyar?
Pixel üç yoldan kurulur: kodu siteye doğrudan eklemek, etiket yöneticisi kullanmak ya da altyapının hazır entegrasyonunu açmak. Hepsinde önce Olay Yöneticisi'nde bir Pixel oluşturulur. Seçimi, siteyi kimin yönettiği ve çerez onayının nasıl çalıştığı belirler.
Pixel bir reklam hesabına ve işletme portföyüne bağlanır. Henüz hesap yoksa önce Meta reklam hesabı açma adımları tamamlanmalı. Pixel kimliği, Olay Yöneticisi'ndeki veri kaynağının ayrıntılarında görünür.
| Ölçüt | Doğrudan kod | Etiket yöneticisi | Hazır entegrasyon |
|---|---|---|---|
| Kime uyar | Kodu kendi yöneten ekip | Etiketleri pazarlama ekibi yönetiyorsa | E-ticaret paketi ya da içerik yönetim sistemi |
| Çerez onayına bağlama | Kodla, tam denetim | Tetikleyici onay olayına bağlanır | Altyapının onay desteğine bağlı |
| Tek sayfa uygulamada PageView | Elle ayarlanır | Tetikleyiciyle çift sayım riski | Altyapı yönetir, test şart |
| Olay ekleme | Geliştirici gerekir | Panelden eklenir | Hazır olaylarla sınırlı |
Kodu doğrudan eklemek nasıl çalışır?
Meta'nın temel kodu her sayfanın head bölümüne eklenir. Meta bu yeri önerir, çünkü tarayıcının ya da başka kodların Pixel'i engelleme ihtimali azalır. Kod yüklenince init komutu Pixel kimliğini tanıtır, ardından bir PageView olayı gider.
Temel kodun sonunda bir noscript satırı da gelir. JavaScript kapalı tarayıcıda bu satır küçük bir görsel isteğiyle PageView gönderir. Çerez penceresi JavaScript ile çalıştığı için o istek onaydan bağımsız gider. Onaya bağlı kurulumda noscript satırını kaldırıyoruz.
Etiket yöneticisi ne zaman mantıklıdır?
Etiketleri pazarlama ekibi kendisi yönetiyorsa etiket yöneticisi pratik bir yoldur. Meta, Pixel'in çoğu etiket yöneticisinde çalıştığını belirtir. Kritik ayar tetikleyicidir; Pixel etiketi her sayfada değil, onay verildiğinde çalışmalıdır.
Tek sayfa uygulamada etiket yöneticisinin geçmiş değişikliği tetikleyicisi de PageView gönderebilir. Pixel'in kendi dinleyicisi de açıksa aynı geçiş iki kez sayılır. Bu ikisinden yalnızca birini açık bırakın.
Hazır altyapı entegrasyonu neyi çözer, neyi çözmez?
E-ticaret paketleri ve içerik yönetim sistemleri çoğunlukla Pixel kimliği için bir alan sunar. Kimlik girilir, olayları altyapı gönderir. Hız avantajı büyüktür; denetim ise altyapıda kalır.
Asıl soru, entegrasyonun sitedeki çerez penceresini dinleyip dinlemediğidir. Pencereye bağlı değilse Pixel, ret verilse de yüklenir. Kurulumdan sonra Reddet düğmesine basıp ağ isteklerine bakmak bunu birkaç dakikada gösterir.
Çerez onayı olmadan çalışan Pixel KVKK'ya uygun mu?
Kişisel Verileri Koruma Kurumu'nun çerez rehberine göre uygun değildir. Pixel'in yazdığı çerezler reklam ve pazarlama amaçlıdır ve bu çerezler açık rıza ister. Rıza, çerez cihaza yerleştirilmeden önce alınmalıdır.
Rehber, Temmuz 2025'te KVKK Yayınları No: 69 olarak yayımlandı. Siteye girmiş olmanın çerezlere rıza sayılmayacağını açıkça yazar. Açık rıza gerektiren çerezlerin yönetim panelinde ilk anda pasif gelmesini de önemli bulur.
Pencerenin tasarımı için de bir ölçü verir. "Kabul et", "reddet" ve "tercihler" düğmelerinin renk, büyüklük ve puntoda eşit olması iyi uygulama sayılır. Rızanın kolayca geri alınabilmesi gerekir; köşede duran küçük bir simge iyi örnek gösterilir.
Rehber, piksel teknolojisinin kendisini kapsam dışında tutar. Meta Pixel ise _fbp çerezi yazdığı için çerez kurallarının içine girer. (Aydınlatma metni ve yurt dışına aktarım dayanağı için hukuk danışmanınızın görüşünü almanızı öneririz.) Kendi sitemizdeki çerezlerin amacını ve süresini çerez politikası sayfamız listeliyor.
Onaydan önce yüklenmeyen Pixel nasıl kurulur?
Pixel betiği sayfa kaynağına hiç konmaz; ziyaretçi pazarlama çerezlerine onay verince eklenir. Onay yoksa Meta'ya tek bir istek gitmez. Kendi sitemizde Meta Pixel ve Dönüşüm API'si bu kuralla, yalnızca onaydan sonra çalışıyor.
Akış altı adımdan oluşur:
- Sayfa, çerez penceresiyle birlikte sunucuda hazırlanır; Pixel kodu sayfada yoktur.
- Ziyaretçi "Reddet" derse karar bir onay çerezine yazılır, Pixel hiç yüklenmez.
- "Kabul et" derse betik o anda head bölümüne eklenir.
- init ile Pixel tanıtılır ve bulunulan sayfa için tek bir PageView gider.
- Ziyaretçi onayı geri alırsa Pixel susturulur, _fbp ve _fbc çerezleri silinir.
- Form gönderiminde sunucu, onay bilgisini görmeden Meta'ya olay göndermez.
Çerez penceresini kendimiz yazdık. Pencere sayfayla birlikte sunucudan geldiği için sonradan açılıp düzeni kaydırmıyor. Karar vermiş ziyaretçide küçük bir satır içi betik pencereyi ilk boyamadan önce gizliyor.
Meta'nın belgelediği ikinci bir yol da var. Kod yüklenir, ama init'ten önce consent revoke komutu çalışır. Onay gelince grant komutu gönderimi açar. Meta, revoke çağrısının her sayfada yapılması gerektiğini yazar. Bu yolda betik dosyası onaydan önce de indirilir; biz bu yüzden ilk yolu seçtik.
Hangi standart olayı kullanmalısınız?
Meta'nın 17 standart olayı var ve her biri belirli bir işi anlatır. Hizmet işletmesi çoğunlukla Lead, Contact ve Schedule ile yetinir. E-ticarette sepet, ödeme ve satın alma olayları eklenir.
| Olay | Ne zaman gönderilir? | Kime uyar |
|---|---|---|
| Lead | Form ya da kayıt tamamlanınca | Teklif formu olan her işletme |
| Contact | Telefon, SMS, e-posta ya da sohbetle iletişim başlayınca | Hizmet işletmeleri |
| Schedule | Ziyaret için randevu alınınca | Klinik, servis, danışmanlık |
| SubmitApplication | Ürün, hizmet ya da programa başvurulunca | Eğitim, finans, insan kaynakları |
| CompleteRegistration | Kayıt formu tamamlanınca | Üyelikli siteler |
| FindLocation | Mağaza konumu aranınca | Şubeli işletmeler |
| ViewContent | Ürün ya da açılış sayfası görüntülenince | Her site |
| Search | Sitede arama yapılınca | Kataloglu siteler |
| AddToCart | Ürün sepete eklenince | E-ticaret |
| AddToWishlist | Ürün istek listesine eklenince | E-ticaret |
| CustomizeProduct | Ürün kişiselleştirilince | Yapılandırmalı ürün satanlar |
| InitiateCheckout | Ödeme akışına girilince | E-ticaret |
| AddPaymentInfo | Ödemede kart bilgisi eklenince | E-ticaret |
| Purchase | Satın alma tamamlanınca | E-ticaret |
| StartTrial | Ücretsiz deneme başlayınca | Yazılım ve abonelik |
| Subscribe | Ücretli aboneliğe başvurulunca | Abonelik işleri |
| Donate | Bağış yapılınca | Dernek ve vakıflar |
Kendi sitemizde iki dönüşüm olayı kullanıyoruz. Teklif formu Lead olarak gidiyor. Telefon, WhatsApp ve e-posta bağlantısına tıklama ise Contact olarak gidiyor.
Purchase olayında value ve currency parametreleri de gönderilmelidir; değer raporu bunlarla dolar. Listede karşılığı olmayan işler için özel olay tanımlanabilir. Meta'ya göre özel olay adı en fazla 50 karakter olabilir. Yine de önce standart olaya bakmak gerekir, çünkü kampanya hedefleri onları doğrudan tanır.
Next.js sitede sayfa görüntüleme neden yanlış sayılır?
Tek sayfa uygulamada sayfa geçişi tam yükleme değildir; adres History API ile değişir. Pixel varsayılan olarak bu değişikliği dinler ve her yeni geçmiş kaydında PageView gönderir. Üstüne elle PageView eklenirse aynı geçiş iki kez sayılır.
Next.js'te site içi bağlantılar sayfayı yeniden yüklemez. Kod ilk açılışta bir kez çalışır, sonraki geçişler tarayıcı geçmişine yazılır. Meta'nın geliştirici notu, Pixel'in history.pushState çağrılarını yakaladığını söyler. Bu yapının WordPress'ten farkını Next.js ile WordPress karşılaştırması yazısında ele aldık.
Sorun iki yönde çıkar. Dinleyici açıkken yol değişimine bir PageView daha bağlanırsa sayı şişer. Dinleyici kapatılıp yerine bir şey konmazsa ilk sayfadan sonra görüntüleme gelmez. Filtre ya da sekme değişimi adrese yeni kayıt yazıyorsa o da sayfa görüntüleme sayılır.
Kendi sitemizde disablePushState ayarıyla Pixel'in dinleyicisini kapatıyoruz. PageView'ı yol değiştiğinde kendimiz gönderiyoruz. Aynı yol art arda gelirse ikinci kez saymıyoruz. Meta bu ayarı önermez; elle gönderim olmadan kullanılırsa eksik sayım çıkar.
Onay da hesaba katılmalı. Ziyaretçi üçüncü sayfada onay verirse ilk iki sayfa için geriye dönük olay gönderilmez. İlk PageView, onay anında bulunulan sayfa için gider.
Alan adı doğrulaması hâlâ gerekli mi?
Olay ayarları için artık zorunlu değil, ama yapılmasını yine öneriyoruz. Doğrulama, alan adının sahibini işletme portföyüne bağlar. Bağlantı önizlemelerini kimin düzenleyebileceğini de bu kayıt belirler.
iOS 14 sonrasında Meta, alan adı başına sekiz olaylık bir öncelik listesi istiyordu. Olay önceliği bu listeyle belirleniyordu. Liste ve ona bağlı doğrulama şartı Olay Yöneticisi'nden kaldırıldı. Eski rehberlerde anlatılan bu adımın karşılığını ekranda bulamazsınız.
Doğrulama, işletme ayarlarındaki alan adları bölümünden yapılır. Alan adı kök hâliyle girilir; başına www ya da https eklenmez. Üç yöntem var: ana sayfaya meta etiketi, kök dizine HTML dosyası ya da DNS'e TXT kaydı.
DNS'i Cloudflare gibi bir serviste yönetilen sitede TXT kaydı en temiz yoldur. Kayıt sayfa koduna dokunmaz, site yeniden tasarlansa da yerinde kalır.
Dönüşüm API'si Pixel'in yerini tutar mı?
Tutmaz; ikisi birlikte çalışır. Pixel tarayıcıdan, Dönüşüm API'si sunucudan olay gönderir. Reklam engelleyici Pixel'i durdurduğunda sunucu tarafı ölçümü tamamlar.
Aynı form iki yerden bildirildiğinde Meta'nın bunları tek olay sayması gerekir. Tarayıcıdaki eventID ile sunucudaki event_id aynı değeri taşımalıdır. Meta, aynı kimlikli olayları ilk olaydan sonraki 48 saat içinde birleştirir. Onay kuralı sunucu için de geçerlidir; bizde onay yoksa sunucu da Meta'ya hiçbir şey göndermez. Dönüşüm API'si kurulumunu ayrı bir yazıda anlatacağız.
Kurulum doğru mu, nasıl test edilir?
Test üç araçla yapılır: Olay Yöneticisi'ndeki Olayları Test Edin ekranı, Meta'nın Chrome eklentisi ve tarayıcının ağ sekmesi. Onaylı kurulumda ret durumunu denemek, kabul durumu kadar önemlidir.
Pixel Helper eklentisinin adı artık Meta Ads Data Advisor. Meta, eski eklentinin kendiliğinden güncellendiğini yazıyor. Simgedeki rozet, sayfada gönderilen olay sayısını gösterir. Yan panelde olay ayrıntısı, uyarılar ve hatalar yer alır.
Meta'nın listelediği sık hatalar belli. Pixel kodu aynı sayfada iki kez yüklenir ya da head dışında kalır. Bazen de bir sayfada birden çok dönüşüm olayı tetiklenir. Gizlilik eklentileri de Pixel'i engelleyebilir. Test için eklentisiz, temiz bir tarayıcı profili kullanmak işi kolaylaştırır.
Onaylı bir kurulumu beş adımda sınıyoruz:
- Gizli pencerede siteyi açıp "Reddet" deyin. Ağ sekmesinde Meta isteği, çerezlerde _fbp olmamalı.
- Onay çerezini silip sayfayı yenileyin, bu kez "Kabul et" deyin. Tek PageView görünmeli.
- Site içinde iki sayfaya geçin. Toplam PageView 3 olmalı; 5 görünüyorsa çift sayım var.
- Formu deneme verisiyle gönderin. Olayları Test Edin ekranında tek bir Lead görünmeli.
- Tercihlerden onayı geri alın. _fbp çerezi silinmeli ve yeni olay gitmemeli.
Olay Yöneticisi'nde yeni bir PageView birkaç dakika gecikmeyle görünebilir; Meta da beklemeyi ve sayfayı yenilemeyi önerir. Pixel kurulumunu kampanyayla birlikte yürütmek isterseniz Meta reklam yönetimi hizmetimiz ölçüm kurulumunu da kapsar.
Sıkça sorulan sorular
- Meta Pixel ücretli mi?
- Hayır, Pixel oluşturmak ve siteye eklemek ücretsizdir. Ücret yalnızca yayınlanan reklamlar için ödenir.
- Meta Pixel çerez onayı olmadan çalıştırılabilir mi?
- KVKK'nın çerez rehberine göre pazarlama çerezleri açık rıza ister. Rıza, çerez yerleştirilmeden önce alınmalıdır. Pixel bu yüzden onaydan sonra yüklenmelidir.
- Hizmet işletmesi hangi olayları kurmalı?
- Çoğu hizmet işletmesi için Lead, Contact ve Schedule yeterlidir. Teklif formu Lead, telefon ve WhatsApp tıklaması Contact olarak gönderilir.
- Next.js sitede PageView neden iki kez görünüyor?
- Pixel, adres değişikliklerini kendisi dinleyip PageView gönderir. Üstüne elle bir PageView daha eklenirse aynı geçiş iki kez sayılır.
- Alan adı doğrulaması yapmadan olay kurulabilir mi?
- Evet, olay ayarları için doğrulama artık şart değil. Yine de alan adı sahipliği ve bağlantı düzenleme yetkisi için önerilir.
- Pixel Helper eklentisi nereye gitti?
- Eklentinin adı Meta Ads Data Advisor oldu. Eski eklenti kendiliğinden güncellenir ve yine Chrome'da çalışır.
- Dönüşüm API'si kurulursa Pixel kaldırılabilir mi?
- Önerilmez; ikisi birlikte çalışır. Aynı olay aynı kimlikle gönderilirse Meta 48 saat içinde tek olay sayar.
Kaynakça
- Meta Pixel ile başlangıç (Meta for Developers) — Temel kodun head bölümüne eklenmesini, otomatik PageView'ı, noscript satırını ve etiket yöneticisi desteğini destekler.
- Standart olaylar başvurusu (Meta for Developers) — 17 standart olayın adlarını ve her birinin hangi durumda gönderildiğini destekler.
- Pixel için çerez onayı uygulaması (Meta for Developers) — Onay öncesi consent revoke, onay sonrası grant komutlarını ve her sayfada revoke gerekliliğini destekler.
- Tek sayfa uygulamalarda Facebook Pixel (Meta for Developers blogu) — Pixel'in history.pushState değişikliklerinde PageView göndermesini ve disablePushState ayarını destekler.
- Pixel ve sunucu olaylarının tekilleştirilmesi (Meta for Developers) — eventID ile event_id eşleşmesini ve 48 saatlik birleştirme süresini destekler.
- Çerez Uygulamaları Hakkında Rehber (Kişisel Verileri Koruma Kurumu) — Pazarlama çerezlerinde yerleştirmeden önce açık rızayı, eşit düğmeleri ve rızanın geri alınabilmesini destekler.



