У меня уже некоторое время работает API отчетов аналитики, и нефильтрованные результаты просмотра API соответствуют веб-отчетам.Проблема, которую я вижу, заключается в добавлении сегмента в запрос отчета API.Веб-отчеты часто возвращают значения, отличные от API, для нескольких комбинаций сегмент / view_id.Я ищу рекомендуемые параметры, чтобы просмотреть здесь, чтобы понять, что вызывает несоответствие, так как я не уверен, является ли это проблемой программного кода / API, проблемой веб-отчетов или конфигурацией для сегмента / view_id.
Примечания:
- Если указано неверное значение, то, по-видимому, номера веб-отчетов для сеансов в среднем на 10% выше, чем возвращает API
- Один сегмент применяется ко многим view_idsмы управляем, и высокий процент (~ 80%) показывает несоответствие, совпадение остатков.
- даты изменения и создания для этого сегмента 5 месяцев для каждого веб-интерфейса, что означает, что нет изменений конфигурациивнутри сегмента, вызывающего расхождение
- , мы сравнили с начала года 2018 года, чтобы исключить обновление данных с задержкой во времени как проблему.
- сегменты, по-видимому, связаны с уровнем нашей основной учетной записи и применяются к учетным записяммы управляем.
- в настоящее время используем v4 API-интерфейса аналитики для .Net (C #)
Current Questions:
- Может ли это быть настройкой того, как был создан конкретный сегмент?
- Почему некоторые сегменты / view_ids совпадают, а другие нет?
- Есть лиразрешение учетной записи, свойства или view_id / параметр конфигурации для проверки применительно к применению сегментов?
Будет полезна любая помощь или советы о том, что проверять здесь.
Забыли фрагмент кода:
var segmentDimension = new Dimension { Name = "ga:segment" };
var DefaultReportRequest = new ReportRequest
{
DateRanges = new List<DateRange> { dateRange },
Dimensions = new List<Dimension> { date, SourceMedium, Campaign, AdContent, Keyword },
Metrics = new List<Metric> { sessions, Users, NewUsers, Bounces, pageViews, SessionDuration, Goal01Completion, Goal02Completion, Goal03Completion, Goal04Completion },
ViewId = v_id,
PageSize = 10000
};
if (!(segmentId == ""))
{
DefaultReportRequest.Dimensions.Add(segmentDimension);
Google.Apis.AnalyticsReporting.v4.Data.Segment segment = new Google.Apis.AnalyticsReporting.v4.Data.Segment() { SegmentId = segmentId };
DefaultReportRequest.Segments = new List<Google.Apis.AnalyticsReporting.v4.Data.Segment> { segment };
};
var getReportsRequest5 = new GetReportsRequest
{
ReportRequests = new List<ReportRequest> { DefaultReportRequest }
};
var batchRequest5 = reportingService.Reports.BatchGet(getReportsRequest5);
var response5 = batchRequest5.Execute();
Заранее спасибо за помощь, Майк
Обновление 2:
После дальнейшего изучения этого вызова API всегда тянет один день данных "Вчера"».Веб-отчеты при получении данных в тот конкретный день совпадают.Если веб-отчет тянет временной интервал данных за эти конкретные даты (например, +/- 3 дня), числа больше не совпадают.Кажется, что здесь может быть использована выборка, но веб-отчеты, которые мы запускаем, указывают на 100% сеансов в обоих пуллах.Я думаю, что вопрос заключается в том, как определить, какие данные являются более точными за один день или временной диапазон.Кто-нибудь исследовал это, я воспроизвел его на нескольких наших view_ids.
Спасибо, Майк
Обновление 3 (rseolution):
Оказывается, проблема была в том, каксегмент был создан и применяется для веб-отчетности.Сегмент был сфокусирован на уровне пользователя, то есть агрегированные значения будут меняться в зависимости от выбранного периода времени.В желаемом состоянии фильтры применялись к одному дню, что делало фокус на сеанс лучше, чем на пользователя, поскольку оно содержало сегмент к сеансу.
Спасибо всем, Майк