# 曝光商品卡 expose_sku_component
当商品卡完整或大部分出现在屏幕可视范围内时上报。
# 数据规范
# 新增数据
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
sku | object | Y | 商品sku |
sku_id | string | Y | 商品skuid,唯一标识符 例AKDFie8-1 |
sku_name | string | Y | 商品名称 例妃子笑荔枝礼盒装(2KG) |
spu | object | Y | 商品spu |
spu_id | string | Y | 商品spuid 例AKDFie8 |
spu_name | string | Y | 商品名称 例妃子笑荔枝 |
sku_category | array | 商品类目路径 | |
sku_cat_id | string | C | 商品类目id,唯一标识符,若填写了`sku_category`下任一字段则必填 |
sku_cat_name | string | C | 商品类目名称,若填写了`sku_category`下任一字段则必填 |
sku_parent_cat_id | string | C | 商品父级类目id,若填写了`sku_category`下任一字段则必填,若已是顶级类目,填null |
shipping_shop | object | 商品发货门店 | |
shipping_shop_id | string | C | 商品发货门店id;当商品所属门店同于行为发生门店时,shop_id 与 chan_shop_id 值一致,若填写了`shipping_shop_name`则必填 |
shipping_shop_name | string | C | 商品发货门店名称,若填写了`shipping_shop_id`则必填 |
sale | object | 销售信息 | |
original_price | float | C | 商品当前原价单价(元),一般是划线价 例49.9,若填写了`current_price`则必填 |
current_price | float | C | 商品当前现价(元) 例30.0,若填写了`original_price`则必填 |
primary_image_url | string | 商品主图路径,传输后可在有数商品分析中展示图片 | |
position_id | integer | 商品位置的绝对排序,用于商品搜推优化 |
# 公共属性
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
page | string | Y | 行为发生的小程序页面路径,开头不要加 /,路径后可带查询参数 例pages/product?sku_id=AOdjf7u |
page_title | string | 行为发生的小程序页面标题 例商品详情、商城首页 | |
sr_sdk_version | string | sdk版本号 例1.1.6 | |
time | datetime | Y | 行为发生时间 13位时间戳 例1560409473714 |
wx_user | object | Y | 用户相关属性 |
app_id | string | Y | 公众号或小程序唯一标识 例wx9d4f5f22pa099f82 |
open_id | string | Y | 微信用户在小程序下的唯一标识符 例ogN6X0T-ilsH-XmIdzXtuR1f1r3Q |
user_id | string | 用户在商户的唯一标识符 例548019854034 | |
union_id | string | 微信用户在开放平台账号下的唯一标识符 例o6_bmlsdaXds8d6_sgVt7hM3OPfL | |
local_id | string | 用户在有数的唯一标识符 例360b8853-64bf-3fba-e9a0-5abb1e4d7721 | |
tag | array | 用户的个性化标签 | |
tag_id | string | C | 标签ID,唯一标识符 例游客,若填写了`tag_name`则必填 |
tag_name | string | C | 标签名称 例游客,若填写了`tag_id`则必填 |
extra | object | ||
chan | object | Y | 渠道相关属性 |
chan_wxapp_scene | integer | Y | 小程序场景值,必填 例1037 |
chan_id | string | 引流渠道的标识符 | |
chan_refer_app_id | string | 来源小程序或公众号appid 例wx9d6f5f6gea059654 | |
chan_shop_id | string | 微信用门店ID,若需要计算门店业务则必填 | |
chan_shop_name | string | 用户在有数的门店名称,展示字段,若chan_shop_id存在则必填 | |
chan_custom | object | 自定义渠道 | |
chan_custom_id | string | C | 4级自定义渠道的标识符,是自定义渠道的最小粒度 例mp-article-12375,若填写了chan_custom相关任一字段需必填 |
chan_custom_id_desc | string | C | 4级自定义渠道的描述 例公众号文章(id=12375),若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_3 | string | C | 3级自定义渠道的标识符,3级是针对4级的分类,要求4级数据必须存在 例mp-article,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_3_desc | string | C | 3级自定义渠道的描述,若chan_custom_cat_3存在则必须存在 例公众号文章,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_2 | string | C | 2级自定义渠道的标识符,2级是针对3级的分类,要求34级数据必须存在 例media,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_2_desc | string | C | 2级自定义渠道的描述,若chan_custom_cat_2存在则必须存在 例媒体,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_1 | string | C | 1级自定义渠道的标识符,1级是针对2级的分类,要求234级数据必须存在 例wechat,若填写了chan_custom相关任一字段需必填 |
chan_custom_cat_1_desc | string | C | 1级自定义渠道的描述,若chan_custom_cat_1存在则必须存在 例微信,若填写了chan_custom相关任一字段需必填 |
extra | object | ||
component | object | 组件是视图上的一个区块元素 | |
component_id | string | 组件ID | |
component_name | string | 组件名称 |
page, page_title, time 等可以自动采集到的数据由 SDK 采集,一般情况下不需要开发回填,具体方法见事件上报。
# 请求示例
let app = getApp()
app.sr.track('expose_sku_component',
{
"sku": {
"sku_id": "AKDFie8-1", // 若商品无sku_id时,可传spu_id信息
"sku_name": "妃子笑荔枝礼盒装(2KG)" // 若商品无sku_name时,可传spu_name信息
},
"spu": {
"spu_id": "AKDFie8", // 若商品无spu_id时,可传sku_id信息
"spu_name": "妃子笑荔枝" // 若商品无spu_name时,可传sku_name信息
},
"sku_category": [
{
"sku_cat_id": "11",
"sku_cat_name": "11",
"sku_parent_cat_id": "null" // 若已是顶级类目,传"null"
}
],
"shipping_shop": {
"shipping_shop_id": "324243", // 到家类型必传
"shipping_shop_name": "后海店" // 到家类型必传
},
"sale": {
"original_price": 49.9,
"current_price": 30.0
},
"primary_image_url": "https://pages/product?sku_id=AOdjf7u.jpg", // 传输后有数商品分析可展示图片
"position_id": 222 // 商品位置的绝对顺序,用于商品搜推优化
// more...
})
let body = {
"type": "expose_sku_component",
"props": {
"sku": {
"sku_id": "AKDFie8-1", // 若商品无sku_id时,可传spu_id信息
"sku_name": "妃子笑荔枝礼盒装(2KG)" // 若商品无sku_name时,可传spu_name信息
},
"spu": {
"spu_id": "AKDFie8", // 若商品无spu_id时,可传sku_id信息
"spu_name": "妃子笑荔枝" // 若商品无spu_name时,可传sku_name信息
},
"sku_category": [
{
"sku_cat_id": "xxxxx",
"sku_cat_name": "水果",
"sku_parent_cat_id": "null" // 若已是顶级类目,传"null"
}
],
"shipping_shop": {
"shipping_shop_id": "324243", // 到家类型必传
"shipping_shop_name": "后海店" // 到家类型必传
},
"sale": {
"original_price": 49.9,
"current_price": 30.0
},
"primary_image_url": "https://pages/product?sku_id=AOdjf7u.jpg", // 传输后有数商品分析可展示图片
"position_id": 222, // 商品位置的绝对顺序,用于商品搜推优化
"page": "pages/product?sku_id=AOdjf7u",
"page_title": "商品详情、商城首页",
"time": "1560409473714",
"wx_user": {
"app_id": "wx9d4f5f22pa099f82",
"open_id": "ogN6X0T-ilsH-XmIdzXtuR1f1r3Q",
"user_id": "548019854034",
"union_id": "o6_bmlsdaXds8d6_sgVt7hM3OPfL",
"local_id": "360b8853-64bf-3fba-e9a0-5abb1e4d7721",
"tag": [
{
"tag_id": "游客",
"tag_name": "游客"
}
]
},
"chan": {
"chan_wxapp_scene": 1037,
"chan_id": "11",
"chan_refer_app_id": "wx9d6f5f6gea059654",
"chan_shop_id": "11",
"chan_shop_name": "11",
"chan_custom": {
"chan_custom_id": "mp-article-12375",
"chan_custom_id_desc": "公众号文章(id=12375)",
"chan_custom_cat_3": "mp-article",
"chan_custom_cat_3_desc": "公众号文章",
"chan_custom_cat_2": "media",
"chan_custom_cat_2_desc": "媒体",
"chan_custom_cat_1": "wechat",
"chan_custom_cat_1_desc": "微信"
}
},
"component": {
"component_id": "",
"component_name": ""
}
}
}
wx.request({
url: "https://zhls.qq.com/api/report?app_id=APPID×tamp=TIMESTAMP&nonce=NONCE",
method: "post",
data: body,
success(res) {
console.log(res)
}
})
# 常见FAQ
问:商品收藏、商品卡曝光、商品卡触发、商品页浏览等行为中要求商品 sku 信息必传。但此时用户还未选择色码款,没有sku信息,如何处理?
答:当商品没有 sku 信息时,sku_id 传 spu_id,sku_name 传 spu_name 即可。
问:我们是超市类小程序,商品只有sku级别,商品卡曝光、商品卡触发、商品页浏览、商品加购等行为中要求商品 spu 信息必传。如何处理?
答:当商品没有 spu 信息时,spu_id 传 sku_id,spu_name 传 sku_name 即可。
问:请问商品卡曝光如何上报?逐个上报影响性能,有没有批量上报的方法?
答:SDK 有队列缓存机制,会批量缓存后一起上报,不会影响性能。