我试图寻找一种方法来分析视网膜显示器与正常显示器的转化率,但我找不到正确的变量来检查设备是否使用视网膜显示器。我在许多论坛中搜索过,这些帖子要么太旧(自 2010 年以来),要么由于 GTM 的变化而过时。有谁知道是否可以在GTM中跟踪设备分辨率?
如果您要回答链接,请确保您阅读了解决方案的整个描述,因为我已经经历了许多,并且由于我之前提到的原因,它们都被证明是错误的或无法实现的。
我找到了这个答案,但不幸的是,最后一条评论说它停止工作。
GTM 本身不测量任何东西,但您可以使用任何可以通过 JavaScript 获得的值。
我发现检测视网膜显示器的一个建议是使用devicepixelratio,其中显然等于或高于2的比率表明视网膜显示器。 devicepixelratio在IE上不起作用(虽然适用于Edge),但这里有一个指向建议的polyfill的链接。
因此,如果您在 GTM 中创建自定义 JS 变量,您可以使用它(我承认我自己没有测试过它,但它似乎适用于其他人)。
Google Analytics(分析)会跟踪屏幕分辨率 - 您可以在自定义报告中访问屏幕分辨率,将其作为次要维度访问,或者导航到:受众>技术>浏览器和操作系统>屏幕分辨率(屏幕分辨率是图表下方的可选主要维度)。
此图表为您提供了目标转化率,但如果您愿意,还可以创建一个具有您喜欢的分辨率的细分,以及另一个具有其他分辨率的细分,并在任何其他报告中比较两者。
但是,"视网膜显示屏"是苹果公司使用的营销术语(实际上是他们的注册商标)。虽然这个术语确实有意义,但像素密度比人类视网膜能够观察到的要高,但你会发现他们对它的使用各不相同,因为你需要在离脸部不同的距离处拿着不同的设备。因此,"视网膜"iPhone的像素密度预计将高于"视网膜"iPad。
您还可以更改函数以使用 dpi 而不是 devicePixelRatio 来使用匹配媒体和分辨率,以检测它是否是视网膜:
创建自定义 JavaScript 变量,pixel_ratio
:
function () {
//Configure resolutions here, will return value of ratio:
var pixel_ratio = [
{'pixel_ratio': 'all', 'ratio': 1},
{'pixel_ratio': '(min-resolution: 144dpi)', 'ratio': 1.5},
{'pixel_ratio': '(min-resolution: 192dpi)', 'ratio': 2}
];
var result;
pixel_ratio.forEach(function (element) {
var ratio = 1;
//If browser support matchMedia, use it
if (window.matchMedia) {
// return current media query
if (window.matchMedia(element.pixel_ratio).matches) {
result = element.ratio;
}
} else { //matchMedia not supported
if (window.screen.systemXDPI !== undefined
&& window.screen.logicalXDPI !== undefined
&& window.screen.systemXDPI > window.screen.logicalXDPI) {
// Only allow for values > 1
ratio = window.screen.systemXDPI / window.screen.logicalXDPI;
} else if (window.devicePixelRatio !== undefined) {
ratio = window.devicePixelRatio;
}
if (element.ratio === (Math.round(ratio * 100) / 100)) {
result = element.ratio;
}
}
});
return result + 'x';
}
在 GA 中为pixel_ratio
创建自定义维度。选择范围为"命中"。记下每个维度的索引值。在 GTM 中,在基本 GA 网页浏览代码中配置自定义维度,使其与 GA 中的维度索引值相匹配。