Amplitude öğrenme kılavuzu
Bu bölümün sonunda
  • Bir event satırının parçalarını ve hangisinin ne işe yaradığını okuyabileceksin.
  • Bir bilginin event property mi user property mi olması gerektiğine karar verebileceksin.
  • User property'lerin "o anki değer" davranışının analizi nasıl etkilediğini anlayacaksın.

Dört kavram

KavramNe demekÖrnekAdjust'taki en yakın karşılık
EventKullanıcının yaptığı tek bir eylem, zaman damgalıProduct Viewed, Checkout CompletedEvent token ile tanımlı event
Event propertyO eylemin o anki bağlamıcategory = headphones, price = 49.9Callback / partner parametreleri
User propertyKullanıcının kalıcı özelliği; son değeri sonraki event'lere taşınırplan = premium, orders_count = 3Doğrudan yok; attribution alanları en yakını
GroupKullanıcının ait olduğu hesap veya organizasyoncompany_id = 8812Yok

Bir event'in anatomisi

Amplitude'a giden her event aşağıdakine benzer bir kayıttır. SDK'lar bu alanların çoğunu kendisi doldurur; sen genellikle sadece event adını ve property'leri verirsin.

Örnek event kaydı (sadeleştirilmiş)
{
  "event_type": "Checkout Completed",      // ne yaptı
  "time": 1762243200000,                      // ne zaman (ms)
  "user_id": "cust_88231",                  // kim (senin sistemindeki kimlik)
  "device_id": "8F3A2C1E-…",                // hangi cihaz
  "platform": "iOS",                         // SDK otomatik doldurur
  "country": "Saudi Arabia",                // IP'den türetilir
  "event_properties": {                       // bu eylemin bağlamı
    "order_id": "ORD-5521",
    "revenue": 129.5,
    "currency": "SAR",
    "items_count": 3,
    "payment_method": "apple_pay"
  },
  "user_properties": {                        // kullanıcının o anki durumu
    "plan": "premium",
    "orders_count": 4,
    "acquisition_network": "Meta"         // örnek: entegrasyondan gelen kaynak
  }
}

Bu kaydı bir cümle olarak oku: cust_88231, 4 Kasım'da iOS'ta, premium planındayken ve Meta'dan gelmiş biri olarak, Apple Pay ile 3 ürünlük 129,5 SAR'lık bir sipariş tamamladı. Amplitude'un bütün chart'ları bu cümlelerin farklı biçimlerde sayılmasıdır.

Doğrula

acquisition_network burada uydurulmuş örnek bir addır. Adjust entegrasyonunun Amplitude'a gönderdiği alanların gerçek adları entegrasyon dokümanında yazar (Bölüm 7).

Event property mi, user property mi?

Karar kuralı basittir: bilgi o eyleme mi ait, yoksa o kişiye mi? Sipariş tutarı o siparişe aittir, event property'dir. Abonelik planı kişiye aittir ve sonraki her eylemde geçerlidir, user property'dir.

BilgiDoğru yerGerekçe
Görüntülenen ürünün kategorisiEvent propertyHer görüntülemede farklı
Sipariş tutarıEvent propertyO siparişe özgü
Abonelik planıUser propertyKişinin durumu, değişene kadar geçerli
Toplam sipariş sayısıUser property (artırılarak)Kişinin birikimli durumu
Kazanım kanalı (Adjust'tan)User propertyKişiye bir kez atanır, tüm davranışı dilimler
Ödeme yöntemiEvent property (gerekirse ayrıca "son ödeme yöntemi" user property)Her siparişte değişebilir
Uygulama diliUser property (SDK çoğu zaman otomatik toplar)Cihaz/kişi ayarı

User property zaman içinde nasıl davranır?

User property bir kez set edilince, değiştirilene kadar sonraki her event'e o değerle işlenir. Bir event'e işlenen değer, event olduğu andaki değerdir. Bu yüzden "premium iken mi, free iken mi satın aldı?" sorusu doğru cevaplanır.

Event'ler, gerçekleştikleri andaki user property değerini taşır plan = free plan = premium identify: plan → premium App Openedplan: free Purchaseplan: free Paywall Viewedplan: free Purchaseplan: premium Purchaseplan: premium App Openedplan: premium "Purchase'ı plan'a göre grupla" → free: 1, premium: 2. Kullanıcının bugünkü planına göre değil, satın aldığı andaki planına göre sayılır.
Aynı kullanıcı, aynı event. Plan değiştiği andan sonraki event'ler yeni değeri taşır, önceki event'ler eski değeriyle kalır.
Sık yapılan hata

User property'yi event'ten sonra set etmek. Kullanıcı premium'a geçtiğinde önce Subscription Started event'ini, sonra plan güncellemesini gönderirsen, o event'in kendisi hâlâ plan = free taşır. Sıralamayı tracking plan'da açıkça yaz.

User property'yi değiştirme yolları

SDK'lar user property'ler için birkaç işlem sunar. Hangisini seçtiğin, değerin zaman içinde nasıl biriktiğini belirler.

İşlemNe yaparNe zaman kullanılır
setDeğeri üzerine yazarPlan, dil, son ödeme yöntemi
setOnceSadece ilk kez set eder, sonrakileri yok sayarİlk kayıt tarihi, ilk kazanım kanalı
addSayısal değeri artırır/azaltırSipariş sayısı, toplam harcama
append / prependDiziye eleman eklerİlgilenilen kategoriler
unsetProperty'yi kaldırırArtık geçerli olmayan bilgi

Property tipleri neden önemli?

Amplitude bir property ile yapabileceğin işlemi değerin tipine göre sunar. Sayı olarak gelen bir değerin toplamını, ortalamasını, dağılımını alabilirsin. Aynı değer metin olarak gelirse sadece eşitlik ve gruplama yapabilirsin.

Analizi kısıtlar

  • "price": "49.9" metin, ortalama alınamaz
  • "is_first_order": "yes" farklı yerlerde "Yes", "true", "1"
  • "category": "Headphones" bir platformda, "headphones" diğerinde

Analize açık

  • "price": 49.9 sayı, toplam ve ortalama alınır
  • "is_first_order": true tek tip boolean
  • "category": "headphones" her platformda küçük harf, sabit liste

Otomatik toplanan bilgiler

SDK'lar her event'e bir dizi bilgiyi kendisi ekler: platform, işletim sistemi ve sürümü, cihaz modeli, uygulama sürümü, dil, IP'den türetilen ülke ve şehir gibi. Bunları ayrıca property olarak göndermene gerek yoktur. Yeni SDK'larda ayrıca oturum başlangıcı, sayfa görüntüleme gibi bazı event'ler otomatik toplanabilir (autocapture).

Doğrula

Hangi alanların ve event'lerin otomatik toplandığı SDK'ya, sürümüne ve yapılandırmaya göre değişir. Gizlilik gereksinimi olan müşterilerde (ör. IP veya şehir toplanmaması) bu ayarların nasıl kapatıldığına SDK dokümanından bak.

Group: hesap düzeyinde analiz

B2B ürünlerde soru çoğu zaman "hangi kullanıcı" değil "hangi şirket" olur. Group, kullanıcıları bir hesaba bağlar ve chart'ları kullanıcı yerine hesap bazında saymayı sağlar: "Bu hafta kaç şirket rapor oluşturdu?" gibi.

Doğrula

Hesap düzeyinde analiz Amplitude'da ayrı bir eklenti olarak satılabiliyor. Müşterinin planında olup olmadığını kontrol et. Ryze'ın tipik mobil tüketici uygulamalarında çoğu zaman gerekmez.

Örnek: küçük bir e-ticaret modeli

EventEvent property'lerBu event'le güncellenen user property
Signup Completedmethod (email, apple, google)signup_date (setOnce)
Product Viewedproduct_id, category, price–
Product Added to Cartproduct_id, category, price, quantity–
Checkout Startedcart_value, items_count–
Checkout Completedorder_id, revenue, currency, payment_methodorders_count (add 1), last_order_date (set)

Beş event ile funnel, retention, sepet analizi ve ilk/tekrar sipariş karşılaştırması yapılabilir. Her kategori için ayrı event açmak yerine tek event ve category property'si kullanıldığına dikkat et.

Alıştırma

Bir müşterinin Adjust event token listesini al. Her event için şunu yaz: Amplitude'da aynı adla mı kalmalı, birkaç Adjust event'i tek bir Amplitude event'i + property olarak mı birleşmeli (ör. purchase_tier1, purchase_tier2 → Purchase + tier), ve hangi bilgi kişiye ait olduğu için user property olmalı.