标签: segment-io

文档Analytics.js Segment.io

Segment.io的人员在构建analytics.js方面做得非常出色,可以通过一个开源的JavaScript库轻松加载大量的javascript片段(Intercom,GA,Kissmetrics等).

存储库:https://github.com/segmentio/analytics.js

它们提供托管版本,具有用于实现集成的良好UI,这是一种付费产品.但是,analytics.js是开源的,因此您也可以免费使用它(作为自托管解决方案).

太糟糕了,没有什么好的设置文件可用.

有一些关于此的博客,但这些都是过时的:

谁知道我们可以找到关于如何实现开源版本analytics.js的优秀文档的地方?

如果这些文档不存在,我们应该开始编写它们,因为它确实使开发人员的生活变得更容易.

javascript analytics segment-io

9
推荐指数
1
解决办法
1331
查看次数

如何将Segment.io服务器和客户端事件连接到同一个匿名用户?

我正在努力在现有的.NET电子商务应用程序上实现Segment分析中心,以便与其他一些服务中的Mixpanel一起使用.我理解Analytics.js和Segment .NET API的API文档,但我很困惑如何将匿名事件连接到同一个用户.

例如,假设我正在跟踪项目是否已添加到购物车中.我正在这个服务器端,因为有多个页面可以将项目添加到购物车但只有一个控制器.用户可以在不登录的情况下执行此操作,我们已经为他们分配了客户ID,因此我的代码如下所示:

Analytics.Client.Track(cartItem.CustomerId, "Added Product", new Properties() {
    { "sku", cartItem.Sku },
    { "quantity", quantity }
});
Run Code Online (Sandbox Code Playgroud)

然后,假设用户查看产品类别页面.由于这是一个相对简单的操作,我目前正在客户端,所以我的代码看起来像这样:

analytics.track('Viewed Product Category', {
    category: '@Model.CategoryName',
    subCategory: '@Model.SubCategoryName'
});
Run Code Online (Sandbox Code Playgroud)

我在Analytics.js规范中看到:

您无需为您网站的匿名访问者打电话.我们会自动为它们分配一个anonymousId,所以只是调用页面和轨道仍然可以正常工作而无需识别.

我的主要问题是,如何告诉Segment它是执行这两个操作的同一个(当前是匿名的)用户?作为次要问题,我是否需要在服务器端呼叫之前呼叫识别,即使Track呼叫包含用户ID?

javascript c# asp.net-mvc analytics segment-io

9
推荐指数
1
解决办法
2335
查看次数

为什么Segment.io loader脚本将方法名称/ args推送到看似被覆盖的队列?

我一直在剖析以下代码片段,它用于异步加载Segment.io分析包装器脚本:

// Create a queue, but don't obliterate an existing one!
var analytics = analytics || [];

// Define a method that will asynchronously load analytics.js from our CDN.
analytics.load = function(apiKey) {

    // Create an async script element for analytics.js.
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.async = true;
    script.src = ('https:' === document.location.protocol ? 'https://' : 'http://') +
                  'd2dq2ahtl5zl1z.cloudfront.net/analytics.js/v1/' + apiKey + '/analytics.min.js';

    // Find the first script element on the page and insert our …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous segment-io

8
推荐指数
1
解决办法
3077
查看次数

如何配置分析以将数据发送到我自己的服务器?

使用细分分析 javascript 库时,如何或必须做什么才能将所有分析数据发送到我自己的服务器?

https://segment.com/docs/libraries/analytics.js/

javascript google-analytics-api segment-io

6
推荐指数
1
解决办法
1938
查看次数

segment.io javascript发布失败,出现CORS错误

当我尝试使用来自segment.io网站的示例"入门"javascript代码加载网页时,我遇到了跨源资源共享(CORS)错误.下面是html本身.我没有在我的播放2.1.3服务器上设置任何标题出售此页面,但我认为没有必要,因为其他用户已经向我保证他们已经运行了这个没有问题:

<html>
<head>
<script type="text/javascript">
window.analytics=window.analytics||[],window.analytics.methods=["identify","group","track","page","pageview","alias","ready","on","once","off","trackLink","trackForm","trackClick","trackSubmit"],window.analytics.factory=function(t){return function(){var a=Array.prototype.slice.call(arguments);return a.unshift(t),window.analytics.push(a),window.analytics}};for(var i=0;i<window.analytics.methods.length;i++){var key=window.analytics.methods[i];window.analytics[key]=window.analytics.factory(key)}window.analytics.load=function(t){if(!document.getElementById("analytics-js")){var a=document.createElement("script");a.type="text/javascript",a.id="analytics-js",a.async=!0,a.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.io/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(a,n)}},window.analytics.SNIPPET_VERSION="2.0.9",
window.analytics.load("**my_key_here**");
window.analytics.page();
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我用浏览器加载此页面时,我在javascript控制台上看到以下错误:

[Error] Failed to load resource: Origin http://localhost:9000 is not allowed by Access-Control-Allow-Origin. (p, line 0)
[Error] XMLHttpRequest cannot load http://api.segment.io/v1/p. Origin http://localhost:9000 is not allowed by Access-Control-Allow-Origin. (localhost, line 0)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?即使在segment.io网站上,也没有提到CORS应该只是用javascript客户端发布事件的问题.

javascript xmlhttprequest cors segment-io

5
推荐指数
1
解决办法
1448
查看次数

在Chrome扩展程序中使用细分IO

尽管遵循以下指示,但我似乎无法使Segment正常工作:https : //segment.com/docs/platforms/chrome-extension/

运行时analytics.track,我看不到任何跟踪像素的网络请求,但也看不到任何错误。该analytics对象存在,但似乎没有任何作用。

在这里需要特别注意的一点是,我想从页面的上下文中运行细分。我的扩展程序将新的DOM元素和CSS样式注入到网页中,我想跟踪用户与这些元素的交互。因此,Segment根本不在扩展的上下文中运行。它head作为注入到页面的中script

javascript google-chrome google-chrome-extension segment-io

5
推荐指数
1
解决办法
754
查看次数

Segment.io HTTP API 不收集事件

这个特定Segment.io的文档和帮助是有限且稀疏的,所以我希望可以在这里询问。

我刚刚设置了一个 Segment.io 工作区和一个 HTTP API 源 HTTP API 源在 Segment.io UI 中可见

根据文档,我向https://api.segment.io/v1/trackhttps://api.segment.io/v1/page端点发送了一些 POST 请求(使用 Postman)。请求的结构如下:

curl -X POST \
  https://api.segment.io/v1/track \
  -H 'Accept: */*' \
  -H 'Authorization: My4w3s0m3k3y' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: application/json' \
  -H 'Host: api.segment.io' \
  -H 'Postman-Token: 474d7fbe-15af-43d2-b629-61e15945e662,2c3d5fbe-2c09-4fe6-b7ea-a04e3221201b' \
  -H 'User-Agent: PostmanRuntime/7.11.0' \
  -H 'accept-encoding: gzip, deflate' \
  -H 'cache-control: no-cache' \
  -H 'content-length: 117' \
  -d '{
  "userId": "abc123",
  "event": "My tests",
  "properties": {
    "name": "test …
Run Code Online (Sandbox Code Playgroud)

httpresponse httprequest segment-io httpapi

5
推荐指数
1
解决办法
3231
查看次数

我们如何在kafka中快速写入单个消息(而不是批量)?

我是 Golang 和 Kafka 的新手,我正在使用 Segmentio kafka-go 使用 Golang 连接到 Kafka 服务器。截至目前,我想推送 Kafka 中用户的每个事件,所以我想推送单个消息(而不是批量),但由于该库提供的写入操作对于批量或单个消息需要相同的时间,因此需要很多时间。有没有什么方法可以快速编写单条消息,以便我可以在更短的时间内推送卡夫卡中的数百万个事件?

我已经对单条消息和批量消息进行了测试,它花费相同的时间(最短为 10 毫秒)。

go apache-kafka segment-io kafka-producer-api

0
推荐指数
1
解决办法
3129
查看次数