查找具有多个不同 ID 的用户

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

我遇到 Mixpanel 合并问题,导致随机用户合并在一起。我正在尝试调试这个问题,为此我需要一个 JQL 查询来显示哪些用户拥有超过 1 个(或 X 个)不同的 ID。它们可以是匿名 ID(身份不明的用户)或我的应用程序的 ID。

Mixpanel 在用户仪表板中显示这些不同的 ID:

Mixpanel user distinct id

有没有办法编写 JQL 查询来返回具有超过 X 个不同 ID 的用户?

我正在尝试这个:

function main() {
  return Events({
    from_date: "2024-08-01",
    to_date: "2024-08-08"
  })
  .groupBy(["distinct_id"], mixpanel.reducer.count())
  .filter(result => result.value > 1)
}

但我不确定这是否正确。

mixpanel jql
1个回答
0
投票

如果我理解正确,要真正识别是否有多个“distinct_id”与单个人相关联,您需要锚定每个人唯一的静态属性,例如电子邮件地址、散列电子邮件或...

function main() {
  return Events({
    from_date: "2024-08-01",
    to_date: "2024-08-25"
  })
  .groupBy(['distinct_id', 'properties.Email'], function(acu, events) { return null })
  .reduce(function(acu, events) {
     const results = {};

    // Collect distinct_ids for each email
    events.forEach(function(event) {
      const distinctId = event.key[0];
      const email = event.key[1];

      if (!results[email]) {
        results[email] = new Set();
      }
      results[email].add(distinctId);
    });

    return Object.entries(results).map(function([email, distinctIds]) {
      return {
        'User Email': email,
        'Distinct IDs': Array.from(distinctIds).join(" - ")
      };
    });
  });
}
© www.soinside.com 2019 - 2024. All rights reserved.