首先,我通常认为这种阻止是“隐私”阻止而不是广告。所以,而不是Adblock它更可能是Ghostery或uBlock起源。尽管大多数网站使用的分析都是良性的(提高了转换率,捕捉浏览器异常等),但许多人担心的是它允许第三方分析网站(包括细分市场等)在多个网站上跟踪用户。现在大多数这些分析网站都是也不感兴趣,但比对不起更安全?
希望对所有webapp使用情况进行分析的道德规范比“隐私好,跟踪不好”的细微差别更大,我不认为这是它的论坛,所以我会为您提供技术答案。请注意,您不想“追踪广告拦截用户”的声明并不真正有效。如果您的目标是收集关于它们的分析,那还是基本上是跟踪。否则,只需使用托管解决方案,并意识到可能有10-20%的用户不会为您提供分析。
坏消息:基本上每个“托管”分析解决方案已经或将会位于阻止列表中。他们的API主机不仅被直接阻止,还会根据您尝试包含的JS文件的名称放置块。
好消息:如果您通过自己的API中继事件,则可以解决此问题,并且您可能已经使用的AWS API Gateway对此非常合适。
有多个步骤。
步骤1:分析提供程序需要提供完全捆绑/构建的JS文件的选项。如果他们要求你从他们自己的服务器动态地提取脚本,那么它会在下载之前被阻塞。
第2步:重命名绑定的脚本,以便它不触发任何基于文件名的块,例如,从mixpanel.umd.js
重命名为mp.js
,并将其添加到您的服务器。
第3步:创建一个API网关以将事件中继到“正确的”API(例如,转发给api.analyticshost.com)。如果您通过正确的标题和URL参数传递,您实际上可以仅使用AWS API网关(不需要lambda)。
步骤4:初始化库以使用您的API主机而不是默认的主机。
这样做的结果是(a)浏览器不再需要从分析提供程序的CDN动态获取分析结果,而是从服务器获取分析结果,并且(b)浏览器将其发送到您的API,然后转发直至分析提供者。
如果有人不想被追踪,不要试图解决它。您不仅会损害您的用户的信任,而且由于用户掌控着客户端系统,因此总会有阻止追踪的方法。 –
谢谢。不过,我担心的是,用户为了不被追踪,将会禁止我跟踪其他事物的能力,例如错误或分析不会附加到用户的身份。简单的答案是使用单独的库来处理与非身份有关的事情,但我希望有一种方法可以像段一样使用一体化功能,而不是使用adblock hamstring所有事件跟踪,身份相关或不。 – Brandon