> For the complete documentation index, see [llms.txt](https://helps.ptengine.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://helps.ptengine.com/cn/insight/setting/cross-domain.md).

# 跨域设置

用户从 A 域名跳到 B 域名，默认会被算成两次互不相干的访问。开启跨域后，整条链路才会被当作**一次连续会话**来统计和归因。

***

## 开始之前 <a href="#before-you-start" id="before-you-start"></a>

三个前提缺一不可，顺序也不能乱：

1. **链路上所有页面装的是同一份**[**基础代码**](/cn/start-guide/quick/tag-setup.md)
2. **链路上所有域名都已**[**添加域名**](/cn/insight/setting/add-domain.md)**登记**
3. 以上两步完成后，再开启本页的跨域设置

{% hint style="warning" %}
不开启这个设置，**Experience 的跨域监测也不会生效** —— 体验的曝光与转化会被算在两次访问上。
{% endhint %}

***

## 什么时候需要开 <a href="#when-to-enable" id="when-to-enable"></a>

只要用户的完整路径横跨了多个域名，就需要：

| 场景                 | 典型链路                                      |
| ------------------ | ----------------------------------------- |
| 电商：商品页与支付页不同域名     | `shop.com` → `pay.com`                    |
| 表单托管在第三方           | `example.com` → `form.example-survey.com` |
| 文章 LP 导流到主 LP 再到支付 | `kijiLP.com` → `honLP.com` → `pay.com`    |

不开的话，用户在支付页完成的转化会被归给“直接访问”，而不是真正把人带来的那个渠道。

***

## 设置步骤 <a href="#setup-steps" id="setup-steps"></a>

推荐用自动配置。另有完全手动、半手动、API 集成等方式，适用于自动配置无法覆盖的特殊站点，需要时请联系客服。

{% hint style="info" %}
**入口不在 Insight 的“基础设置”里。** 跨域开关挂在 Experience 侧的安装流程中，按下面的路径走。
{% endhint %}

{% stepper %}
{% step %}

### 进入 Experience 的数据设置

切到 **Experience** 模块，点右上角齿轮图标 →“数据设置”。

注意齿轮菜单在 Insight 和 Experience 下是**两套不同的内容** —— Experience 下才有“数据设置”。
{% endstep %}

{% step %}

### 打开安装页

在“数据设置”页面右上角点齿轮图标，进入“安装 Ptengine Experience”页。
{% endstep %}

{% step %}

### 展开“自动跨域链接设置”，把开关打开

页面底部有一个折叠的“自动跨域链接设置”，展开后把“**自动跨域链接**”开关打开。

![安装页底部的“自动跨域链接设置”](https://2044586328-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnucbKsG9WGIoxCpzyoHL%2Fuploads%2Fgit-blob-2be8140525d6548521781e4263a35c298990264c%2Finsight-cross-domain-01.png?alt=media)
{% endstep %}

{% step %}

### 按需调整参数符号

**开关打开之后**，下方才会出现“**跨域连接参数设置**”。默认是 `#`，多数站点不用改。

![开启后出现的“跨域连接参数设置”，可在 # 与 ? 或 & 之间选择](https://2044586328-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnucbKsG9WGIoxCpzyoHL%2Fuploads%2Fgit-blob-49f4a8d4e783cf3f3a03681716f04a414821351b%2Finsight-cross-domain-02.png?alt=media)
{% endstep %}
{% endstepper %}

***

## 跨域连接参数设置 <a href="#what-is-a-parameter-identifier" id="what-is-a-parameter-identifier"></a>

{% hint style="info" %}
产品里这一节叫“**跨域连接参数设置**”，**只有在把开关打开之后才会出现**。
{% endhint %}

开启跨域后，Ptengine 会在跳转后的 URL 末尾加上 `_pt_link=****` 这个参数，用它把两个域名上的访问串成同一次会话。**要选的就是连接这个参数所用的符号**，只有 `#` 和 `?` 或 `&` 两个选项。

| 选择                    | 跳转后的 URL                                           |
| --------------------- | -------------------------------------------------- |
| `#`（默认）               | `www.domain.com/path/#_pt_link=****`               |
| `?` 或 `&`             | `www.domain.com/path/?_pt_link=****`               |
| `?` 或 `&`（原 URL 已有参数） | `www.domain.com/path/?campaign=test&_pt_link=****` |

原 URL 里已经用了 `?`，系统会自动改用 `&` 连接。

**什么时候要换成 `?` 或 `&`**：目标网站用 `#` 做路由（单页应用）、或服务端会丢弃 `#` 之后的内容时，保持默认会导致参数传不过去。

***

## 做完之后怎么确认 <a href="#verify" id="verify"></a>

* 自己走一遍完整链路（A 域名 → B 域名），跳转后看地址栏末尾有没有出现 `_pt_link=****`
* 等 30 分钟左右，在[访问来源报告](/cn/insight/data-center/traffic-referrer.md)里确认 B 域名的访问是否还被大量记成“直接访问”—— 如果是，说明参数没传过去
* 单页应用站点如果同时开着 [URL 合并](/cn/insight/setting/url-unification.md)的“有无 `#`”规则，要留意两者的相互影响

***

## 注意事项 <a href="#notes" id="notes"></a>

* 该设置**同时作用于 Insight 和 Experience**
* 链路上漏掉任何一个域名没登记，会话都会在那里断开
* 跨域生效后访问次数会下降（两次合并成一次），属于预期变化

***

## 相关页面 <a href="#related-pages" id="related-pages"></a>

* [跨域配置方法](/cn/faq/insight-setting/cross-domain-other.md) — 自动配置之外的手动方案
* [添加域名](/cn/insight/setting/add-domain.md)
* [访问设置](/cn/insight/setting/session-setting.md) — 会话超时时间
* [Insight设置](/cn/insight/setting.md)
