İçeriğe geç
ceaksan

OpenAI Ads'te Dedup: Aynı Dönüşümü İki Kez Saymamak

Pixel ve Conversions API aynı dönüşümü gönderdiğinde çift sayım oluşur. OpenAI Ads bunu Pixel ID, event adı ve event_id üçlüsüyle tekilleştirir: pixel'deki event_id ile sunucudaki id aynı değerde tutulur. Bu yazı kararlı bir event_id üretmeyi, iki tarafta eşleştirmeyi ve sık yapılan hataları gösterir.

13 Haz 2026 3 dk okuma
TL;DR

Aynı dönüşüm hem pixel hem Conversions API'den gönderildiğinde, doğru kurulmazsa iki kez sayılır. OpenAI Ads tekilleştirmeyi üç bileşenin eşleşmesiyle yapar: Pixel ID, event adı ve event_id. Pixel tarafında options.event_id, sunucu tarafında id alanı aynı değeri taşımalı; iki tarafta aynı Pixel ID kullanılmalı. event_id'yi OpenAI üretmez, geliştirici üretir: sipariş numarası gibi dönüşüm başına kararlı ve tekil bir kimlik seçilir, iki katmanda da aynı değer kullanılır. Custom event'lerde event adı yerine aynı custom_event_name eşleştirilir.

OpenAI Ads ölçümünde pixel ve Conversions API sık sık aynı dönüşümü taşır: kullanıcı tarayıcıda siparişi tamamlar, pixel ateşler; aynı sipariş sunucuda da kaydedilir ve Conversions API’den gider. Doğru kurulmazsa bu tek dönüşüm iki kez sayılır ve raporlar şişer. Tekilleştirme (deduplication), bu iki kaydı tek dönüşüme bağlayan mekanizmadır.

Bu yazı eşleşmenin hangi alanlarla kurulduğunu, kararlı bir event_id’nin nasıl üretildiğini ve sık yapılan hataları gösterir. Pixel ve sunucu kurulumlarının kendisi ayrı yazıların konusu; burada odak iki katmanı çakışmadan uzlaştırmak.

Dedup Neden Gerekir

Pixel ve Conversions API tek başına eksik kalır. Pixel reklam engelleyici, onay reddi ve çerez kısıtlarıyla budanır; Conversions API ise tarayıcıdaki canlı etkileşimi değil sunucudaki kaydı görür. İkisi birlikte kullanıldığında kapsama genişler, ama aynı dönüşüm iki kaynaktan gidince çift sayım riski doğar. Dedup, kapsamı genişletirken sayımı tek tutmanın yoludur.

Aynı dönüşüm yalnızca tek bir katmandan gönderiliyorsa dedup’a gerek yoktur. event_id yalnızca aynı dönüşüm hem pixel hem sunucudan gittiğinde devreye girer.

Eşleşme Anahtarı: Üç Bileşen

OpenAI Ads iki kaydın aynı dönüşüm olduğuna üç bileşenin eşleşmesiyle karar verir: Pixel ID, event adı ve event_id1. Üçü de iki tarafta aynıysa kayıtlar tek dönüşüm olarak sayılır.

BileşenPixel tarafıSunucu tarafıKural
Pixel IDinit içindeki pixelIdpid sorgu parametresiİki tarafta aynı
Event adımeasure event adıevent typeİki tarafta aynı
event_idoptions.event_idevent idİki tarafta aynı değer

Sunucu tarafında dönüşümün kimliği id alanında taşınır; pixel tarafında aynı değer options.event_id olarak gönderilir2. Yani eşleşmeyi kuran şey, sunucudaki id ile pixel’deki event_id’nin birebir aynı olmasıdır.

event_id’yi Geliştirici Üretir

Kritik nokta: event_id’yi OpenAI üretmez. Dönüşüm başına kararlı ve tekil bir kimliği geliştirici belirler ve aynı pixel ile sunucu event’inde tekrar kullanır1. İyi bir event_id iki özelliği taşır:

  • Tekil: Her dönüşüm farklı bir değer alır, böylece ayrı siparişler birbirine karışmaz.
  • Kararlı: Aynı dönüşüm için pixel ve sunucu aynı değeri üretebilmeli. Sipariş numarası, ödeme kimliği gibi sistemde zaten var olan ve tekrar okunabilen bir değer bu yüzden uygundur.

Sipariş kimliği bu iki koşulu doğal olarak karşılar: hem her sipariş için tekildir hem de tarayıcıda ve sunucuda aynı değer okunabilir.

// Pixel tarafı: dönüşüm kimliğini event_id olarak gönder
oaiq(
  "measure",
  "order_created",
  { type: "contents", amount: 2599, currency: "USD" },
  { event_id: "order_12345" },
);
// Sunucu tarafı: aynı değeri id olarak gönder
{
  "id": "order_12345",
  "type": "order_created",
  "timestamp_ms": 1773892800000,
  "data": {
    "type": "contents",
    "amount": 2599,
    "currency": "USD",
    "contents": [
      {
        "id": "sku_123",
        "name": "Starter bundle",
        "content_type": "product",
        "quantity": 1
      }
    ]
  }
}

İki tarafta da event_id/id değeri order_12345, event adı order_created ve aynı Pixel ID kullanıldığı için OpenAI bu iki kaydı tek dönüşüm sayar.

Custom Event’lerde Eşleşme

Standart bir event yerine custom gönderiliyorsa, eşleşme standart event adı yerine custom_event_name ile kurulur. Custom event’lerde iki tarafta da aynı custom_event_name kullanılmalıdır1. Pixel tarafında custom_event_name options nesnesinde, sunucu tarafında event alanında taşınır; ikisi farklıysa eşleşme kurulmaz.

Sık Yapılan Hatalar

Dedup’ı bozan hatalar genellikle aynı kalması gereken bir değerin iki tarafta ayrışmasından kaynaklanır:

  • Her gönderimde yeni rastgele event_id: Pixel ve sunucu farklı değer üretir, eşleşme kurulmaz, dönüşüm iki kez sayılır. event_id dönüşüm başına kararlı olmalı.
  • Farklı Pixel ID: İki gönderim farklı Pixel ID taşırsa eşleşme baştan kurulmaz.
  • Event adı uyuşmazlığı: Pixel order_created, sunucu farklı bir tip gönderirse kayıtlar eşleşmez.
  • Custom event’te ad ayrışması: İki tarafta farklı custom_event_name aynı sorunu yaratır.
  • Gereksiz event_id: Dönüşüm tek katmandan gidiyorken event_id eklemek zarar vermez ama gereksizdir; dedup yalnızca iki kaynak varken anlamlıdır.

Hangi değeri event_id yapmalı?

İyi bir event_id, dönüşüm anında hem tarayıcıda hem sunucuda erişilebilen tekil bir kimliktir. Sipariş numarası, ödeme işlem kimliği ya da abonelik kimliği uygundur. Rastgele üretilen ve yalnızca bir tarafta bilinen değerlerden kaçın; eşleşmeyi kuran şey iki katmanın aynı değeri taşımasıdır.

Sonraki Adımlar

Dedup kurulduğunda pixel ve Conversions API artık kapsamı genişletip sayımı tek tutar. Bundan sonraki adım, hangi event’in ne zaman gönderileceğini netleştirmek: event taksonomisi ve her event’in beklediği veri şekli ölçümün doğru sayılması için belirleyicidir.

Footnotes

  1. Conversions API (OpenAI Developers) — pixel/sunucu dedup (“If you send the same conversion from the pixel and the Conversions API, reuse the same value as the API id and pixel event_id.”), aynı Pixel ID kullanımı ve custom event’lerde aynı custom_event_name (“Send both events with the same Pixel ID. For custom events, use the same custom_event_name on both sides as well.”). 2 3
  2. JavaScript Pixel (OpenAI Developers)event_id’nin dedup rolü (“Deduplication matches on your Pixel ID, the event name, and event_id.”), geliştiricinin event_id üretmesi (“When you need deduplication across browser and server events, generate the event_id yourself and reuse it on the same pixel and server-sent event.”).
Önemli Noktalar
  • 01 Dedup üç bileşenle eşleşir: Pixel ID, event adı ve event_id. Üçü de iki tarafta aynıysa OpenAI iki kaydı tek dönüşüm sayar.
  • 02 Pixel'de options.event_id, sunucuda id alanı aynı değeri taşır; event_id'yi geliştirici üretir, OpenAI değil.
  • 03 event_id dönüşüm başına kararlı ve tekil olmalı: sipariş numarası iyi, her gönderimde değişen rastgele değer kötü.
  • 04 Custom event'lerde standart event adı yerine aynı custom_event_name iki tarafta eşleştirilir.
  • 05 Aynı dönüşüm tek katmandan gönderiliyorsa event_id'ye gerek yok; dedup yalnızca aynı dönüşüm iki kaynaktan gidiyorsa gerekir.
Sık Sorulan Sorular (FAQ)
+ OpenAI Ads dönüşümleri neye göre tekilleştirir?

Tekilleştirme üç bileşenin eşleşmesine dayanır: Pixel ID, event adı ve event_id. Pixel'deki event_id ile Conversions API'deki id aynı değeri taşıyıp iki tarafta aynı Pixel ID kullanıldığında, OpenAI iki kaydı tek dönüşüm olarak sayar. Custom event'lerde event adı yerine aynı custom_event_name eşleştirilir.

+ event_id'yi kim üretir?

event_id'yi OpenAI üretmez, geliştirici üretir. Dönüşüm başına kararlı ve tekil bir değer seçip aynı pixel ve sunucu event'inde tekrar kullanmak gerekir. Sipariş numarası gibi tekrar üretilebilir bir kimlik uygundur.

+ Her dönüşümde event_id göndermek zorunda mıyım?

Hayır. event_id yalnızca aynı dönüşüm birden fazla kaynaktan, yani hem pixel hem Conversions API'den gönderildiğinde gerekir. Dönüşüm tek bir katmandan gönderiliyorsa dedup'a ihtiyaç yoktur.

+ event_id olarak rastgele değer kullanabilir miyim?

Her gönderimde yeniden üretilen rastgele bir değer kullanılırsa pixel ve sunucu farklı event_id taşır, eşleşme kurulmaz ve dönüşüm iki kez sayılır. event_id, aynı dönüşüm için iki katmanda da aynı kalan kararlı bir değer olmalıdır; sipariş kimliği bu yüzden iyi bir seçimdir.