User Activity API

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:

  1. Kullanıcıyla ilişkilendirilen Client-ID veya User-ID

  2. 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.
  3. 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:

TarihOturum KimliğiEtkinlik EtiketiSaat
1. Sayfa:
2018-11-231CEVAP10:26
2018-11-231B10:32
2018-11-231C10:39
2018-11-232CEVAP18:04
2018-11-232B18:11
2. Sayfa:
2018-11-232C18:26
2018-11-243CEVAP11:26
2018-11-243B11:29
2018-11-243C11:39
2018-11-243D11:42
3. Sayfa:
2018-11-244CEVAP23:50
2018-11-244B23:54
2018-11-255C00:02
2018-11-255D00:13
2018-11-256CEVAP13:01
4. Sayfa:
2018-11-256B13:09
2018-11-256C13:12
2018-11-256D13: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