Google Analytics Admin API v1, aşağıdakini kullanarak verilere erişmenize olanak tanır:
runAccessReport
yöntemidir. Rapor, bir kullanıcının Google Analytics'i her okuduğunda kaydedilen kayıtları sunar.
raporlama verileri. Erişim kayıtları 2 yıla kadar saklanır. Veri Erişimi
raporlar yalnızca Yönetici rolüne sahip kullanıcılar tarafından kullanılabilir.
Veri Erişimi Raporu Oluşturma
Veri erişimi raporları runAccessReport yöntemini kullanın.
Temel Raporlarda Paylaşılan Özellikler
Veri Erişimi rapor istekleri, Temel rapor ile aynı anlama sahip isteklerinde bulunabilir. Örneğin: Sayfaları numaralandırma, Boyut Filtreleri, Tarih Aralıkları spesifikasyonu aynı davranıyor "Temel Raporlar" olarak sunulur.
Google Analytics 4'teki Temel Raporlama işlevine Data API v1, Doküman, Veri Erişimi rapor isteklerine özgü özelliklere odaklanacaktır.
Rapor Eden Tüzel Kişi Seçme
Temel raporlamaya benzer
işlevlerinin
Veri API'si v1, runAccessReport
Google Analytics Admin API v1'in yöntemi, Google Analytics
için belirtilen işletme tanımlayıcısının
properties/GA_PROPERTY_ID
biçiminde bir URL istek yolu, örneğin:
POST https://analyticsadmin.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runAccessReport
Elde edilen veri erişimi raporu, Google Analytics temel alınarak oluşturulur Belirtilen Google Analytics mülküne ait veri erişim kayıtları.
Admin API istemci kitaplıklarından birini kullanıyorsanız:
İstek URL'si yolunu manuel olarak değiştirmeye gerek yoktur. Çoğu API istemcisi
şu biçimde bir dize bekleyen bir property
parametresi sağlayın:
properties/GA_PROPERTY_ID
. Kod snippet'ini görmek için
istemci kitaplıklarını kullanmaya ilişkin bir örnek için bu kılavuzun sonuna bakın.
Boyutlar ve Metrikler
Boyutlar
Mülkünüzün erişim verilerini açıklama ve gruplandırma. Örneğin,
userEmail
, raporlama verilerine erişen kullanıcının e-posta adresini belirtir.
Rapor yanıtlarındaki boyut değerleri dizedir.
Metrikler
bir raporun nicel ölçümlerini temsil eder. accessCount
metriği
veri erişim kayıtlarının toplam sayısını döndürür.
Boyutların ve boyutların tam listesi için Veri Erişim Şeması'na bakın Veri erişim raporu isteklerinde kullanılabilen metrik adları.
Veri Erişim Raporu İsteği
Veri erişimi raporları istemek için bir RunAccessReportRequest nesnesi oluşturun. Biz şu istek parametreleriyle başlamanızı öneririz:
- tarihinde en az bir geçerli giriş aralıklar girin.
- boyutlar girin.
epochTimeMicros
boyutu kullanmıyorsanız "the" metrikler her bir kombinasyon için nicel verileri almak üzere raporlayabilirsiniz.
Aşağıda, önerilen alanları içeren bir istek örneği verilmiştir. Bu sorgu, kullanıcı e-postalarının listesi, belirtilen mülke en son eriştiği zaman erişim izni veriyorsunuz.
HTTP
POST https://analyticsadmin.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runAccessReport
{
"dateRanges": [
{
"startDate": "7daysAgo",
"endDate": "today"
}
],
"dimensions": [
{
"dimensionName": "mostRecentAccessEpochTimeMicros"
},
{
"dimensionName": "userEmail"
}
],
"metrics": [
{
"metricName": "accessCount"
}
]
}
Yanıtı Bildir
Kavram olarak Temel raporlamaya benzer
işlevleriyle ilgili daha fazla bilgi edinin.
Veri Erişimi Raporu
Yanıtı
erişim raporu isteği temel olarak bir başlık ve satırlardan oluşur. Başlık şunlardan oluşur:
AccessDimensionHeaders
ve
AccessMetricHeaders
Rapordaki sütunları listeleyen bir kampanya oluşturun.
Her bir erişim raporu
satır şunlardan oluşur:
AccessDimensionValues
ve
AccessMetricValues
. Sütunların sıralaması tutarlıdır
istek, başlık ve satır olabilir.
Aşağıda, önceki örnek istek için örnek bir yanıt verilmiştir:
{
"dimensionHeaders": [
{
"dimensionName": "mostRecentAccessEpochTimeMicros"
},
{
"dimensionName": "userEmail"
}
],
"metricHeaders": [
{
"metricName": "accessCount"
}
],
"rows": [
{
"dimensionValues": [
{
"value": "1667591408427733"
},
{
"value": "Bola@example.net"
}
],
"metricValues": [
{
"value": "1238"
}
]
},
{
"dimensionValues": [
{
"value": "1667710959827161"
},
{
"value": "Alex@example.net"
}
],
"metricValues": [
{
"value": "475"
}
]
},
{
"dimensionValues": [
{
"value": "1667868650762743"
},
{
"value": "Mahan@example.net"
}
],
"metricValues": [
{
"value": "96"
}
]
}
],
"rowCount": 3
}
Erişim Kayıtlarını Filtreleme
Şunu kullanın: dimensionFilter alanının RunAccessReportRequest boyutla eşleşen belirli boyut değerleriyle kısıtlamak için filtresini uygulayabilirsiniz.
Aşağıdaki örnek, bağımsız veri erişimine dayalı bir rapor oluşturur
kayıtları, e-posta adresi olan tek bir kullanıcının erişim kayıtlarını filtreleyerek
Alex@example.net
Bu rapor, her erişim kaydının zamanını, kullanıcının
e-posta ve IP adresi.
HTTP
POST https://analyticsadmin.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runAccessReport
{
"dateRanges": [
{
"startDate": "7daysAgo",
"endDate": "today"
}
],
"dimensions": [
{
"dimensionName": "epochTimeMicros"
},
{
"dimensionName": "userEmail"
},
{
"dimensionName": "userIP"
}
],
"dimensionFilter": {
"accessFilter": {
"fieldName": "userEmail",
"stringFilter": {
"matchType": "EXACT",
"value": "Alex@example.net"
}
}
}
}
Aynı şekilde,
metricFilter
alanının
RunAccessReportRequest
nesne, rapor yanıtını belirli metrik değerleriyle kısıtlamak için kullanılabilir.
filtreyle eşleşiyor.
Aşağıdaki örnekte, belirtilen mülke 100'den fazla kez erişen tüm kullanıcılar.
HTTP
{
"dateRanges": [
{
"startDate": "7daysAgo",
"endDate": "today"
}
],
"dimensions": [
{
"dimensionName": "userEmail"
}
],
"metricFilter": {
"accessFilter": {
"numericFilter": {
"operation": "GREATER_THAN",
"value": {
"int64Value": 100
}
},
"fieldName": "accessCount"
}
},
"metrics": [
{
"metricName": "accessCount"
}
]
}
Örnek raporlar
Deneyebileceğiniz bazı örnek raporlar aşağıda verilmiştir.
Kullanıcı Başına En Son Erişim Raporu
runAccessReport
kullanılarak oluşturulabilecek aşağıdaki örnek erişim raporu:
En Son Erişim Dönemi Zaman Mikro Değeri | Kullanıcı E-postası | Erişim Sayısı |
---|---|---|
1525220215025371 | Bola@example.net | 5 |
1525220215028361 | Alex@example.net | 36 |
1525220215027671 | Charlie@example.net | 1153 |
1525220215027341 | Mahan@example.net | 1 |
Bu rapor,
boyutlar mostRecentAccessEpochTimeMicros
,
userEmail
ve accessCount
metriği. İlgili içeriği oluşturmak için kullanılan
rapor her kullanıcı için bir satır içeriyor: mostRecentAccessEpochTimeMicros
boyut, mülke erişen her kullanıcıya ait veri erişim kayıtlarını toplar
ve son erişim zamanını döndürür (
epoch) kaldırın.
Kullanıcı Erişimi Döküm Raporu
Faydalı bir rapora başka bir örnek, Erişime göre kullanıcı erişimlerinin dökümüdür Mekanizma (ör. Google Analytics Kullanıcı Arayüzü, API vb.)
En Son Erişim Dönemi Zaman Mikro Değeri | Kullanıcı E-postası | Erişim Mekanizması | Erişim Sayısı |
---|---|---|---|
1525220215028367 | Alex@example.net | Firebase | 31 |
1525220215555778 | Alex@example.net | Google Analytics Kullanıcı Arayüzü | 1 |
1525220215022378 | Bola@example.net | Google Analytics Kullanıcı Arayüzü | 65 |
1525220215026389 | Bola@example.net | Google Analytics API'sı | 894 |
1525220215025631 | Charlie@example.net | Google Analytics API'sı | 67 |
1525220215068325 | Mahan@example.net | Google Ads | 3 |
Bu rapor,
boyutlar mostRecentAccessEpochTimeMicros
,
userEmail
, accessMechanism
ve accessCount
metrik.
Raporda, her bir kullanıcı/erişim mekanizması kombinasyonu için bir satır bulunur. İlgili içeriği oluşturmak için kullanılan
mostRecentAccessEpochTimeMicros
boyutu, kullanıcının en son yaptığı zamandır
Belirtilen Erişim Sistemini kullanarak mülke erişti.
Mülk Erişimine Genel Bakış Raporu
Bir mülk için ayrıntıya inmeden rapor oluşturmak mümkündür elde edebilirsiniz. Örneğin, aşağıdaki raporda bir mülkün ne sıklıkla farklı Erişim Mekanizmaları kullanılarak erişilebilir:
Erişilen Mülk Kimliği | Erişilen Mülk Adı | Erişim Mekanizması | Erişim Sayısı |
---|---|---|---|
12345678 | DemoApp | Firebase | 31 |
12345678 | DemoApp | Google Analytics Kullanıcı Arayüzü | 624 |
12345678 | DemoApp | Google Ads | 83 |
12345678 | DemoApp | Google Analytics API'sı | 1744 |
Bu rapor,
boyutlar accessedPropertyId
,
accessedPropertyName
, accessMechanism
ve accessCount
metrik.
Raporda, her bir mülk kimliği/erişim mekanizması kombinasyonu için bir satır bulunur.
Bireysel Veri Erişimleri Raporu
Her satırın bağımsız veri erişimine dayalı olduğu bir rapor oluşturmak için
kaydı, sorgudan mostRecentAccessEpochTimeMicros
boyutunu çıkarın ve
bunun yerine epochTimeMicros
boyutunu kullanın. Her bir
accessCount
metriğidir. Raporun her satırında bir
tek bir veri erişimi oluşumu.
Aşağıdaki rapor, bir kullanıcının her arama işlemi ile ilgili belirtilen mülke erişti.
Unix Epoch Zaman Mikro Değeri | Kullanıcı E-postası | Erişilen Mülk Kimliği | Erişilen Mülk Adı | Kullanıcının IP Adresi | Erişim Mekanizması | Döndürülen Maliyet Verileri | Döndürülen Gelir Verileri |
---|---|---|---|---|---|---|---|
1525220215025371 | Bola@example.net | 12345678 | DemoApp | 1.2.3.1 | Google Analytics Kullanıcı Arayüzü | true | true |
1525220645645645 | Mahan@example.net | 12345678 | DemoApp | 1.2.3.5 | Google Analytics Kullanıcı Arayüzü | false | false |
1525220211312322 | Bola@example.net | 12345678 | DemoApp | 11.22.33.11 | Google Ads | true | false |
1525220210234221 | Alex@example.net | 12345678 | DemoApp | 11.22.33.22 | Firebase | false | false |
1525220215028368 | Alex@example.net | 12345678 | DemoApp | 1.2.3.2 | Google Ads | false | false |
1525220214234231 | Mahan@example.net | 12345678 | DemoApp | 11.22.33.55 | Google Ads | true | true |
1525220423423452 | Charlie@example.net | 12345678 | DemoApp | 1.2.3.3 | Google Analytics API'sı | true | false |
1525220132312333 | Mahan@example.net | 12345678 | DemoApp | 1.2.3.5 | Google Ads | true | true |
Bu rapor,
boyutlar epochTimeMicros
, userEmail
,
accessedPropertyId
, accessedPropertyName
, userIP
, accessMechanism
,
costDataReturned
, revenueDataReturned
.
İstemci kitaplıkları
Aşağıdakilerle ilgili bir açıklama için Hızlı başlangıç kılavuzuna bakın: istemci kitaplıklarının nasıl yükleneceği ve yapılandırılacağı.
Aşağıda, veri erişim sorgusu çalıştıran Python istemci kitaplığının kullanıldığı bir örnek verilmiştir: ve yanıtı yazdırır.
Python
from datetime import datetime from google.analytics.admin import AnalyticsAdminServiceClient from google.analytics.admin_v1alpha.types import ( AccessDateRange, AccessDimension, AccessMetric, RunAccessReportRequest, ) def run_sample(): """Runs the sample.""" # TODO(developer): Replace this variable with your Google Analytics 4 # property ID (e.g. "123456") before running the sample. property_id = "YOUR-GA4-PROPERTY-ID" run_access_report(property_id) def run_access_report(property_id: str, transport: str = None): """ Runs an access report for a Google Analytics property. The report will aggregate over dimensions `userEmail`, `accessedPropertyId`, `reportType`, `revenueDataReturned`, `costDataReturned`, `userIP`, and return the access count, as well as the most recent access time for each combination. See https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema for the description of each field used in a data access report query. Args: property_id(str): The Google Analytics Property ID. transport(str): The transport to use. For example, "grpc" or "rest". If set to None, a transport is chosen automatically. """ client = AnalyticsAdminServiceClient(transport=transport) request = RunAccessReportRequest( entity=f"properties/{property_id}", dimensions=[ AccessDimension(dimension_name="userEmail"), AccessDimension(dimension_name="accessedPropertyId"), AccessDimension(dimension_name="reportType"), AccessDimension(dimension_name="revenueDataReturned"), AccessDimension(dimension_name="costDataReturned"), AccessDimension(dimension_name="userIP"), AccessDimension(dimension_name="mostRecentAccessEpochTimeMicros"), ], metrics=[AccessMetric(metric_name="accessCount")], date_ranges=[AccessDateRange(start_date="yesterday", end_date="today")], ) access_report = client.run_access_report(request) print("Result:") print_access_report(access_report) def print_access_report(response): """Prints the access report.""" print(f"{response.row_count} rows received") for dimensionHeader in response.dimension_headers: print(f"Dimension header name: {dimensionHeader.dimension_name}") for metricHeader in response.metric_headers: print(f"Metric header name: {metricHeader.metric_name})") for rowIdx, row in enumerate(response.rows): print(f"\nRow {rowIdx}") for i, dimension_value in enumerate(row.dimension_values): dimension_name = response.dimension_headers[i].dimension_name if dimension_name.endswith("Micros"): # Convert microseconds since Unix Epoch to datetime object. dimension_value_formatted = datetime.utcfromtimestamp( int(dimension_value.value) / 1000000 ) else: dimension_value_formatted = dimension_value.value print(f"{dimension_name}: {dimension_value_formatted}") for i, metric_value in enumerate(row.metric_values): metric_name = response.metric_headers[i].metric_name print(f"{metric_name}: {metric_value.value}")