@aglyn/shared-util-first-touch (英语)
从Aglyn monorepo出版到npm. 随后的版本 语义版本。 。 。 .
安装
npm install @aglyn/shared-util-first-touch
一个访客刚从哪里来,就放在他们的设备上,直到一个账户 创建和平台将其写入。 没有分析供应商,没有标识, 除了主机列表之外, 安装本身没有配置 .
它记录了什么
| 外地 | 它所持有的 |
|---|---|
at | 当游客降落时 |
host, (中文(简体) ), path | 他们登上的第一个页面,没有它的查询字符串 |
ref | 发送它们的EXTERNAL主机,或 null |
via | 你自己的一个宿主 他们从任何海面捕捉到他们之前 |
utm | utm_source, (中文(简体) ), utm_medium, (中文(简体) ), utm_campaign, (中文(简体) ), utm_content, (中文(简体) ), utm_term ——被修剪,被封为100个字符,被定型为电子邮件地址时拒绝 |
click | 哪个 gclid, (中文(简体) ), fbclid, (中文(简体) ), msclkid 所携带的着陆 URL —— 仅存在, 绝不是值 |
adCampaign | Google Ads 活动 id 自动标记附件 gad_campaignid ——只有数字;该广告的每位访客都会参与一次活动,而不是身份识别 |
内部裁判从来不是第一触. 在两个主机之间跳 安装名称作为它自己的 背负记录 并且永远不会替换它,所以 "docs ~ 定价 ~ 注册"仍然报告任何开始访问.
将它纳入其中的两种方法
作为脚本标记,在一个没有捆绑者触摸的页面上——平台服务于工具包的 拥有主机列表和已配置的交接端点的自有源 :
<script src="https://app.example.com/api/first-touch" async></script>
添加 data-consent="pending" 页面同意工具在加载后决定;
然后记录被保存在记忆中,直到 setPageFirstTouchStorage(true) (或
window.aglynFirstTouch.setStorage(true)(a) 赠款设备储存.
作为进口,在装有捆绑器的应用程序中:
import { bootFirstTouch, readFirstTouch } from '@aglyn/shared-util-first-touch'
bootFirstTouch({ hosts: ['example.com', '*.example.com'], storage: true })
// …later, at signup:
const touch = readFirstTouch()
记录所在的地方
- 饼干,
aglyn_ft,在页面的可注册域上——由 询问哪个域接受饼干,而不是从后缀列表. 每个子域读取的值相同. sessionStorage当浏览器拒绝饼干时.- 内存, 而存储等待或拒绝 。 一个链接到你的另一个
主机仍然可以将记录作为封存在它的 URL 中
_ft符号,该 接收页面从地址栏中取出,并一次性通过.
频道
classifyChannel(touch) 组合为 organic-search, (中文(简体) ), paid-search, (中文(简体) ),
social, (中文(简体) ), referral, (中文(简体) ), email 或者说 direct 从一个短的, 命令的规则表
(单位:千美元)DEFAULT_CHANNEL_RULES而不是分析商的集团 递给你
拥有表来改变它.