【问题标题】:Google Analytics: Change userID at runtime in a SPAGoogle Analytics:在 SPA 中运行时更改用户 ID
【发布时间】:2014-09-22 02:40:43
【问题描述】:

documentation 表示 userId 必须这样设置:

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

但在单页应用程序 (SPA) 中,用户以匿名身份启动然后登录。因此应用程序将以以下方式启动:

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

当他登录时,我想更改为特定 ID 以跟踪该用户,但是当我尝试时:

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

什么都没有发生,用户 ID 不会出现在后续请求中。

在运行时设置 userId 的正确方法是什么?

谢谢。

【问题讨论】:

    标签: google-analytics analytics web-analytics universal-analytics


    【解决方案1】:

    很遗憾,文档目前不正确。 可以create 方法之外设置用户ID。

    您的示例不起作用的原因是您调用了两次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 相关联。

    更新:

    user ID documentation 现在反映它可以在create 方法之外设置。

    【讨论】:

    • 虽然 可以在 create 方法之外设置它,但我不推荐它。把它写成ga('create', 'UA-XXXX-Y', 'auto', {userID: 'USER ID'});
    • @MisterPhilip 您的建议在这里不起作用,因为 OP 在创建时不知道用户 ID。
    • 是的,只是注意到从长远来看,set 方法可能会或可能不会按预期工作。
    • @MisterPhilip 使用setuserId 得到官方支持。
    猜你喜欢
    • 2017-01-07
    • 1970-01-01
    • 2023-02-14
    • 2018-01-15
    • 2014-08-14
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多