什么是 PII 信息?

PII 为 Personally Identifiable Information,是个人身份信息。是用来单独识别、联系或定位个人身份的信息。例如:姓名,家庭地址,出生日期,电话号码,电子邮件地址,信用卡号码,车牌、驾照号码,护照、身份证号码等。

GA 可以收集 PII 吗?

Google 明文规定,使用 Google 产品的用户不能主动收集,上传 PII 信息到 Google 的产品中,一旦被发现,这些信息会被立即删除。这样看起来好像是不行的。。。但其实官方还是给了 work around 让你收集 PII 信息。

收集 PII 有什么意义?

Google 的 GA 和 DoubleClick 产品可以抓取和存储一些用户识别符用来为一些高级功能提供支持, 例如: 创建 audience list 做 remarketing 或者上传线下数据作分析。

在 GA 中, 我们可以使用 data import 功能来上传线下的用户活动数据来增加数据维度, 可以用 user id 来做 join id 不仅可以将不同设备的同一用户统一起来,还可以创建 audience list 也可以被传送到 Adwords 和 DoubleClick 中使用.

但是有很多公司是没有自己的 CRM 系统和 user ID 功能的, 那么获取客户的 email address 和电话号码(唯一)成了两个常见的用户信息获取方式.

解决方案

通过对 PII 信息做模糊处理,然后上传到 GA 中就不会被删除了。这个功能大大减轻客户创建 CRM 系统并开发 user id 的工作, 加快了线上线下数据打通的效率.

加密方式

模糊处理方法:

  • Encryption 加密
  • Hashing - 最低标准的SHA256,最少8个字符的salt

关于这部分技术的介绍,我自己找了些 blog:

模糊处理的注意事项:

  1. Seek approval from your internal IT security team and legal counsel. 获得公司的IT 部门认可或者检查
  2. Values with and without caps 建议将所有的 identifier 小写之后然后在做 Encryption 或者 Hashing
  3. Check there are no leading and ending spaces or characters as this will affect the obfuscation process. 注意在字符的前后有没有多余的空格, 要不然会影响加密
  4. Some hashing methods may truncate/crop values before applying the hash. This has been seen using the SHA256 hashing method in SQLServer. 一些 hashing 方法会在加密之前截断字符. 比如 SQL Server 使用的 SHA256哈希方法.
  5. Test thoroughly as a simple mistake not found during implementation can mean the implementation has to be repeated and business value is delayed and opportunities to identify users are lost. 一定要做完善的测试
  6. Consider using a cookie to persist your UserID value. 使用 cookie 来保存 userid 的值
    • 将模糊处理的 PII 信息写入 cookie
    • 在 GA 中, 从 cookie 中获取 userID
  7. Google recommends a minimum of 128 bit encryption technology. 无论使用什么级别的加密方式, 加密必须在传送数据之前应用.
  8. Encrypting will allow you to decrypt the data that is stored in the UserID (GA) 加密的数据可以被解密, 并且通过 GA 的 BigQuery 中.
  9. Google have minimum requirement for hashing in Google Analytics and DoubleClick which is SHA256 with a minimum 8 character salt. 对哈希加密的最低要求是 HASH256 + 至少 8 个字符的 salt. 不要使用 MD5 加密方式.

加密事例

PHP 代码示例:

1
2
3
4
5
$email = "john_doe@webmail.com";
$salt = "1234567890"; //
$result = hash('sha256', $email . $salt);
658b46246e447692f450be278a838647b0566249113b6c1cc9eb51762e5f96ce

Python 示例:

1
2
3
4
5
6
7
import hashlib
email = "john_doe@webmail.com"
salt = "1234567890" #
result = hashlib.sha256((email + salt).encode('utf-8')).hexdigest();
658b46246e447692f450be278a838647b0566249113b6c1cc9eb51762e5f96ce

如果本篇文章对你有帮助,可以进行小额赞助,鼓励作者写出更好的文章。

打赏