User Activity API, bir Google Analytics mülk sahibinin tek bir kullanıcıyla ilişkilendirilen tüm analiz ölçüm verilerini almasına olanak tanır. Spesifik olarak API, belirli bir User ID veya Client-ID ile ilişkili tüm ölçüm verilerini alır.
Kullanıcı Etkinliği İsteğinde Bulunma
Kullanıcı Etkinliği İsteğinde bulunmak için aşağıdaki alanlarla bir istek nesnesi oluşturun:
Kullanıcıyla ilişkilendirilen Client-ID veya User-ID
- Bu alanları nasıl arayacağınızla ilgili ayrıntılar için Çerezler ve Kullanıcı Tanımlama bölümüne bakın.
Kullanıcıyla ilişkili verileri içeren bir Analytics Görünüm Kimliği.
- Görünüm kimliğinizi aramak için Hesap Gezgini'ni kullanabilirsiniz.
Zorunlu olmasa da ilgilendiğiniz veriler için muhtemelen bir tarih aralığına ihtiyacınız olacaktır. Varsayılan olarak API, geçen haftaki kullanıcı etkinliğini listeler.
Örnek İstek
POST https://analyticsreporting.googleapis.com/v4/userActivity:search
{
"viewId": "9999999",
"user": {
"type": "CLIENT_ID",
"userId": "1034600000.76425000000"
},
"dateRange": {
"startDate": "2018-01-01",
"endDate": "2018-12-31",
}
}
Örnek Yanıt
{
"sessions": [{
"sessionId": "1539184430",
"deviceCategory": "desktop",
"platform": "Windows",
"dataSource": "web",
"sessionDate": "2018-10-10"
"activities": [{
"activityTime": "2018-10-10T08:13:50.555105Z",
"source": "(direct)",
"medium": "(none)",
"channelGrouping": "Direct",
"campaign": "(not set)",
"keyword": "(not set)",
"hostname": "shop.googlemerchandisestore.com",
"landingPagePath": "/gpsmap",
"activityType": "PAGEVIEW",
"customDimension": [{
"index": 1,
"value": "(not set)"
}, ...]
}, ...]
}, ...]
"totalRows": 1000,
"nextPageToken": "A6JGY3",
"sampleRate": 1
}
Oturumlar ve Etkinlikler
Kullanıcı etkinliği verileri oturuma göre gruplandırılır. Her oturumda, oturum kimliği ve tarih gibi oturum hakkında genel bilgilerin yanı sıra bu oturuma ait kullanıcı etkinliklerinin bir listesi bulunur.
Bir oturumdaki kullanıcı etkinlikleri, kullanıcının sorumlu olduğu her "isabetten" oluşur. Buna sayfa görüntülemeler, e-ticaret etkinlikleri ve gtag(...)
veya ga(...)
üzerinden gönderilen özel etkinlikler de dahildir.
Sayfalara ayırma
User Activity API, büyük veri kümelerini birden fazla istek ve yanıta ayırmak için sayfalara ayırma yöntemini kullanır. Bununla birlikte, API tarafından döndürülen veriler hiyerarşik olarak yapılandırıldığından verileri doğru bir şekilde toplamak için geliştirici tarafından bazı özel noktalara dikkat etmesi gerekir.
Sayfalara ayırma işlemi için temel "satır" türü Etkinlik'tir. Kullanıcı Verileri oturuma göre gruplandırıldığından bu, sayfa sınırının bir oturum içinde gerçekleşebileceği ve bu oturumun birden fazla sayfayı kapsayan etkinliklere sahip olabileceği anlamına gelir.
Örnek Veriler
Açıklama amacıyla aşağıdaki örnek verileri kullanacağız. Bu örnekte, kullanıcı 3 gün boyunca 6 oturumda siteyle etkileşime geçmiştir.
Tarih | Oturum Kimliği | Etkinlik Etiketi | Saat |
---|---|---|---|
2018-11-23 | 1 | CEVAP | 10:26 |
2018-11-23 | 1 | B | 10:32 |
2018-11-23 | 1 | C | 10:39 |
2018-11-23 | 2 | CEVAP | 18:04 |
2018-11-23 | 2 | B | 18:11 |
2018-11-23 | 2 | C | 18:26 |
2018-11-24 | 3 | CEVAP | 11:26 |
2018-11-24 | 3 | B | 11:29 |
2018-11-24 | 3 | C | 11:39 |
2018-11-24 | 3 | D | 11:42 |
2018-11-24 | 4 | CEVAP | 23:50 |
2018-11-24 | 4 | B | 23:54 |
2018-11-25 | 5 | C | 00:02 |
2018-11-25 | 5 | D | 00:13 |
2018-11-25 | 6 | CEVAP | 13:01 |
2018-11-25 | 6 | B | 13:09 |
2018-11-25 | 6 | C | 13:12 |
2018-11-25 | 6 | D | 13:23 |
Tek Sayfa
En az 18 değerinde pageSize
ile bir kullanıcı etkinliği isteğinde bulunursanız verilerin tümü tek bir sayfada teslim edilir ve şuna benzer:
POST https://analyticsreporting.googleapis.com/v4/userActivity:search
{
"viewId": "9999999",
"user": {
"type": "CLIENT_ID",
"userId": "1034600000.76425000000",
},
"dateRange": {
"startDate": "2018-11-20",
"endDate": "2018-11-30",
},
"pageSize": 100,
}
{
"totalRows": 18,
"sessions": [{
"sessionId": "1",
"sessionDate": "2018-11-23",
"activities": [{
"activityTime": "2018-11-23T10:26:00",
"event": {"eventLabel": "A"}
}, {
"activityTime": "2018-11-23T10:32:00",
"event": {"eventLabel": "B"}
}, {
"activityTime": "2018-11-23T10:39:00",
"event": {"eventLabel": "C"}
}]
}, {
"sessionId": "2",
"sessionDate": "2018-11-23",
"activities": [{
"activityTime": "2018-11-23T18:04:00",
"event": {"eventLabel": "A"}
}, {
"activityTime": "2018-11-23T18:11:00",
"event": {"eventLabel": "B"}
}, {
"activityTime": "2018-11-23T18:26:00",
"event": {"eventLabel": "C"}
}]
}, {
"sessionId": "3",
"sessionDate": "2018-11-24",
"activities": [{
"activityTime": "2018-11-24T11:26:00",
"event": {"eventLabel": "A"}
}, {
"activityTime": "2018-11-24T11:29:00",
"event": {"eventLabel": "B"}
}, {
"activityTime": "2018-11-24T11:39:00",
"event": {"eventLabel": "C"}
}, {
"activityTime": "2018-11-24T11:42:00",
"event": {"eventLabel": "D"}
}]
}, {
"sessionId": "4",
"sessionDate": "2018-11-24",
"activities": [{
"activityTime": "2018-11-24T23:50:00",
"event": {"eventLabel": "A"}
}, {
"activityTime": "2018-11-24T23:54:00",
"event": {"eventLabel": "B"}
}]
}, {
"sessionId": "5",
"sessionDate": "2018-11-25",
"activities": [{
"activityTime": "2018-11-25T00:01:00",
"event": {"eventLabel": "C"}
}, {
"activityTime": "2018-11-25T00:13:00",
"event": {"eventLabel": "D"}
}]
}, {
"sessionId": "6",
"sessionDate": "2018-11-25",
"activities": [{
"activityTime": "2018-11-25T13:01:00",
"event": {"eventLabel": "A"}
}, {
"activityTime": "2018-11-25T13:09:00",
"event": {"eventLabel": "B"}
}, {
"activityTime": "2018-11-25T10:12:00",
"event": {"eventLabel": "C"}
}, {
"activityTime": "2018-11-25T10:23:00",
"event": {"eventLabel": "D"}
}]
}]
}
Birden Çok Sayfa
Ancak, sayfanızın boyutu 5 ise bu veriler 4 yanıt sayfasına bölünür:
Tarih | Oturum Kimliği | Etkinlik Etiketi | Saat |
---|---|---|---|
1. Sayfa: | |||
2018-11-23 | 1 | CEVAP | 10:26 |
2018-11-23 | 1 | B | 10:32 |
2018-11-23 | 1 | C | 10:39 |
2018-11-23 | 2 | CEVAP | 18:04 |
2018-11-23 | 2 | B | 18:11 |
2. Sayfa: | |||
2018-11-23 | 2 | C | 18:26 |
2018-11-24 | 3 | CEVAP | 11:26 |
2018-11-24 | 3 | B | 11:29 |
2018-11-24 | 3 | C | 11:39 |
2018-11-24 | 3 | D | 11:42 |
3. Sayfa: | |||
2018-11-24 | 4 | CEVAP | 23:50 |
2018-11-24 | 4 | B | 23:54 |
2018-11-25 | 5 | C | 00:02 |
2018-11-25 | 5 | D | 00:13 |
2018-11-25 | 6 | CEVAP | 13:01 |
4. Sayfa: | |||
2018-11-25 | 6 | B | 13:09 |
2018-11-25 | 6 | C | 13:12 |
2018-11-25 | 6 | D | 13:23 |
2. oturumun birinci ve ikinci sayfalara, 24 Kasım'daki 2 oturumun ise ikinci ve üçüncü sayfalara ayrıldığına dikkat edin. Yanıtlar aşağıdaki gibi görünür:
{
"totalRows": 18,
"nextPageToken": "UGMGQS",
"sessions": [{
"sessionId": "1",
"sessionDate": "2018-11-23",
"activities": [{
"activityTime": "2018-11-23T10:26:00",
"event": {"eventLabel": "A"}
}, {
"activityTime": "2018-11-23T10:32:00",
"event": {"eventLabel": "B"}
}, {
"activityTime": "2018-11-23T10:39:00",
"event": {"eventLabel": "C"}
}]
}, {
"sessionId": "2",
"sessionDate": "2018-11-23",
"activities": [{
"activityTime": "2018-11-23T18:04:00",
"event": {"eventLabel": "A"}
}, {
"activityTime": "2018-11-23T18:11:00",
"event": {"eventLabel": "B"}
}]
}]
}
{
"totalRows": 18,
"nextPageToken": "1FKOME",
"sessions": [{
"sessionId": "2",
"sessionDate": "2018-11-23",
"activities": [{
"activityTime": "2018-11-23T18:26:00",
"event": {"eventLabel": "C"}
}]
}, {
"sessionId": "3",
"sessionDate": "2018-11-24",
"activities": [{
"activityTime": "2018-11-24T11:26:00",
"event": {"eventLabel": "A"}
}, {
"activityTime": "2018-11-24T11:29:00",
"event": {"eventLabel": "B"}
}, {
"activityTime": "2018-11-24T11:39:00",
"event": {"eventLabel": "C"}
}, {
"activityTime": "2018-11-24T11:42:00",
"event": {"eventLabel": "D"}
}]
}]
}
{
"totalRows": 18,
"nextPageToken": "7S77H6",
"sessions": [{
"sessionId": "4",
"sessionDate": "2018-11-24",
"activities": [{
"activityTime": "2018-11-24T23:50:00",
"event": {"eventLabel": "A"}
}, {
"activityTime": "2018-11-24T23:54:00",
"event": {"eventLabel": "B"}
}]
}, {
"sessionId": "5",
"sessionDate": "2018-11-25",
"activities": [{
"activityTime": "2018-11-25T00:01:00",
"event": {"eventLabel": "C"}
}, {
"activityTime": "2018-11-25T00:13:00",
"event": {"eventLabel": "D"}
}]
}, {
"sessionId": "6",
"sessionDate": "2018-11-25",
"activities": [{
"activityTime": "2018-11-25T13:01:00",
"event": {"eventLabel": "A"}
}]
}]
}
{
"totalRows": 18,
"sessions": [{
"sessionId": "6",
"sessionDate": "2018-11-25",
"activities": [{
"activityTime": "2018-11-25T13:09:00",
"event": {"eventLabel": "B"}
}, {
"activityTime": "2018-11-25T10:12:00",
"event": {"eventLabel": "C"}
}, {
"activityTime": "2018-11-25T10:23:00",
"event": {"eventLabel": "D"}
}]
}]
}
Veri Örnekleme
Bir istemci, istenen tarih aralığı için çok fazla veri biriktirmişse API, etkinliklerin yalnızca örneklenmiş bir alt kümesini döndürebilir. Böyle bir durumda, sampleRate
alanında kullanıcı etkinliklerinin ne kadarlık bir kısmının döndürüldüğünü belirtir.
Veriler nasıl örneklenir?
Kullanıcı verileri, etkinlik düzeyinde örneklenir. Örneğin, %50 örnekleme oranıyla (0.5
) kullanıcı etkinliklerinin yarısı yanıtta yer alacaktır.
Örneklenen bu etkinlikler rastgele seçilir. API, rastgele örnekleme hakkında herhangi bir garanti vermez veya belirli bir tarih aralığındaki etkinlikler genelinde örneklemenin orantılı olduğunu garanti etmez.
Veri örneklemeyi önleme
Bu API bir oturumu basit bir etkinlikler koleksiyonu olarak değerlendirdiğinden, örneklenen kümede hiçbir etkinliği bulunmayan oturumlar yanıtta görünmez. Oturumların veya etkinliklerin kapsamlı bir listesine ihtiyacınız varsa daha kısa tarih aralıklarıyla takip taleplerinde bulunun.
Örneğin, 2018-01-01
ile 2018-12-31
arasında veri isteğinde bulunursanız ve yanıtta örnekleme oranının 0.25
olduğu belirtiliyorsa, istenen tarih aralığını 4 bölüme ayırın. Böylece her bölüm, orijinal verilerin yaklaşık dörtte birini içerir:
2018-01-01
-2018-03-31
2018-04-01
-2018-06-30
2018-07-01
-2018-09-30
2018-10-01
-2018-12-31