为什么我的用户在过去的点击中改变了自定义维度?

时间:2016-03-15 13:19:15

标签: javascript cookies google-analytics analytics google-tag-manager

用户范围的自定义维度是否应该针对过去的匹配进行更改?例如,我有一个PromoCode的自定义维度,它跟踪用户来到网站的促销代码(即:通过广告/优惠)。我在Tag Manager中设置了维度,如下所示:

Google Analytics网页浏览代码(自定义尺寸部分):

Index    Dimension Value
2        {{ValidPromoCode}}

变量:{{varPromoCode}}

Type: URL
Component Type: Query
Query Key: promocode

然后我在实际站点中有一些javascript来获取promocode并将其设置为在{{ValidPromoCode}} var中检查的cookie - 因此它会检查URL中的promocode,如果它在那里它会更改维度值,否则它使用cookie值:

function() {
    //parse promocode value from cookie string
    var promoCode = document.cookie.substring( document.cookie.indexOf("promocode=") + 10, document.cookie.indexOf( ";", document.cookie.indexOf("promocode=") + 10 ) );
    if( typeof {{varPromoCode}} == "undefined" ) {
        if ( document.cookie.indexOf("promocode") >= 0 ) {
            return promoCode;
        } else {
            return null;
        }
    } else {
        //docs say a query var will return the full querystring if the parameter
        //is not found, from my experience it returns undefined. 
        //simple check for querystring here anyway (if it has = its a querystring)
        if ( {{varPromoCode}}.indexOf("=") == -1 ) {
            return {{varPromoCode}};
        } else {
            return null;
        }
    }
}

这一切都按预期工作。使用标记管理器调试和Google Analytics分析调试程序,在发送匹配项时,会在所有方案中设置正确的值。 (即:更改promocode,删除cookie,没有promocode等)。

问题是(也许这不是问题,而是一个功能)......当我使用一个promocode时,说TEST16然后我做一些网页浏览,触发一些事件然后在几分钟内检查分析稍后,我的网页浏览量/事件附加了TEST16 promocode ...但是,如果我然后将promocode更改为T35T16并进行一些不同的网页浏览/事件...然后检查分析a几分钟后,第一个代码TEST16无处可见,我现在点击的页面/事件显示T35T16 promocode ......

这是用户范围应该如何工作?我认为没有任何分析数据/变化及时传播?

我希望promocode能无限期地关注用户,但如果我更改了值(即:他们点击了一则新广告),我也希望它能够更改,而不会影响他们过去的点击/促销价值。

我应该使用会话范围吗?或者我应该以某种方式改变我的实现?

1 个答案:

答案 0 :(得分:1)

历史数据一经处理就无法更改。用户范围的值仅适用于当前和未来的命中。例如,如果您的用户范围维度为"logged in or not"(值为truefalse),那么如果一个会话的最后一个值为false,那么这将是整个会议CD的价值。在下一个会话中,该值再次为false,因为它适用于未来的匹配。如果最终值更改为true,则表示整个会话应用于该CD的内容。所以你所看到的只是那个特定会话的价值在变化。

[比照https://support.google.com/analytics/answer/2709828?hl=en&ref_topic=2709827#processing]