如何设置Google Analytics(分析)可以读取的自定义用户代理

时间:2018-09-13 21:27:39

标签: google-analytics user-agent

我想为嵌入我的网站的Webview应用程序设置自定义用户代理。我可以设置一个这样的自定义代理(“我的Android应用”)。 问题在于,Google Analytics(分析)将该代理的流量读取为桌面,而不是像常规Webview一样移动。 在设置自定义用户代理的同时仍保留移动数据和Device OS等数据的最佳方法是什么,以便Google Analytics(分析)之类的工具仍可以读取它。

2 个答案:

答案 0 :(得分:1)

您可以操纵用户代理,但无法控制Google如何解释生成的设备/操作系统

  • 处理是在服务器端完成的(Google),因此无法直接修改该数据(即使在sending data via the measurement protocol时也是如此)。

  • Google不会披露处理细节,因此您不会知道实验的结果是什么,直到Google Analytics(分析)报告了这些结果为止(由于{{3 }}可能会使这样的实验变得乏味。

  • 尝试对其进行操作可能会“破坏”您的分析:Google对此表示怀疑,24-48 hour data processing latency"Google has libraries to identify real user agents. Hand crafting your own agent could break at any time"。我能想到的2个后果:如果Google无法解析用户代理或将其标记为漫游器/蜘蛛流量(也将是they just say),它只会丢弃流量。

尽管文档中未提及,但我也怀疑Google依赖其他数据点,可能是:

我找不到关于该主题的更多详细信息,并且我认为您不会从Google找到更多详细信息来解释他们用于计算浏览器/设备的内容,因为他们不想让人们弄乱它(类比:您不会找到有关用于SEO的数据点的详细信息,因为它们不希望人们弄乱它。据我所知,我列出的4个维度(用户代理,屏幕分辨率,Java支持,Flash版本)是所有GA集合中唯一特定于设备的4个维度(其他维度是从这些集合中得出的): Flash version

答案 1 :(得分:0)

就像 MAX的答案一样,在保留所有属性(如OS和渲染引擎等)的同时操作用户代理非常困难。

与此同时,我仍然想使用自定义用户代理来定位我的应用用户,并能够将流量与该Webview应用分开。

这是我做的:

1-设置自定义用户代理

我没有将整个用户代理替换为自定义代理,而是将其附加到用户代理 [AppID / AppVersion] ,从此博客中找到了很多有用的信息:Webviews and User-Agent strings

现在用户代理看起来像这样:

  

Mozilla / 5.0(Linux; Android 9; wv)   AppleWebKit / 537.36(KHTML,像Gecko)版本/4.0 Chrome / 68.0.3440.91   移动Safari / 537.36 [自定义应用/1.0.1]

检查:Correct way to format user-agent string in an Android WebView App?

2-在Google Analytics(分析)中设置自定义维度

由于Google Analytics(分析)会将来自该代理的所有浏览器有价值的访问都标记为Android Webview,因此我分配了一个自定义维度,以便能够识别 自定义用户代理 会话并为其创建一个 单独视图

在使用 PHP 的后端中,我根据用户代理设置维的值。

<script>
<?php
  if(strpos($_SERVER['HTTP_USER_AGENT'], 'Custom user agent here')!==false)
  {
     $customAgent_value = 'your agent';
  }
?>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-', {
  'custom_map': {'dimension1': 'custom_agent'}
  });
gtag('event', 'custom_agent_event', {'custom_agent': '<?= $customAgent_value;?>'}); 
</script>   

现在对我来说很好。我可以通过特定的Webview应用程序定位用户,同时可以将流量与Google Analytics(分析)中不同Webview的流量分开。