如何设置Google Analytics可以阅读的自定义用户代理

问题描述 投票:0回答:2

我想为嵌入我网站的webview应用程序设置自定义用户代理。我可以设置这样的自定义代理(“我的应用Android”)。问题是,Google Analytics(分析)会将此流量的流量读取为此代理的桌面,而非常规网络浏览。设置自定义用户代理的最佳方法是什么,同时仍然保留移动设备和设备操作系统等数据,因此Google Analytics等工具仍然可以读取它。

google-analytics user-agent
2个回答
1
投票

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

  • 处理在服务器端(Google)完成,因此无法直接修改该数据(即使在sending data via the measurement protocol时)。
  • Google不会披露处理细节,因此您不会知道实验的结果,直到Google Analytics报告这些结果(由于24-48 hour data processing latency可能会使此类实验变得单调乏味)。
  • 尝试操纵它可能会“破坏”你的分析:谷歌对此很模糊,they just say"Google has libraries to identify real user agents. Hand crafting your own agent could break at any time"。我可以想到的2个后果:如果无法解析用户代理或者将其标记为机器人/蜘蛛流量(也将是dropped if you have enabled the bot filtering option),谷歌只会丢弃流量。

虽然文档中没有提到,但我也怀疑Google依赖其他数据点,这可能是:

我找不到关于这个主题的更多细节,我认为你不会从Google那里找到更多细节来解释他们用来计算浏览器/设备的内容,因为他们不想让人们搞砸它(类比:你不会找到有关哪些数据点用于SEO的详细信息,因为他们不希望人们搞乱它)。我列出的4个维度(用户代理,屏幕分辨率,Java支持,Flash版本),据我所知,所有GA收集中仅有4个特定于设备(其他来自它们):https://developers.google.com/analytics/devguides/reporting/core/dimsmets#view=detail&group=platform_or_device


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 Mobile Safari / 537.36 [Custom App / 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>   

这对我来说很好。我可以从特定的网络视图应用中定位用户,同时可以在Google Analytics中将流量与不同的网页视图分开。

© www.soinside.com 2019 - 2024. All rights reserved.