Google Analytics: изменение идентификатора пользователя во время выполнения в СПА

на документация указывает, что идентификатор пользователя должен быть установлен следующим образом:

ga('create', 'UA-XXXX-Y', { 'userId': 'USER_ID' });

но в одностраничном приложении (SPA) пользователь запускается как анонимный, а затем входит в систему. Таким образом, приложение начнется с:

ga('create', 'UA-XXXX-Y', 'auto');

и когда он входит в систему, я хотел бы изменить на конкретный идентификатор для отслеживания этого пользователя, но когда я пытаюсь:

ga('create', 'UA-XXXX-Y', { 'userId': 'USER_ID' });

ничего не происходит, идентификатор пользователя не появляется в последующих запросах.

который является правильный способ установки userId во время выполнения?

спасибо.

1 ответов


к сожалению, документация в настоящее время некорректно. Это is можно установить идентификатор пользователя вне create метод.

причина, по которой ваш пример не работает, заключается в том, что вы вызываете create два раза. Что вы хотите сделать, это позвонить set. Вот как:

// Create the tracker instance.
ga('create', 'UA-XXXX-Y', 'auto');

// Once you know the user ID, set it on the current tracker.
ga('set', { userId: USER_ID });

теперь все последующие хиты, отправленные в GA, будут связаны с этим идентификатором пользователя.

обновление:

на документация ID пользователя теперь отражает, что он может быть установлен вне create метод.