自定义追踪域名:伙伴链接用上 go.yourbrand.com
在 RelayWonder 设置自定义追踪域名:一条 CNAME,自动签发和续期 HTTPS 证书,链接、脚本和第一方 Cookie 都用品牌域名。
RelayWonder 现在支持每个品牌使用自定义追踪域名:伙伴短链接、活动追踪链接和追踪脚本,都可以跑在你自己的子域名上,比如 go.yourbrand.com,而不是平台地址。设置只需一条 CNAME 记录,指向你的品牌专属目标;DNS 解析生效后,系统会自动向 Let's Encrypt 申请 HTTPS 证书,通常一分钟内完成,并在到期前 30 天自动续期。域名生效后,伙伴链接被点击时,推荐 Cookie 会在跳转响应里直接写到你的主域名下,所以即使页面上没装追踪脚本,推荐信息也能存下来。本文介绍设置步骤、链接脚本和 Cookie 的变化、安全规则,以及它做不到的事。
自定义追踪域名改变了什么
没有自定义域名时,伙伴的短链接指向 RelayWonder 的地址。它能用,但正在犹豫要不要点的人看到的是一个不认识的域名。有了自定义域名,同一条链接变成 go.yourbrand.com/go/anna-review,里面唯一的域名就是你的。我们不打算给它的效果编一个数字,但道理很好理解:和产品一致的链接,看起来就像产品本身。
第二个变化是推荐信息存放的位置。当跳转来自你自己的子域名时,我们的追踪服务器可以在跳转响应里把 rw_ref Cookie 写在你的主域名 yourbrand.com 下。你的网站在每个页面和结账时都能读到它。没有自定义域名时,跳转设置的 Cookie 存在平台域名下,只作备份;归因要靠你网站上的脚本在页面加载后写入第一方 Cookie。
| 项目 | 没有自定义域名 | go.yourbrand.com 生效后 |
|---|---|---|
| 伙伴短链接 | 平台追踪地址 | go.yourbrand.com/go/<code> |
| 活动追踪链接 | 平台追踪地址 | go.yourbrand.com/go/<code> |
| 页面 head 里的追踪脚本地址 | 从平台加载 | 从 go.yourbrand.com 加载 |
| 跳转设置的推荐 Cookie | 在平台域名下,仅作备份 | 在 yourbrand.com 下,你的网站可读 |
| 没装追踪脚本的页面 | 要等加载到装了脚本的页面才记录推荐 | 跳转时已经存下推荐 |
| 带 ?via=<slug> 的长链接 | 不变 | 不变 |
怎样设置 go.yourbrand.com
整个设置就是一条 DNS 记录。由品牌账户的管理员在"设置 → 追踪安装"的"自定义追踪域名"一栏完成。
- 选一个你拥有、且没有别的用途的子域名,比如 go.yourbrand.com 或 link.yourbrand.com。主域名本身不能用,因为它已经在承载你的网站。
- 填入并保存。RelayWonder 会显示要添加的记录:类型 CNAME,名称 go(或完整主机名,取决于你的 DNS 服务商),值以 rw- 开头,后接 12 个你品牌专属的字符。
- 在你的 DNS 服务商处,照原样添加这条 CNAME 记录。如果你的 DNS 在 Cloudflare 上,把这条记录设为"仅 DNS"(灰色云朵),不要设为"已代理"。
- 等待。RelayWonder 在最初一小时每分钟检查一次记录,之后每 15 分钟一次。看到正确的值后,系统签发证书,状态变为"已生效"。
- 完成。新的短链接、活动链接和脚本代码片段都会使用新域名。如果你是手动嵌入脚本的,把更新后的代码片段复制到网站上。
| 字段 | 值 | 说明 |
|---|---|---|
| 类型 | CNAME | 不是 A,也不是 ALIAS |
| 名称 | go | 有的服务商要求填完整名称:go.yourbrand.com |
| 值(目标) | rw-xxxxxxxxxxxx.<我们的目标域名> | 从设置页复制准确的值;这 12 个字符是你品牌专属的 |
| 代理(仅 Cloudflare) | 仅 DNS | 已代理的记录无法验证 |
| TTL | 服务商默认 | 调低 TTL 只会让修改更快可见 |
DNS 通常几分钟内就会更新,不过有些服务商发布新记录可能需要最多 48 小时。你不需要一直开着设置页;检查在后台运行,状态会自己更新。如果刚添加完记录就想马上确认,可以点"立即检查"。
为什么 Cloudflare 上的记录必须设为"仅 DNS"
Cloudflare 对每条记录提供两种模式。"仅 DNS"模式下,CNAME 解析到记录真实的目标,Cloudflare 不把 HTTP 或 HTTPS 流量经过自己的网络。"已代理"模式下,查询返回的是 Cloudflare 的任播 IP 地址,而且已代理的 CNAME 默认会被扁平化,也就是 CNAME 链被替换成最终的 IP 地址 [3]。
这两个效果都会让验证失败。我们的检查要找一条指向你品牌目标的 CNAME,而扁平化后的记录不会暴露它。证书验证也必须到达我们的服务器:Let's Encrypt 的 HTTP-01 验证会在 80 端口请求 http://<你的域名>/.well-known/acme-challenge/<token> [2],开着代理时,这个请求到的是 Cloudflare。把记录切换为"仅 DNS",两个问题都会消失。你的主网站可以继续开代理;只有追踪子域名需要灰色云朵。
证书自动签发与续期
CNAME 正确之后,RelayWonder 用 HTTP-01 验证方式,为你的确切主机名向 Let's Encrypt 申请证书。Let's Encrypt 可能从多个地点发起验证请求,我们的追踪服务器返回令牌,证书随即签发 [2]。大多数情况下,状态在一分钟内从"正在签发证书"变为"已生效"。之后这个域名的每个 HTTPS 请求都使用这张证书。
Let's Encrypt 证书有效期 90 天,官方建议 90 天证书每 60 天续期一次 [1]。RelayWonder 在到期前 30 天开始续期,对 90 天证书来说正好是第 60 天;如果某次尝试失败,之后每 6 小时再试一次。续期会先检查 CNAME,所以如果记录被删除或改动,问题会记录在该域名上,续期要等记录恢复后才能完成。只要还在用这个域名,就请保留这条 CNAME。设置页会显示当前证书的有效期截止日。
| 状态 | 含义 | 检查频率 |
|---|---|---|
| 等待 DNS | 还没找到记录,或记录指向别处 | 最初一小时每分钟一次,之后每 15 分钟一次 |
| 正在签发证书 | DNS 已验证,正在申请证书 | 通常一分钟内完成 |
| 已生效 | 链接、活动链接和脚本都使用该域名 | 到期前 30 天开始续期,失败则每 6 小时重试直到成功 |
| 需要处理 | DNS 没问题但签发失败 | 自动重试:首次失败后等 30 分钟,多次失败后间隔更长,最长 6 小时 |
用一个时间例子说明:你在 10:00 添加记录,DNS 服务商在 10:04 发布。我们在 10:05 的检查看到正确的 CNAME,开始签发;证书大约 10:06 到达,域名生效。如果你的服务商用了 3 小时,前一小时每分钟检查,后两小时每 15 分钟检查,所以记录出现后大约 15 分钟内域名就会生效。签发后大约第 60 天,续期会自动进行,不需要你做任何事。
链接、脚本和 Cookie 各有什么变化
链接
域名一生效,伙伴短链接和活动追踪链接就会在新域名上生成。直接指向你网站、带 ?via= 参数的长链接不变。伙伴会在自己的后台看到新链接,如果你开了白标门户,门户里也一样。如果之后停用这个域名,已经分享出去的短链接会失效,新链接回到平台地址,所以伙伴开始发链接之后,请把这个域名当作永久使用。
脚本
设置里显示的追踪脚本代码片段会切换到新域名。脚本本身做的事和以前一样:从伙伴链接读取 ?via=,在你的域名下写第一方 Cookie,并上报点击。从你自己的子域名加载,意味着你的页面上少了一个第三方主机;如果你为隐私审查维护第三方脚本清单,这一点有意义。
Cookie
当 go.yourbrand.com 上的伙伴短链接被点击时,跳转会在 yourbrand.com 下设置 rw_ref Cookie,带 Secure 标记和 SameSite=Lax,有效期等于你计划的推荐窗口。随后你的结账流程读取它,把推荐 ID 作为 client_reference_id 传给 Stripe,这是 Stripe 提供的、用于把会话和你自己记录对账的字段 [5]。结账之后,每次续费都从 Stripe 发票归因,而不是靠 Cookie。
有一点我们想说得很准确。自定义追踪域名不会让 Cookie 免受浏览器隐私规则约束。WebKit 说明,当 Safari 检测到第三方 CNAME 伪装时,会把 HTTP 响应中设置的 Cookie 限制在 7 天,与它对 JavaScript 写入的 Cookie 的上限相同 [4]。请按 Cookie 在 Safari 里大约保留一周来规划。这就是为什么归因中持久的部分仍然是结账时的 client_reference_id 和专属优惠码,后者不需要点击也能归因。
安全:一个域名只服务自己的品牌
自定义域名带来一个每个多品牌平台都必须回答的问题:会不会有人把域名指向平台,然后为别的品牌提供链接,或者认领一个不属于自己的域名?下面这些规则由追踪服务器和设置页强制执行。
- CNAME 目标是你品牌专属的。它由你的品牌身份和服务器端密钥派生,所以另一个品牌填你的主机名时,看到的是不同的目标,永远无法通过验证。
- 一个主机名只能为一个品牌生效。如果已被别的品牌使用,保存时会提示"另一个品牌已在使用此域名"。
- 自定义域名只提供它所属品牌的链接和脚本。在 go.yourbrand.com 上请求属于其他品牌的链接或脚本,会返回"未找到"。
- 平台域名及其子域名是保留的,不能添加。
- 只有品牌账户的管理员可以添加、修改或移除追踪域名。
- 如果你设置了伙伴门户域名,它必须是和追踪域名不同的子域名,比如 partner.yourbrand.com,两者永不冲突。
实际效果是:添加一条 CNAME 劫持不了任何东西,你域名上的任何内容也不能被用来把流量送到别人的计划。如果你在 DNS 服务商处删除这条 CNAME,域名就不再解析到我们,在我们这边也没人能接管它,因为他们需要的目标只属于你。
常见设置问题排查
- "还看不到 CNAME 记录":记录没发布,或名称写错了。检查名称是 go,而不是 go.yourbrand.com.yourbrand.com——在会自动补全域名的输入框里填完整名称时,有些服务商会生成这种结果。在 Cloudflare 上,把记录切换为"仅 DNS"。
- "该域名的 CNAME 指向……":存在一条旧记录。把它的值替换成设置里显示的目标。
- "请使用子域名,而不是主域名":填 go.yourbrand.com,而不是 yourbrand.com。
- "DNS 没问题,但证书无法签发":80 端口上的 HTTP-01 验证被挡住了,常见原因是代理,或者一条不允许 Let's Encrypt 的 CAA 记录。修好后,自动重试会接着处理。
- 链接还显示旧地址:状态变为"已生效"后链接才会切换。生效后刷新伙伴后台即可。
这周就可以做的事
- 选好子域名。短而通用最好:go、link 或 ref。
- 在"设置 → 追踪安装"里拿到 CNAME 并添加。如果用 Cloudflare,设为"仅 DNS"。
- 等状态变为"已生效",如果你是手动嵌入脚本的,更新网站上的追踪脚本代码片段。
- 告诉伙伴他们的短链接已经搬到你的域名。平台地址上的旧链接继续有效。
- 在 Safari、Firefox 和 Chrome 里各做一次测试点击,确认结账时推荐信息作为 client_reference_id 到达了 Stripe。
FAQ
什么是自定义追踪域名?
它是你拥有的一个子域名,比如 go.yourbrand.com,用来提供伙伴短链接、活动链接和追踪脚本,替代平台地址。在 RelayWonder 里只需一条 CNAME 记录即可设置。生效后,点击产生的推荐 Cookie 会写在你的主域名下。
设置要多久?
通常几分钟。添加域名后的第一小时,RelayWonder 每分钟检查一次 CNAME,DNS 验证通过后 HTTPS 证书一般在一分钟内签发。有些 DNS 服务商发布记录可能需要最多 48 小时。
为什么 Cloudflare 要设为"仅 DNS"?
已代理的 Cloudflare 记录会返回 Cloudflare 的 IP 地址并把 CNAME 扁平化,所以 CNAME 无法验证,80 端口上的 Let's Encrypt HTTP-01 验证也会到达 Cloudflare 而不是我们的服务器。设为"仅 DNS"后,记录直接解析到目标。你的主网站可以继续开代理。
证书需要我自己续期吗?
不需要。Let's Encrypt 证书有效期 90 天,RelayWonder 在到期前 30 天续期,也就是 Let's Encrypt 建议的第 60 天。设置页会显示当前证书的到期日。
自定义追踪域名能让 Safari 保留 Cookie 60 天吗?
不能。Safari 会把检测到的 CNAME 伪装请求在 HTTP 响应中设置的 Cookie 限制在 7 天,和 JavaScript Cookie 一样。自定义域名提升的是链接的可信度,并让 Cookie 在跳转时写到你的主域名下;长期归因来自结账时的 client_reference_id 和优惠码。
别的品牌能用我的域名吗?
不能。每个品牌有自己的 CNAME 目标,一个主机名只能为一个品牌生效,自定义域名也只提供所属品牌的链接和脚本。在你的域名上请求其他品牌的链接会返回"未找到"。
停用域名会怎样?
已经分享在该域名上的短链接会失效,新链接回到平台地址。带 ?via= 的长链接不受影响。因为分享出去的链接会断,伙伴开始使用之后请保留这个域名。
Sources
- Let’s Encrypt:常见问题 · 标准证书有效期 90 天;建议 90 天证书每 60 天续期。2026 年 10 月核对。
- Let’s Encrypt:验证方式 · HTTP-01 在 80 端口从 /.well-known/acme-challenge/ 获取令牌,可能从多个地点发起。2026 年 10 月核对。
- Cloudflare 文档:代理状态 · 仅 DNS 记录解析到源站;已代理记录返回 Cloudflare 任播 IP,已代理的 CNAME 被扁平化。2026 年 10 月核对。
- WebKit:Tracking Prevention in WebKit · 检测到第三方 CNAME 伪装时,HTTP 响应中设置的 Cookie 限 7 天。2026 年 10 月核对。
- Stripe API:创建 Checkout Session · client_reference_id 用于与内部系统对账,最长 200 个字符。2026 年 10 月核对。