Google Analytics iOS SDK 1-секундные сеансы (возможно, фоновые сеансы?)

Google Analytics (с использованием iOS SDK версии 3.14 и встроенным отслеживанием сеансов) сообщает о значительном проценте сеансов приложений как о 1 секунде.

Возможно, пользователи запускают приложение, чтобы просмотреть страницу, и (фактически) затем мгновенно покидают приложение, но это маловероятно (что оно должно оставаться основным вариантом использования. Вы думаете, что такие пользователи перестанут использовать или удалить.)

Первоначально я подозревал, что это связано с «фоновой выборкой», но когда я смотрю на предыдущее воплощение приложения (в котором фоновая выборка не была включена или не использовалась), я все еще вижу эти (на первый взгляд) фиктивные сеансы. В этом приложении (до iOS9) не было универсальных ссылок.

введите здесь описание изображения

(Очевидная) причина, по которой я не хочу видеть эти сеансы (особенно если это автоматизированное действие, а не действие пользователя), заключается в том, что он удаляет все значение «поведения пользователя»; то есть лояльность, недавность и искажает «среднюю продолжительность сеанса». Это основные причины, по которым я хочу использовать GA, то есть посмотреть, используют ли люди его больше/ценят ли его больше.

Мои вопросы:

  • Чем могут быть вызваны эти сеансы? Они поддельные?
  • Если подделка, как я могу остановить их?
  • Могу ли я гарантировать, что новый код «фоновой выборки» не вызовет их каким-либо образом?

Некоторые вещи, которые я рассмотрел / изучил:

  • Я вижу такой же большой набор «коротких сеансов» в приложении Android (аналог этого приложения) и снова с чрезвычайно высокими числами. Мне было интересно, было ли это результатом веб-поиска и ссылок на сайты, причем эти ссылки на сайты автоматически загружали приложение, а (очень) быстрый пользователь «двигался дальше». (Универсальное связывание — это то, над чем работает новое приложение для iOS, но пока не видит многого.) Учитывая, что это не так на iOS, я начинаю сомневаться, что это так на Android.
  • В GA есть опция «optOut». Это похоже на кувалдное решение этой проблемы с грецким орехом. Это также постоянная настройка, которую опасно использовать в переходной ситуации. Я мог бы попытаться переключить его в applicationDidEnterBackground / applicationDidBecomeActive (и сделаю это, если это будет сочтено решением), но беспокоюсь, что это может иметь негативные побочные эффекты.
  • Трекеров может быть несколько. Я планирую попробовать один для активности человека на переднем плане и один для фоновых операций (что может позволить отслеживать время/событие в фоновом режиме, не влияя на номера отслеживания пользователей-людей. Тем не менее, я не знаю / считаю, что это причина фальшивых сессий.)
  • Можно управлять сеансами вручную, а также настраивать время ожидания интервала между сеансами, но я не понимаю, зачем этому приложению нужно какое-то специальное поведение. Это обычное приложение.
  • Приложение не сообщает общее количество сбоев, соответствующее этим числам; это, как правило, популярное приложение с 4/5 звездами и несколькими сбоями.

person Adam Jack    schedule 12.06.2016    source источник


Ответы (2)


Google Analytics измеряет продолжительность как время между взаимодействиями.

Это означает, что для измерения продолжительности Google Analytics требуется как минимум два взаимодействия для измерения между ними. Но им по-прежнему необходимо собирать данные о сеансах с одним взаимодействием, и с точки зрения отчетности каждый сеанс начинается одинаково — с взаимодействия. Просто некоторые дальше не идут. Чтобы учесть это, Google Analytics ведет подсчет продолжительности сеанса.

  • Когда пользователь взаимодействует впервые, эта сумма устанавливается равной 0.
  • Через 31 секунду они снова взаимодействуют. Это общее количество обновлено до 31 секунды.
  • Через 10 секунд они взаимодействуют в третий раз. Итого теперь 41 секунда.
  • Через 35 секунд они ушли. Это не поддается измерению и, следовательно, не является взаимодействием. Google Analytics добросовестно ждет 30 минут, прежде чем решить, что они больше не вернутся.

Общая продолжительность вашего сеанса записывается как 41 секунда, так как это был последний момент, когда вы зарегистрировались. Нет никакого способа узнать, что вы задержались еще на 35 секунд.

Это не проблема, если вы просмотрели 4 или 5 страниц, но если бы вы просмотрели только 1 страницу, у нас осталась бы продолжительность сеанса, равная 0. Это то, что происходит с каждым «отказом»; каждая сессия с одним взаимодействием измеряется как 0 секунд.

Добавьте к этому горстку людей, которые взаимодействовали через 8 или 9 секунд, и вы получите в среднем 1 секунду для категории «0–10».

person J Brazier    schedule 13.06.2016
comment
Спасибо @j-brezier. Я мог бы понять это для веб-страниц, но как SDK внутри iOS у него есть широкие возможности для обнаружения соответствующих событий окончания сеанса (переход в фоновый режим, завершение приложения и т. д.). Это был бы способ получить дополнительные 35 секунд. Кроме того, среднее значение составляет 1,86 экрана за сеанс, так что это не соответствует продолжительности сеанса 00:00:01 и вашей теории только об одном экране. Я просто не понимаю, как четверть миллиона человек открыли приложение и закрыли его после одного экрана (это не приложение для одного экрана). - person Adam Jack; 23.06.2016

Оказывается, проблема была внутри SDK Google Analytics. Выложена новая версия:

[Google Analytics SDK issue with short sessions][1]
person Adam Jack    schedule 18.08.2016
comment
Есть ли какие-либо примечания к выпуску, в которых говорится об этом? Не могу найти ничего, говорящего о том, что в SDK возникла проблема или она была исправлена. - person iOSDev; 21.10.2016
comment
@asdfassdf - извините за задержку. Лучшее, что я могу предложить, это: code.google.com/p/ Analytics-issues/issues/detail?id=1003 - person Adam Jack; 29.11.2016