İçeriğe geç
ceaksan

Meta Pixel Olayları ve Advanced Matching Parametreleri (em, ph, fn, ln) Rehberi

Meta Pixel standart olayları, Advanced Matching parametreleri (em, ph, fn, ln, ct, st, zp), Conversions API deduplication ve Consent Mode kurulumu. E-ticaret tracking için 2026 pratik rehberi.

10 dk okuma Güncellendi:
TL;DR

Meta Pixel, web sitenizdeki kullanıcı davranışlarını izleyen bir JavaScript kodudur. 17 standart olay (Purchase, AddToCart, Schedule vb.) ile dönüşüm takibi yapabilir, Advantage+ katalog reklamları için dinamik hedefleme oluşturabilirsiniz. 2024 sonrası tarayıcı kısıtlamaları nedeniyle Conversions API ile birlikte kullanımı önerilir. GDPR uyumluluğu için consent API, çoklu piksel yönetimi için trackSingle/trackSingleCustom fonksiyonları mevcuttur.

Meta Pixel’in kullanımı, standart olaylar ve Advanced Matching ile özel durumlar birlikte ele alındığında oldukça geniş bir kaynakça çıkıyor.

“Veri Analitiği & Ölçümleme” ile ilgili bilgi ve destek almak isterseniz DNOMIA’nın web sitesini ziyaret edebilirsiniz.

Facebook Meta Piksel

Bir ziyaretçi web sitenize ulaştığında ve bir oturum başlattığında “sayfa görüntüleme” de dahil olmak üzere sunduğunuz ve/veya otomatik olarak toplanan pek çok farklı etkinlik (buton tıklama, form gönderme, ürün satın alma, üye olmak vb.) ile ilişkilendirilebilir. İşte bu tür durumlarda etkinliklerle / olaylarla ilişkilendirdiğiniz Facebook pikseli harekete geçer ve etkinlikleri raporlar1. Böylelikle ziyaretçilerin ve/veya potansiyel müşterilerin (satın alma sonrasında müşteriniz haline geleceklerdir) Facebook reklam(lar)ını gördükten sonra ne tür eylemlerde bulunduklarını anlamak ve bu kişilere bir özel hedef kitle üzerinden erişmek de mümkün hale gelecektir. Ayrıca, kullanıcı sayısı ve kullanıcılara bağlı eylemler arttıkça Ads Manager reklamları daha isabetli hale getirecektir. Reklamların belirli eylemlerde bulunma olasılığı yüksek olan kişilere ulaşmasını sağlayan bu düzenlemeye dönüşüm optimizasyonu adı verilmektedir.

Standart Olaylar (Standard Events)

Olaylar, (Google Analytics tarafında etkinlikler olarak ifade edilebilir) bir ziyaretçinin form doldurması, üye olması ve/veya alışveriş yapması gibi internet sitesinde gerçekleşen eylemleri ifade etmektedir. Bir olayın takip edilebilmesi için Facebook piksel standart kod ve en azından bir standart olayın (PageView) kurulu olması gerekir.

Pixel kurulumunu ister Meta Events Manager üzerinden manuel snippet ile, ister Shopify, Ticimax, IdeaSoft, T-Soft gibi platform entegrasyonları üzerinden, ister GTM ile yapın; standart olayların tetikleme noktası ve parametre yapısı aynıdır.

Standart olay olarak tanımlanan bu eylemler nelerdir?

Standart olaylar en temel biçimde track ile tanımlanır ve gerekli ise olay hakkında ayrıntılı bilgi eklemenize izin veren belirli nesne özelliklerine sahip parametrelerle desteklenir.

Kullanım yapılarının GTAG geliştirilmiş e-ticaret etkinliklerine karşılık geldiği söylenebilir2. Bu nedenle dataLayer kullanımı hem Google Analytics hem de Facebook tarafında ortak bir çözüm olarak değerlendirilebilir.

fbq("track", "[parametre]");

Burada küçük bir not düşmek isterim. Eğer websitesinde birden fazla Facebook Meta Pixel mevcut ise track yerine trackCustom, trackSingle veya trackSingleCustom da görebilirsiniz. Bu farklılık sadece ilgili pixelin davranış biçimini etkiler, kod yapısı yine genel olarak aynı kalır.

Aşağıda başlıklar altında track edilebilecek tanımlı olayları ve kullanımlarını görebilirsiniz3.

OlayKullanım Alanı
PageViewSayfa görüntüleme
ViewContentÜrün/içerik detayı
SearchSite içi arama
AddToCartSepete ekleme
AddToWishlistİstek listesine ekleme
InitiateCheckoutÖdeme başlatma
AddPaymentInfoÖdeme bilgisi girişi
PurchaseSatın alma
LeadForm gönderimi
CompleteRegistrationKayıt tamamlama
Contactİletişim
CustomizeProductÜrün özelleştirme
DonateBağış
FindLocationKonum arama
ScheduleRandevu alma
StartTrialDeneme başlatma
SubmitApplicationBaşvuru gönderimi
SubscribeAbonelik

AddToCart Kullanımı

Ürünün sepete eklenmesini sağlayan bir link ve/veya buton tıklandığında işler. content_ids, content_name, content_type, contents, currency, value değerlerini barındırabilir. Dinamik reklamlar (Dynamic Ads) için content_ids, content_type ve contents zorunludur.

fbq("track", "AddToCart");

content_ids ve content_type tanımlayarak pek çok ürün arasında spesifik olarak ürün eşleştirmeleri ile hedeflemeler oluşturulabilir, dönüşümler ayrıntılı biçimde analiz edilebilir. contents EAN kodu ya da ürün fiyatı veya fiyatları, id, adet içerecek şekilde uygulanabilir.

[
  {
    id: "ABC123",
    quantity: 2,
    item_price: 5.99,
  },
  {
    id: "XYZ789",
    quantity: 2,
    item_price: 9.99,
  },
];

item_price birden fazla ürün olması durumunda ortaya çıkan toplam fiyatı değil burada ilgili tek ürünün fiyatını tanımlamaktadır. Bu durumda;

fbq("track", "AddToCart", {
  content_ids: ["1234"],
  content_type: "product", // ya da 'product_group'
});
fbq("track", "AddToCart", {
  contents: [
    {
      id: "ABC123",
      quantity: 2,
      item_price: 5.99,
    },
    {
      id: "XYZ789",
      quantity: 2,
      item_price: 9.99,
    },
  ],
});

Tüm parametreler daha ayrıntılı kullanılmak istendiğinde;

fbq("track", "AddToCart", {
  content_type: "product",
  content_ids: ["1234"],
  content_name: "ABC Leather Sandal",
  content_category: "Shoes",
  value: 0.5,
  currency: "USD",
});

content_type, iletilen ID’lerin tipine göre belirlenir; ID sayısına göre değil. Bireysel ürün veya varyant ID’leri (örneğin Shopify variant ID) iletiliyorsa product, parent/grup ID’leri (örneğin Shopify product ID) iletiliyorsa product_group kullanılmalıdır. Ek olarak, Ürün Kataloğu aktif ve ürünler ekli ise content_ids değerlerinin buradaki ürün id’leri ile eşleşiyor olması (özellikle dinamik reklamlar için) gerekmektedir. Birden fazla Piksel ID ile işlem yürütülecekse, AddToCart tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "AddToCart", {
  content_type: "product",
  content_ids: ["1234"],
});

Img Pixel ile kullanım;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=AddToCart&amp;cd[content_type]=product&amp;cd[content_ids]=1234&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

Tüm parametreler daha ayrıntılı kullanılmak istendiğinde;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=AddToCart&amp;cd[content_name]=ABC%20Leather%20Sandal&amp;cd[content_category]=Shoes&amp;cd[content_type]=product&amp;cd[content_ids]=1234&amp;cd[value]=0.50&amp;cd[currency]=USD&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

AddToWishlist Kullanımı

Ürünün bir istek listesine (Wishlist) eklenmesini sağlayan bir link ve/veya buton tıklandığında bu olay tetiklenebilir. content_name, content_category, content_ids, contents, currency, value değerlerini barındırabilir.

fbq("track", "AddToWishlist");

Tüm parametreler daha ayrıntılı kullanılmak istendiğinde;

fbq("track", "AddToWishlist", {
  content_ids: ["1234"],
  content_name: "ABC Leather Sandal",
  content_category: "Shoes",
  value: 0.5,
  currency: "USD",
});

content_ids tek ya da birden fazla ürün id’si alabilir. Birden fazla Piksel ID ile işlem yürütülecekse, AddToWishlist tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "AddToWishlist");

Img Pixel ile kullanım;

<noscript
  ><img
    height="1"
    width="1"
    style="display:none"
    src="https://www.facebook.com/tr?id='[Facebook-pixel-ID]&ev=AddToWishlist&noscript=1"
/></noscript>

AddPaymentInfo Kullanımı

Ödeme bilgilerinin eklendiği işlem akışını tanımlar. Bir potansiyel müşterinin fatura ve/veya ödeme bilgilerini girip kayıt işlemini başlattığı tıklama ile ilişkilendirilebilir. Aynı şekilde tab kullanımında aktif geçişi ile de ilişkilendirilmesi mümkündür. content_category, content_ids, contents, currency, value değerlerini barındırabilir.

fbq("track", "AddPaymentInfo");

Tüm parametreler daha ayrıntılı kullanılmak istendiğinde;

fbq("track", "AddPaymentInfo", {
  content_ids: ["1234"],
  content_name: "ABC Leather Sandal",
  content_category: "Shoes",
  value: 0.5,
  currency: "USD",
});

content_ids tek ya da birden fazla ürün id’si alabilir. Birden fazla Piksel ID ile işlem yürütülecekse, AddPaymentInfo tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "AddPaymentInfo");

Img Pixel ile kullanım;

<noscript
  ><img
    height="1"
    width="1"
    style="display:none"
    src="https://www.facebook.com/tr?id='[Facebook-pixel-ID]&ev=AddPaymentInfo&noscript=1"
/></noscript>

CompleteRegistration Kullanımı

Bir kayıt formunun gönderildiği / işlemin tamamlandığı durumu tanımlamaktadır. Newsletter formu, üyelik kaydı ve talep formu gibi işlemlerde kullanılabilir. content_name, currency, status, value değerlerini barındırabilir. status ile kayıt işleminin durumu tamamlanmış ise true, tamamlanmamış ise false olarak iletilir.

fbq("track", "CompleteRegistration");

Tüm parametreler daha ayrıntılı kullanılmak istendiğinde;

fbq("track", "CompleteRegistration", {
  content_name: "ABC Leather Sandal",
  value: 0.5,
  status: 1,
});

Birden fazla Piksel ID ile işlem yürütülecekse, CompleteRegistration tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "CompleteRegistration");

Img Pixel ile kullanım;

<noscript
  ><img
    height="1"
    width="1"
    style="display:none"
    src="https://www.facebook.com/tr?id='[Facebook-pixel-ID]&ev=CompleteRegistration&noscript=1"
/></noscript>

Contact Kullanımı

Bir ziyaretçi / kullanıcı / müşteri iletişim amacıyla telefon numarası tıkladığında, SMS ya da e-posta gönderdiğinde ya da soru sormak amacıyla sohbet oturumu başlattığında (chat) bu olayla ilişkilendirilebilir.

fbq("track", "Contact");

Birden fazla Piksel ID ile işlem yürütülecekse, Contact tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "Contact");

Img Pixel ile kullanım;

<noscript
  ><img
    height="1"
    width="1"
    style="display:none"
    src="https://www.facebook.com/tr?id='[Facebook-pixel-ID]&ev=Contact&noscript=1"
/></noscript>

CustomizeProduct Kullanımı

Ürünle ilgili özelleştirme işlemleri (renk, beden, varyasyon vb.) yapıldığında bu olay tetiklenebilir.

fbq("track", "CustomizeProduct");

Birden fazla Piksel ID ile işlem yürütülecekse, CustomizeProduct tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "CustomizeProduct");

Img Pixel ile kullanım;

<noscript
  ><img
    height="1"
    width="1"
    style="display:none"
    src="https://www.facebook.com/tr?id='[Facebook-pixel-ID]&ev=CustomizeProduct&noscript=1"
/></noscript>

Bir ziyaretçi bağış işlemi gerçekleştirdiğinde bu etkinlikle ilişkilendirilebilir.

fbq("track", "Donate");

Birden fazla Piksel ID ile işlem yürütülecekse, Donate tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "Donate");

Img Pixel ile kullanım;

<noscript
  ><img
    height="1"
    width="1"
    style="display:none"
    src="https://www.facebook.com/tr?id='[Facebook-pixel-ID]&ev=Donate&noscript=1"
/></noscript>

FindLocation Kullanımı

Bir kullanıcı firma ya da firmaya bağlı bir fiziksel şube adresini aradığında bu olayla ilişkilendirilebilir. Ek olarak, şube ya da mağaza içerisinde spesifik bir ürün / reyon ya da birim (danışma, kasa, iade, çıkış vb.) aramasında da bu olay kullanılabilir.

fbq("track", "FindLocation");

Birden fazla Piksel ID ile işlem yürütülecekse, FindLocation tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "FindLocation");

Img Pixel ile kullanım;

<noscript
  ><img
    height="1"
    width="1"
    style="display:none"
    src="https://www.facebook.com/tr?id='[Facebook-pixel-ID]&ev=FindLocation&noscript=1"
/></noscript>

InitiateCheckout Kullanımı

Potansiyel müşteri ödeme işlemlerini başlatmak amacıyla bir link ya da butonu tıklayıp satın alma sürecine geçtiğinde bu olayla ilişkilendirilebilir. content_category, content_ids, contents, currency, num_items, value değerlerini barındırabilir.

fbq("track", "InitiateCheckout");

Tüm parametreler daha ayrıntılı kullanılmak istendiğinde;

fbq("track", "InitiateCheckout", {
  content_ids: ["1234"],
  content_category: "snippets",
  value: 0.5,
  num_ids: 1,
  currency: "USD",
});

Birden fazla Piksel ID ile işlem yürütülecekse, InitiateCheckout tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "InitiateCheckout");

Img Pixel ile kullanım;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=InitiateCheckout&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

Tüm parametreler daha ayrıntılı kullanılmak istendiğinde;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=InitiateCheckout&amp;cd[content_category]=snippets&amp;cd[num_ids]=1&amp;cd[content_ids]=1234&amp;cd[value]=0.50&amp;cd[currency]=USD&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

Lead Kullanımı

Varış sayfalarında (landing pages) yer alan bir form gönderimi ile ilişkilendirilebilir. content_category, content_name, currency, value değerlerini barındırabilir.

fbq("track", "Lead");

Tüm parametreler daha ayrıntılı kullanılmak istendiğinde;

fbq("track", "Lead", {
  content_name: "Sign-up", // lp tanımı
  content_category: "B2B",
  value: 0.5,
  num_ids: 1,
  currency: "USD",
});

Birden fazla Piksel ID ile işlem yürütülecekse, Lead tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "Lead");

Img Pixel ile kullanım;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=Lead&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

Tüm parametreler daha ayrıntılı kullanılmak istendiğinde;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=Lead&amp;cd[content_category]=B2B&amp;cd[content_name]=Sign-up&amp;cd[content_ids]=1234&amp;cd[value]=0.50&amp;cd[currency]=USD&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

PageView Kullanımı

Bu olay genelde ön tanımlı olarak ziyaretçiler bir sayfayı görüntülediğinde tetiklenir. Sanal sayfalarda ve hızlı ürün görüntüleme gibi modal yapılarında ise (virtual pageview) ayrıca tetiklenebilir.

fbq("track", "PageView");

Birden fazla Piksel ID ile işlem yürütülecekse, PageView tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "PageView");

Img Pixel ile kullanım;

<noscript
  ><img
    height="1"
    width="1"
    style="display:none"
    src="https://www.facebook.com/tr?id='[Facebook-pixel-ID]&ev=PageView&noscript=1"
/></noscript>

Purchase Kullanımı

Ödeme işlemlerinin tamamlanması durumunda (teşekkürler sayfası görüntülendiğinde) bu olay tetiklenebilir. content_ids, content_name, content_type, contents, currency, num_items, value değerlerini barındırabilir.

currency ve value değerleri gereklidir. Dinamik reklamlarda content_ids, content_type, contents değerleri kullanılmalıdır.

fbq("track", "Purchase", {
  value: 0.5,
  currency: "USD",
});
fbq("track", "Purchase", {
  content_name: "ABC Leather Sandal",
  content_type: "product",
  content_ids: "[1234]",
  value: 0.5,
  num_ids: 1,
  currency: "USD",
});

Ek bir örnek de contents üzerinden;

fbq("track", "Purchase", {
  content_type: "product",
  contents: [
    {
      id: "1234",
      quantity: 2,
      item_price: 10.0,
    },
    {
      id: "4642",
      quantity: 1,
      item_price: 5.0,
    },
  ],
  value: 25.0,
  currency: "USD",
});

Birden fazla Piksel ID ile işlem yürütülecekse, Purchase tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "Purchase", {
  value: 0.5,
  currency: "USD",
});

Img Pixel ile kullanım;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=Purchase&amp;cd[value]=0.50&amp;cd[currency]=USD&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

Tüm parametreler daha ayrıntılı kullanılmak istendiğinde;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=Purchase&amp;cd[content_name]=ABC%20Leather%20Sandal&amp;cd[content_category]=Shoes&amp;cd[content_type]=product&amp;cd[content_ids]=1234&amp;cd[value]=0.50&amp;cd[currency]=USD&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

Schedule Kullanımı

Bir ziyaretçinin fiziksel lokasyonlarınızdan birini ziyaret etmek üzere randevu oluşturmasıyla ilişkilendirilir. Klinik randevusu, servis kaydı, kuaför rezervasyonu, mağaza içi deneme seansı gibi akışlarda randevu onaylandığı anda tetiklenir. Zorunlu parametresi yoktur ve Meta’nın referans dokümanı Schedule için tanımlı bir object property listesi vermez3.

fbq("track", "Schedule");

Randevunun içeriğini ve tahminî değerini iletmek isteyen kurulumlar content_name, content_category, value ve currency ekliyor. Bu alanlar Schedule için resmi olarak listelenmediğinden reklam raporlamasında değer bazlı optimizasyona girmesi garanti değildir, ölçüm tarafında ise Events Manager’da görünür.

fbq("track", "Schedule", {
  content_name: "dis-hekimi-kontrol",
  content_category: "klinik-randevu",
  value: 750.0,
  currency: "TRY",
});

Birden fazla Piksel ID ile işlem yürütülecekse;

fbq("trackSingle", "[Facebook-pixel-ID-2]", "Schedule");

Img Pixel ile kullanım;

<noscript
  ><img
    height="1"
    width="1"
    style="display:none"
    src="https://www.facebook.com/tr?id='[Facebook-pixel-ID]&ev=Schedule&noscript=1"
/></noscript>

Search Kullanımı

Ziyaretçi tarafından bir ürün ya da içerik araması yapıldığında bu olayla ilişkilendirilebilir. content_category, content_ids, contents, currency, search_string, value değerlerini alabilir. search_string arama işlemi gerçekleştirilen ifadeyi almaktadır.

fbq("track", "Search");

Detaylı bir kullanım için:

fbq("track", "Search", {
  content_category: "Sandals",
  content_ids: "[1234]",
  value: 0.5,
  currency: "USD",
  search_string: "Man Sandals",
});

Birden fazla Piksel ID ile işlem yürütülecekse, Search tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "Search");

Img Pixel ile kullanım;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=Search&amp;cd[content_category]=Sandals&amp;cd[content_type]=product&amp;cd[content_ids]=1234&amp;cd[value]=0.50&amp;cd[currency]=USD&amp;cd[search_string]=Man%20Sandals&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

StartTrial Kullanımı

Bir ziyaretçi sınırlı (süre, kullanım) bir deneme teklifini (ürün, servis ya da hizmet kullanımı) kabul ettiğinde tetiklenir. Örneğin, 15 gün ücretsiz kullanım teklifi. currency, predicted_ltv, value değerlerini alabilir. predicted_ltv, reklamveren tarafından bir abone için öngörülen tahminî ömür değeridir ve tam bir değer olarak ifade edilir.

fbq("track", "StartTrial");

Detaylı bir kullanım için:

fbq("track", "StartTrial", {
  value: 0.5,
  currency: "USD",
  predicted_ltv: 15,
});

Birden fazla Piksel ID ile işlem yürütülecekse, StartTrial tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "StartTrial");

Img Pixel ile kullanım;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=StartTrial&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

Detaylı kullanım için;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=StartTrial&amp;cd[predicted_ltv]=15&amp;cd[value]=0.50&amp;cd[currency]=USD&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

SubmitApplication Kullanımı

Bir ziyaretçi sunulan bir ürün, servis ya da program teklifine başvuruda bulunduğunda bu olay kullanılabilir. Örneğin, iş başvurusu, ders, kurs, kredi kartı edinimi vb.

fbq("track", "SubmitApplication");

Birden fazla Piksel ID ile işlem yürütülecekse, SubmitApplication tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "SubmitApplication");

Img Pixel ile kullanım;

<noscript
  ><img
    height="1"
    width="1"
    style="display:none"
    src="https://www.facebook.com/tr?id='[Facebook-pixel-ID]&ev=SubmitApplication&noscript=1"
/></noscript>

Subscribe Kullanımı

Bir ziyaretçi ürün ya da servis kullanımı için ücretli bir üyelik başlattığında bu olayla ilişkilendirilebilir. currency, predicted_ltv, value değerlerini alabilir.

fbq("track", "Subscribe");

Detaylı kullanım;

fbq("track", "Subscribe", {
  value: 0.5,
  currency: "USD",
  predicted_ltv: 15,
});

Birden fazla Piksel ID ile işlem yürütülecekse, Subscribe tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "Subscribe");

Img Pixel ile kullanım;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=Subscribe&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

Detaylı kullanım için;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=Subscribe&amp;cd[predicted_ltv]=15&amp;cd[value]=0.50&amp;cd[currency]=USD&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

ViewContent Kullanımı

Takip edilmek istenen bir sayfa (ürün, içerik vb.) görüntülendiğinde bu olayla ilişkilendirilebilir. Örneğin, sepet, kampanya detay sayfası, özel teklif, ürün detay sayfası ve benzeri. content_ids, content_name, content_type, contents, currency, value değerlerini alabilir. Dinamik reklamlar için content_ids, content_type ve contents değerlerinin tanımlanması gerekir.

fbq("track", "ViewContent");

Detaylı kullanım;

fbq("track", "ViewContent", {
  content_type: "product",
  content_ids: ["1234"],
  content_name: "ABC Leather Sandal",
  content_category: "Shoes",
  value: 0.5,
  currency: "USD",
});

Birden fazla Piksel ID ile işlem yürütülecekse, ViewContent tanımlaması

fbq("trackSingle", "[Facebook-pixel-ID-2]", "ViewContent");

Img Pixel ile kullanım;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=ViewContent&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

Tüm parametreler daha ayrıntılı kullanılmak istendiğinde;

<noscript
  ><img
    src="https://www.facebook.com/tr?id=[Facebook-pixel-ID]&amp;ev=ViewContent&amp;cd[content_name]=ABC%20Leather%20Sandal&amp;cd[content_category]=Shoes&amp;cd[content_type]=product&amp;cd[content_ids]=1234&amp;cd[value]=0.50&amp;cd[currency]=USD&amp;noscript=1"
    height="1"
    width="1"
    style="display:none"
/></noscript>

content_type: product ve product_group Ayrımı

content_type parametresi, Advantage+ katalog reklamları ve dinamik yeniden hedefleme için kritik öneme sahiptir. Bu parametre iletilen ID’lerin Meta kataloğundaki hangi seviyeyle eşleştiğini belirler.

Meta Katalog Yapısı

Meta ürün kataloğunda iki seviye bulunur:

  • Content ID: Bireysel ürün veya varyant kimliği (katalogdaki id alanı)
  • Item Group ID: Ürün grubu kimliği, aynı ürünün farklı varyantlarını (beden, renk vb.) bir arada gruplar

Bir e-ticaret platformunda (Shopify, WooCommerce vb.) bu yapı genellikle şu şekilde eşleşir:

Platform KavramıMeta Katalog Karşılığıcontent_type
Variant ID (her beden/renk ayrı)Content IDproduct
Product ID (parent, tüm varyantları kapsar)Item Group IDproduct_group

E-ticaret Funnel’ında Kullanım

Farklı sayfa tiplerinde farklı content_type değerleri kullanmak hem geçerli hem de önerilen bir yaklaşımdır. Meta katalog her iki seviyede eşleşme yapabilir:

// Kategori / liste sayfası: varyant henüz seçilmedi, parent ID mevcut
fbq("track", "ViewContent", {
  content_type: "product_group",
  content_ids: ["7890", "7891", "7892"],
  content_category: "Ayakkabı",
});

// Ürün detay sayfası: spesifik varyant seçildi
fbq("track", "ViewContent", {
  content_type: "product",
  content_ids: ["4001"],
  content_name: "Mavi Tişört - M Beden",
  value: 29.99,
  currency: "USD",
});

// Sepete ekleme: seçilen varyant
fbq("track", "AddToCart", {
  content_type: "product",
  content_ids: ["4001"],
  value: 29.99,
  currency: "USD",
});

// Satın alma: sepetteki varyantlar
fbq("track", "Purchase", {
  content_type: "product",
  contents: [
    { id: "4001", quantity: 1, item_price: 29.99 },
    { id: "5023", quantity: 2, item_price: 49.99 },
  ],
  value: 129.97,
  currency: "USD",
});

Sık Yapılan Hatalar

Variant ID ile product_group göndermek: content_ids içinde variant ID’ler varken content_type: 'product_group' kullanırsanız, Meta bu ID’leri Item Group ID olarak aramaya çalışır ve katalogda eşleşme bulamaz. Dinamik reklamlar çalışmaz, dönüşüm verileri eksik kalır.

Katalog ile uyumsuz ID formatı: Shopify varsayılan olarak pixel’e parent product ID gönderir, ancak katalog variant ID’leri içerebilir (ya da tam tersi). Pixel’den gönderilen ID’lerin katalogdaki karşılıklarıyla birebir eşleştiğini doğrulamak gerekir. Facebook Pixel Helper bu doğrulamada yardımcı olabilir.

Ek Kullanım ve Tanımlar

Yukarıda bahsi geçen olaylar ve parametreler ihtiyaçlara göre özel olarak tanımlanabilir. Örneğin, bir ödeme işleminde yer alan adımların tamamı Step1, Step2, Step3 şeklinde işaretlenebilir. Bu durumda trackCustom içeriği şu şekilde olur.

fbq("trackCustom", "Step4");

Tanımlanan adımlara dair ek parametreler de belirlenebilir.

fbq("trackCustom", "Step4", {
  // opsiyonel parametreler
});

Aynı işlemin sadece belirli bir piksel ID için geçerli olması trackSingleCustom ile sağlanabilir.

fbq("trackSingleCustom", "[Facebook-pixel-ID-2]", "Step4", {
  // opsiyonel parametreler
});

Bir indirim kuponu (ShareDiscount) tanımlanmak, bu kuponu kullanan kullanıcılar işaretlenmek ve ek parametreler (promotion) oluşturulmak istendiğinde örnek şu şekilde kurulur;

fbq("trackCustom", "ShareDiscount", {
  promotion: "share_discount_20%",
});

Aynı işlemin sadece belirli bir piksel ID için geçerli olması trackSingleCustom ile sağlanabilir.

fbq("trackSingleCustom", "[Facebook-pixel-ID-2]", "ShareDiscount", {
  promotion: "share_discount_20%",
});

Diğer yandan, var olan bir standart olaya da özelleştirilmiş özellikler eklenebilir. Örnek olarak Purchase standart olayına karşılaştırılan ürün özelliği, kampanya adı ve promosyon kodu eklendiğinde;

fbq("track", "Purchase", {
  value: 115.0,
  currency: "USD",
  contents: [
    {
      id: "301",
      quantity: 1,
      item_price: 85.0,
    },
    {
      id: "401",
      quantity: 2,
      item_price: 15.0,
    },
  ],
  content_type: "product",
  compared_product: "recommended-banner-shoes",
  campaign_name: "discount-banner",
  promotion: "share_discount_20%",
});

Standart bir olay kullanırken söz konusu olabilecek bir yazım yanlışı (Purchase yerine Purchased yazılması gibi) işlemin gerçekleşmemesine ve hata dönmesine neden olabilir. Bu tür durumları erken fark etmek, çoklu pixel kurulumlarını doğrulamak ve Test Events aracını kullanmak için Gelişmiş Eşleştirme ve Özel Durumlar yazısındaki doğrulama bölümüne bakabilirsiniz.

Olay Takibi

Bir sayfa yüklendiğinde Olayı Takip Et veya Sayfada Eylemde Bulunulduğunda Olayı Takip Et seçenekleri üzerinden işlemler gerçekleştirilebilir. Peki, bu takip tanımları arasındaki farklılıklar nelerdir?

Sayfa Yüklendiğinde Olayı Takip Etme : Önemli bir eylem gerçekleştirildiğinde (alışveriş işleminin tamamlanması, üyelik ve benzeri) eğer bir onay ya da teşekkür sayfasına yönlendirme söz konusu ise bu seçenek değerlendirilebilir. Bu durumda, sayfa yüklemesi olayları için ilgili kod <head>…</head> etiketleri arasına yerleştirilmelidir.

Sayfada Eylemde Bulunulduğunda Olayı Takip Etme : Takip etmek istenen etkinlik ziyaretçilerin sepete ürün eklemesi, form onay tıklaması, telefon tıklaması, satın alma butonunu tıklaması ya da önemli bir sayfa linkini tıklaması gibi işlemlerden oluşuyorsa bu seçenek değerlendirilebilir. Bu durumda, olay kodu takip edilecek olayla ilişkili element (buton, link vb.) üzerinden tanımlanacaktır. Sayfa yüklendikten sonra oturum süresince bu işlem kullanılabileceği için kod harici bir dosya ya da diğer JavaScript kodlarıyla birlikte tutulabilir.

Bu işlemlere ek olarak olaylara değer atamak (Dönüşüm Değeri olarak 1 veya Para Birimi) daha detaylı analiz gerçekleştirmek için tavsiye edilen durumlardan bir diğeridir.

Advanced Matching Parametreleri

Advanced Matching ile hash’lenmiş kullanıcı verisi Pixel event’leriyle birlikte Meta’ya iletilir: em, ph, fn, ln, db, ge, ct, st, zp, country ve external_id. Event Match Quality (EMQ) skorunu doğrudan etkileyen parametre grubudur ve Conversions API ile birlikte iOS 14.5 ve Safari ITP sonrası attribution kaybını telafi etmenin en etkili yollarından biridir4.

Pixel tarafında parametreler init çağrısına eklenir:

fbq("init", "PIXEL_ID", {
  em: "jane.doe@example.com", // küçük harf, kütüphane hash'ler
  ph: "905321234567", // sadece rakam, kütüphane hash'ler
  fn: "jane",
  ln: "doe",
  ct: "istanbul",
  country: "tr",
  external_id: "user_4812",
});

Pixel JavaScript kütüphanesi bu alanları göndermeden önce normalize edip SHA-256 ile hash’ler, dolayısıyla client tarafında düz metin iletilir. CAPI tarafı farklı çalışır: sunucudan gönderilen her PII alanının ön hash’lenmiş olması gerekir. Pixel objesini olduğu gibi backend payload’ına kopyalamak tipik bir hatadır.

Parametre bazlı normalize kuralları (telefonda baştaki sıfır, şehir adında boşluk, posta kodu formatı), fbc ve fbp cookie davranışı, EMQ skorunun nasıl okunacağı ve çoklu pixel senaryoları ayrı yazının konusu: Facebook Pikseli Gelişmiş Eşleştirme ve Özel Durumlar.

Conversions API ile Birlikte Kullanım

Tarayıcı taraflı (browser-side) takip yöntemleri, reklam engelleyiciler (ad blockers), ITP (Intelligent Tracking Prevention) ve üçüncü taraf çerezlerin kısıtlanması nedeniyle giderek daha az güvenilir hale gelmiştir. Conversions API (CAPI) sunucu taraflı olay gönderimi sağlayarak bu kaybı azaltır, Pixel ile birlikte çalıştığında veri hem tarayıcıdan hem sunucudan toplanır.

İki kanal aynı anda çalışırken aynı olayın iki kez sayılmaması için eventID parametresi gerekir:

fbq(
  "track",
  "Purchase",
  {
    value: 115.0,
    currency: "USD",
    content_type: "product",
    content_ids: ["ABC123"],
  },
  {
    eventID: "order-12345-abc", // Benzersiz olay kimliği
  },
);

Sunucu tarafında aynı eventID ile gönderilen olay, Meta’da tek dönüşüm olarak birleşir5. Dedup penceresi, event_id üretim kuralları ve eşleşmeyen olayların teşhisi Gelişmiş Eşleştirme ve Özel Durumlar yazısının dedup bölümünde ele alınıyor.

GDPR kapsamında çerez kullanımı için kullanıcıdan açık onay alınması gerekir. Meta Pixel bunu consent API’si ile destekler.

// Sayfa yüklendiğinde varsayılan olarak veri gönderimini durdur
fbq("consent", "revoke");
fbq("init", "PIXEL-ID");
fbq("track", "PageView");

// Kullanıcı çerez politikasını kabul ettikten sonra
fbq("consent", "grant");

revoke çağrısı init fonksiyonundan önce yapılmalıdır, aksi halde onay verilmeden event gönderimi başlar. Meta’nın consent mekanizmasının Google Consent Mode v2 ile neden aynı olmadığı, CAPI tarafında consent durumunun nasıl taşınacağı ve LDU’nun GDPR’yi neden karşılamadığı Gelişmiş Eşleştirme ve Özel Durumlar yazısının consent bölümünde duruyor.

Single Page Application (SPA) Entegrasyonu

React, Vue, Angular gibi modern JavaScript frameworkleri ile geliştirilen tek sayfa uygulamalarında (SPA) sayfa yenilemesi olmadan URL değiştiği için standart piksel kurulumu yeterli olmayabilir. Meta Pixel, History API değişikliklerini otomatik olarak algılayıp PageView olayı tetikler ancak diğer olaylar için manuel tetikleme gerekir.

// React Router veya benzeri bir yapıda route değişikliğinde
const trackRouteChange = (pathname) => {
  switch (pathname) {
    case "/urun":
      fbq("track", "ViewContent", { content_type: "product" });
      break;
    case "/sepet":
      fbq("track", "AddToCart");
      break;
    case "/odeme":
      fbq("track", "InitiateCheckout");
      break;
  }
};

// useEffect veya componentDidUpdate içinde
useEffect(() => {
  trackRouteChange(location.pathname);
}, [location.pathname]);

Otomatik PageView tetiklemesini kapatmak için disablePushState: true kullanılabilir ancak bu genellikle önerilmez.

Limited Data Use (LDU) - ABD Gizlilik Düzenlemeleri

Amerika Birleşik Devletleri’ndeki eyalet bazlı gizlilik düzenlemeleri (California CCPA, Colorado, Connecticut) için Meta, Limited Data Use (Sınırlı Veri Kullanımı) özelliğini sunmaktadır. Bu özellik etkinleştirildiğinde Meta, verileri yalnızca hizmet sağlayıcı rolünde işler.

// LDU kapalı (varsayılan davranış)
fbq("dataProcessingOptions", []);

// LDU açık - Meta coğrafi konumu otomatik belirlesin
fbq("dataProcessingOptions", ["LDU"], 0, 0);

// LDU açık - California için manuel belirleme
fbq("dataProcessingOptions", ["LDU"], 1, 1000);

fbq("init", "PIXEL-ID");
fbq("track", "PageView");

dataProcessingOptions çağrısı init fonksiyonundan önce yapılmalıdır. LDU etkinleştirildiğinde kampanya performansı ve yeniden hedefleme yetenekleri kısıtlanabilir.

Not: Haziran 2023 itibarıyla LDU, California, Colorado ve Connecticut eyaletleri için geçerlidir. Türkiye’deki kullanıcılar için bu ayar doğrudan uygulanmaz ancak global hedefleme yapan kampanyalarda dikkate alınmalıdır.

Footnotes

  1. Facebook Pikseli hakkında. Facebook for Business
  2. Universal Analytics. Google Analytics
  3. Facebook Pixel. Facebook for Developers 2
  4. Advanced Matching. Meta for Developers
  5. Deduplicate Pixel and Server Events. Meta for Developers
Önemli Noktalar
  • 01 Meta Pixel 17 standart olay destekler, Purchase için currency ve value zorunludur
  • 02 Advantage+ katalog reklamları için contents veya content_ids parametresi gereklidir
  • 03 Çoklu pixel yönetiminde trackSingle/trackSingleCustom kullanılmalıdır
  • 04 Conversions API ile birlikte kullanımda eventID ile deduplication şarttır
  • 05 GDPR uyumluluğu için consent API (revoke/grant) kullanılmalıdır
  • 06 SPA uygulamalarında route değişikliklerinde manuel olay tetikleme gerekir
Sık Sorulan Sorular (FAQ)
+ Meta Pixel nedir ve ne işe yarar?

Meta Pixel, web sitenize eklenen bir JavaScript kodudur. Ziyaretçilerin sayfa görüntüleme, sepete ekleme, satın alma gibi eylemlerini takip eder. Bu veriler Facebook/Instagram reklamlarının optimizasyonu, özel hedef kitle oluşturma ve dönüşüm ölçümlemesi için kullanılır.

+ Meta Pixel standart olayları nelerdir?

17 standart olay vardır: AddPaymentInfo, AddToCart, AddToWishlist, CompleteRegistration, Contact, CustomizeProduct, Donate, FindLocation, InitiateCheckout, Lead, Purchase, Schedule, Search, StartTrial, SubmitApplication, Subscribe, ViewContent. PageView bunlara ek olarak Pixel base code ile birlikte gelir.

+ Purchase olayı için hangi parametreler zorunludur?

Purchase olayı için currency (para birimi) ve value (tutar) parametreleri zorunludur. Advantage+ katalog reklamları kullanıyorsanız contents veya content_ids parametresi de gereklidir.

+ Birden fazla Meta Pixel nasıl yönetilir?

trackSingle ve trackSingleCustom fonksiyonları kullanılır. Standart track fonksiyonu tüm init edilmiş pixellere olay gönderirken, trackSingle belirli bir pixel ID'ye özel olay göndermenizi sağlar.

+ Conversions API neden gerekli?

Tarayıcı taraflı takip; ad blocker, ITP ve üçüncü taraf çerez kısıtlamaları nedeniyle olayların bir bölümünü kaybeder, kayıp oranı siteye ve kitleye göre değişir. Conversions API sunucu taraflı gönderimle bu kaybı azaltır. Pixel ile birlikte kullanıldığında eventID parametresi ile deduplication gerekir.

+ GDPR için Meta Pixel nasıl yapılandırılır?

fbq('consent', 'revoke') ile veri gönderimini durdurun, kullanıcı onay verdikten sonra fbq('consent', 'grant') ile başlatın. revoke çağrısı init fonksiyonundan önce yapılmalıdır.

Geri bildirim

Seçtiğin paragraflar hakkında görüşünü ilet. Yanıt verebilmek için e-posta gerekli.

Tür