Web Event SDK 接入指南
在客户网站中安装一次 SDK,在关键业务行为成功发生时,使用统一的 eid + data 格式发送事件。
1. 安装 SDK
把下面代码放进所有页面的 <head>。服务方会为每个网站分配一个 token,请勿在不同网站之间混用。
<script type="text/javascript" src="https://pwa.suncentads.com/event.js?v=20260110" data-token="token"></script>
token 替换成服务方提供的实际值。v=20260110 是当前发布版本,请勿自行删除或修改,也不要修改 SDK 文件或采集接口地址。| 安装参数 | 是否必填 | 说明 |
|---|---|---|
data-token | 是 | 当前网站的公开接入标识,不是密码或服务端密钥 |
2. 用户授权
SDK 加载后会生成浏览器标识并自动发送一次基础页面浏览。SDK 不管理客户网站的用户授权状态;如果适用法规或自身隐私政策要求事先授权,客户必须在授权后再加载安装代码,而不只是延后调用事件。
3. 调用事件
SDK 的运行文件异步加载。每次调用都先保留下面的初始化行,事件会在运行文件就绪后自动发送:
window.EventRelay = window.EventRelay || [];
window.EventRelay.push({
eid: "事件名称",
data: {
参数名: "参数值"
}
});
页面浏览
首次加载 SDK 时会自动发送基础页面浏览。下面的事件用于 SPA 路由切换或需要单独记录的页面内容展示。
window.EventRelay = window.EventRelay || [];
window.EventRelay.push({
eid: "page_view",
data: {}
});
搜索
window.EventRelay = window.EventRelay || [];
window.EventRelay.push({
eid: "search",
data: {
query: "running shoes"
}
});
加入购物车
window.EventRelay = window.EventRelay || [];
window.EventRelay.push({
eid: "add_to_cart",
data: {
content_id: "sku_123",
content_type: "product",
content_name: "Running shoes",
price: 9.9,
quantity: 2,
currency: "USD"
}
});
购买成功
window.EventRelay = window.EventRelay || [];
window.EventRelay.push({
eid: "purchase",
data: {
content_id: "sku_123",
content_type: "product",
content_name: "Annual membership",
value: 19.8,
currency: "USD",
price: 9.9,
quantity: 2
}
});
多商品购买
window.EventRelay = window.EventRelay || [];
window.EventRelay.push({
eid: "purchase",
data: {
value: 29.8,
currency: "USD",
items: [
{content_id: "sku_123", price: 9.9, quantity: 1},
{content_id: "sku_456", price: 19.9, quantity: 1}
]
}
});
purchase 必须在支付真正成功后触发。点击支付按钮、进入收银台或创建订单,都不能代替支付成功事件。4. 支持的事件名称
只使用下表中的固定事件名,不要自行创建事件名。
| 事件名 | 触发时机 | 必填参数 |
|---|---|---|
page_view | 页面或 SPA 路由展示完成 | 无 |
content_view | 商品或内容详情展示 | 无 |
button_click | 关键按钮被点击 | 无 |
form_submit | 表单成功提交 | 无 |
search | 用户完成搜索 | query |
add_to_cart | 商品成功加入购物车 | 无 |
add_payment_info | 支付信息添加成功 | 无 |
checkout_started | 结账流程开始 | 无 |
order_placed | 订单创建成功 | value |
purchase | 支付或购买成功 | value |
registration_completed | 注册完成 | 无 |
wishlist_added | 成功加入收藏 | 无 |
subscription_completed | 订阅完成 | 无 |
first_deposit | 首次入金完成 | 无 |
contact | 联系或咨询成功 | 无 |
download | 下载开始 | 无 |
credit_approval | 授信审批完成 | 无 |
loan_application | 贷款申请提交 | 无 |
loan_credit | 贷款审批通过 | 无 |
loan_disbursal | 贷款放款完成 | 无 |
credit_card_application | 信用卡申请提交 | 无 |
key_event | 业务关键事件 | 无 |
key_event_1 | 业务关键事件 1 | 无 |
key_event_2 | 业务关键事件 2 | 无 |
key_event_3 | 业务关键事件 3 | 无 |
ad_view | 页面内广告展示 | 无 |
ad_click | 页面内广告点击 | 无 |
5. 事件参数
| 参数 | 类型 | 说明 |
|---|---|---|
content_id | String | 商品或内容 ID |
content_type | String | 单商品传 product,商品组传 product_group |
content_category | String | 页面、商品或内容分类 |
content_name | String | 页面、商品或内容名称 |
currency | String | 大写币种代码;当前支持 BRL、IDR、USD |
value | Number | 订单总金额;purchase、order_placed 必填 |
price | Number | 单件商品价格 |
quantity | Number | 商品数量 |
query | String | 搜索关键词,供 search 使用 |
items | Array<Object> | 多商品列表;每项可包含商品 ID、单价、数量等参数 |
金额规则
所有金额使用数字,不要加币种符号或千位分隔符。例如 2 件商品、单价 10 美元,应传 price: 10、quantity: 2、value: 20、currency: "USD"。
数据安全
不要通过事件参数或页面 URL 发送姓名、手机号、邮箱、身份证、银行卡、密码或其他个人敏感信息。SDK 会把当前完整页面 URL 作为环境字段自动发送,因此 URL 查询参数也会随请求上传。
6. 点击归因参数
广告或跳转链接可能在落地页上携带 pixel_click_id:
https://customer.example/landing?pixel_click_id=OPAQUE_TOKEN&utm_source=oks
客户网站的 301/302 跳转、登录跳转、语言切换和 URL 规范化必须原样保留广告系统附加的查询参数,包括 pixel_click_id、_oks_ft、_oks_ext 和 utm_source。SDK 会自动读取并保存归因信息,后续事件不需要手工传入。
7. SDK 发出的请求
客户业务代码只调用 EventRelay,不要直接请求采集接口。SDK 加载时会使用 GET 自动发送基础页面浏览;业务事件优先使用 Beacon POST:
GET https://event.suncentads.com/collect?...pageview fields...
POST https://event.suncentads.com/collect
事件请求体会包含事件数据、点击归因、浏览器标识和页面环境;以下仅展示常见字段:
{
"v": 1,
"token": "token",
"_cid": "browser-identifier",
"ft": "opaque-click-token",
"type": "event",
"dl": "https://customer.example/landing",
"dh": "customer.example",
"dt": "Page title",
"ua": "Browser User-Agent",
"eid": "purchase",
"data": {
"value": 19.8,
"currency": "USD"
}
}
- HTTP
2xx:事件已被采集服务接收。 - HTTP
4xx:token、事件名称或请求格式不合法。 - HTTP
5xx:采集服务暂时不可用。
如果网站启用了严格 CSP,需要放行:
script-src https://pwa.suncentads.com
connect-src https://event.suncentads.com https://m1.openfpcdn.io
img-src https://event.suncentads.com
8. 联调与验收
- 使用服务方提供的测试 token 和带
pixel_click_id的测试链接打开客户页面。 - 在浏览器开发者工具 Network 面板确认
https://pwa.suncentads.com/event.js?v=20260110返回 HTTP 200。 - 确认异步运行文件和自动 pageview 请求加载成功,并完成一次真实测试动作。
- 确认
https://event.suncentads.com/collect请求返回 HTTP 2xx,事件请求中存在对应的ft归因值。 - 确认请求中的事件名、金额、币种和商品 ID 与实际业务一致。
- 由服务方确认事件已进入后台并完成最终验收。
单页应用需要在每次路由页面真正展示后调用一次 page_view。同一业务结果不要重复调用。