Amplitude öğrenme kılavuzu
Bu bölümün sonunda
  • device_id, user_id ve Amplitude ID'nin ne olduğunu ve kimin ürettiğini bileceksin.
  • Birleştirmenin (merge) adım adım nasıl olduğunu izleyebileceksin.
  • Hangi user_id hatalarının binlerce kişiyi tek kullanıcıya çevirdiğini tanıyacaksın.

Üç kimlik

KimlikKim üretirNe zaman vardırNeyi temsil eder
device_idSDK (cihaz veya tarayıcı için)İlk açılıştan itibaren, login olmadan daBir cihaz veya tarayıcı
user_idSen, kendi müşteri sistemindenKullanıcı login olunca sen set edersinBir müşteri hesabı
Amplitude IDAmplitude, ikisini eşleştirerekHer zamanAnalizde sayılan "kişi"
Adjust tarafında

Adjust'ta ADID bir uygulamadaki bir cihazı temsil eder ve cihazlar arası birleştirme yapılmaz: aynı kişinin telefonu ve tableti iki ayrı install'dır. Amplitude'da aynı kişi, aynı user_id ile login olduğu sürece tek kullanıcıdır. İki aracın kullanıcı sayıları bu yüzden yapısal olarak farklıdır.

Birleştirmeyi adım adım izle

Aşağıdaki senaryoda bir müşteri önce telefondan, sonra tabletten uygulamayı kullanıyor. Adımlar arasında geçiş yaparak hangi event'in hangi Amplitude ID'ye ait olduğunu izle.

EventCihazdevice_iduser_idAmplitude ID
Örnek ID'ler gösterim amaçlıdır. Renkli Amplitude ID'ler aynı kişiyi gösterir; değişen satırlar o adımda etkilenen satırlardır.

Birleştirmenin kuralları

  1. Anonim → tanımlı: Bir cihazda login öncesi oluşan event'ler, aynı cihazda user_id set edildiğinde o kişiye bağlanır. Onboarding'i login'den önce ölçebilmenin nedeni budur.
  2. Cihazlar arası: Farklı cihazlarda aynı user_id görülünce bu cihazlar tek kişide birleşir.
  3. İki farklı user_id birleşmez: Aynı cihazda farklı bir user_id ile login olunursa o yeni bir kişi olarak ele alınır. Sorun, login'ler arasındaki anonim event'lerin kime yazıldığıdır.
Doğrula

Birleştirmenin kesin kuralları (özellikle aynı cihazda kullanıcı değişince ne olduğu, birleşmeden önceki "new user" sayımının geriye dönük nasıl göründüğü ve yanlış bir birleştirmenin geri alınıp alınamadığı) Amplitude'un kimlik dokümanında anlatılıyor. Müşteriye kesin cümle kurmadan önce oradan kontrol et.

Cihaz, kişi, login: aynı kitle üç farklı sayı

Bir uygulamanın aynı haftası üç farklı birimle sayıldığında üç farklı sayı çıkar. Hangisinin "doğru" olduğu sorulan soruya bağlıdır.

Örnek veri. Cihaz sayısı en yüksektir çünkü bir kişinin birden fazla cihazı vardır. Amplitude kullanıcı sayısı birleştirme sonrası kişi sayısıdır. Login olmuş kullanıcılar, user_id set edilmiş olanların alt kümesidir.

Pahalı hatalar

Kimlik hataları sessizdir: event'ler gelmeye devam eder, chart'lar dolar, ama sayılar yanlış kişilere yazılır. En sık görülenler:

Yapma

  • setUserId('guest'), '0', 'null', 'undefined' gibi ortak değerler: herkes tek kişide birleşir
  • E-posta adresini user_id yapmak: değişebilir ve kişisel veridir
  • Login öncesi geçici bir ID set edip sonra gerçek ID'ye geçmek
  • Logout'ta kimliği sıfırlamamak
  • iOS ve Android'de farklı formatta ID (88231 ve cust_88231)

Yap

  • Backend'deki değişmeyen, benzersiz müşteri ID'sini kullan
  • Kullanıcı gerçekten login olmadan user_id set etme
  • Logout'ta SDK'nın reset fonksiyonunu çağır
  • Tüm platformlarda ve HTTP API'de aynı ID formatı
  • Yayından önce user lookup ekranında birkaç test kullanıcısını kontrol et
Neden pahalı?

Birleştirme çoğu durumda geriye dönük düzeltilemez. 'guest' ile birleşmiş binlerce kişinin geçmiş verisi tek bir "süper kullanıcı" olarak kalır ve o dönemin retention, funnel ve kullanıcı sayıları güvenilmez olur.

Doğrula

Amplitude bazı açıkça geçersiz ID değerlerini engelleyebiliyor ve user_id / device_id için bir minimum uzunluk kuralı uyguluyor. Güncel listeyi ve kuralı HTTP API dokümanından kontrol et.

Logout örneği

Browser SDK (JavaScript), paylaşılan cihazlarda logout
import * as amplitude from '@amplitude/analytics-browser';

// On login: link this device to the backend customer ID
amplitude.setUserId('cust_88231');

// On logout: clear user_id and start a fresh device_id,
// so the next person's events are not written to this user
amplitude.reset();

"New user" install değildir

Amplitude'da yeni kullanıcı, bir Amplitude ID'nin ilk görüldüğü andır. Adjust'ta install ise bir cihazın ilk oturumudur. Bu yüzden aşağıdaki durumlarda iki sayı ayrışır:

DurumAdjustAmplitude
Kişi ikinci cihazına kurdu ve login olduYeni installBirleşir, aynı kişi
Kişi önce web'i kullandı, sonra uygulamayı kurdu (aynı user_id)Yeni installMevcut kullanıcı
Amplitude SDK'sı consent sonrasında başlatılıyor, kullanıcı reddettiKendi consent kurallarına göreHiç görülmez
Amplitude SDK'sı ilk ekrandan sonra başlatılıyor, kullanıcı hemen çıktıInstallHiç görülmez

Bölüm 7 bu farkları bir discrepancy analizinde nasıl ayrıştıracağını gösteriyor.

Alıştırma

Bir test projesinde aynı user_id ile önce bir tarayıcıdan, sonra gizli pencereden login ol. User lookup ekranında iki cihazın tek kullanıcıda birleştiğini gör. Sonra logout'ta reset() çağırmadan başka bir test hesabıyla login ol ve aradaki event'lerin kime yazıldığını incele.