微信公众平台注册小程序。
首先从https://sdk.ptengine.cn/downloads/ptengine_sdk_wx.zip 地址下载sdk。注:包含ptagent.js和ptagent-core.js两个文件。
其次把下载的两个js文件放到小程序的工程目录中,比如uitls目录下。
最后在app.js文件中引入ptagent模块【注意:只需要引入ptagent.js ,不需要引入ptagent-core.js】,在周期函数onShow中调用PtInit方法完成初始化操作。
具体如下图所示:
管理员或者开发者身份在微信小程序后台->设置->开发设置服务器域名添加request合法域名https://mp.ptengine.cn 和 https://appconfigloader.ptengine.cn 。具体如下图所示:
在小程序开发编辑器中,查看控制台中的network是否有加载appConfig的请求,并且status为200,具体如下图所示:
在需要布码的模块引入ptagent模块。
接口定义以及详细描述
/** * Start PtAgent engine, you should invoke it in onShow() lifecyle function of App, * make sure our module can be inited everytime, even though your app is actived from background mode. * @param ptAppKey: String, you can get it as soon as registered an application in our web management backend. * @param appVersion: String, your mini program version number. */ PtInit: function (ptAppKey, appVersion){}
注意事项以及使用说明:
该接口为ptengine采集初始化接口,需要在小程序的app onShow()生命周期方法内调用,请确保在onShow()方法的最开始处调用。
调用示例:
接口定义以及详细描述
/** * If you want to collect app events by yourself, you can invoke this API * @param eventName: String, this value can't be nil or empty * @param properties: {} or undefined, you can bind some event properties for every event, * if you don't need it, just pass undefined. */ PtTrackEvent: function (eventName, properties){}
注意事项以及使用说明:
该接口为ptengine基础事件采集接口,参数eventName不能为空,为空时无采集数据入库。properties为事件的自定义属性值,为{}结构,可传递undefined或者{},其中key/value层级只支持一级扩展。详细请参看调用示例。
调用示例:
ptagent.PtTrackEvent(eventName, { "采集事件接口key1": { "采集事件接口Key11": "采集事件接口Value11" }, #该字段值只支持一级扩展,也就是说字段"采集事件接口key11"的值不能再次为{}对象,只能是数字或者字符串。 "采集事件接口key2": "采集事件接口Value2" });
接口定义以及详细描述
/** * Track the shared event if you need, event name is defined by SDK * you just need to pass the event properties * @param properties: {}, the properties that you want to describe the event */ PtTrackSharedEventForMiniProgram: function (properties) {}
注意事项以及使用说明:
该接口为小程序转发共享事件,事件名为ptmind内定字段,开发者只需要传入自定义的属性即可。值可为空或者undefined。
如该接口不能满足相关采集业务,可通过PtTrackEvent基础采集事件自定义实现。
调用示例:
/** * 采集小程序转发共享事件,事件名为内定字段,只需传自定义属性即可 */ ptagent.PtTrackSharedEventForMiniProgram({ "转发事件接口key1": "转发事件接口Value1", "转发事件接口key2": "转发事件接口Value2" });
2.4 事件时长采集接口
接口定义以及详细描述
/** * You can invoke this method to mark the begin time for the defined event. * @param eventName: String, this value can't be nil or empty */ PtBeginEvent: function (eventName){ }, /** * Mark the end time for defined event, and send event package to server. * You can specific the event properties for yourself at this moment. * @param eventName: String, this value can't be nil or empty, * and must be same with the value passed in PtBeginEvent() * @param properties: {} or undefined. */ PtEndEvent: function (eventName, properties){ },
注意事项以及使用说明:
如果想要统计一个事件的持续时长,比如阅读文章时长,订单生成到付款结束的时长等,都可使用这两个接口来共同实现数据统计。
其中PtBeginEvent接口记录一个事件开始的开始时间,PtEndEvent接口为时间的结算接口,并可传入相关事件的自定义属性值,如不需要可为{}/undefined。
事件名不能为空,为空时无采集数据入库。同时,两个接口必须匹配使用,匹配使用时事件名必须保持一致,否则无法统计相关事件的时长信息。
调用示例:
/** * 采集事件时长接口,开始和结束接口的事件名必须匹配,否则无法采集到相关数据。 * 在PtEndEvent接口中可追加自定义变量值。 */ ptagent.PtBeginEvent("文章A阅读时长事件"); ptagent.PtEndEvent("文章A阅读时长事件", { "事件结束接口key1": "事件结束接口Value1", "事件结束接口key2": "事件结束接口Value2" })
接口定义以及详细描述:
/** * Track the user info if you need, you can also pass the openid, union id by yourself. * @param userID: String, the account info of your mini program. * @param wxOpenID: String, openid that acquired from weixin. * @param wxUnionID: String, unionid that acquired from weixin. * @param userProfiles: {} or undefined, the other info of the account, such as, email, address... */ PtTrackUserInfo: function (userID, wxOpenID, wxUnionID, userProfiles) {}
注意事项以及使用说明:
如果想要统计用户登录后的用户信息,可使用该接口来实现。
userID参数可作为当前用户登录的账号名。wxOpenID和wxUnionID为微信特有字段。这三个字段必须传入一个有效值,不能同时为空或者undefined。
userProperties为用户自定义属性信息,为{}结构,可为空/undefined.
/** * 用户登录接口,用于采集小程序用户注册事件。 */ ptagent.PtTrackUserInfo( userID, //对应协议字段pt_account_id wxOpenID, //微信提供的openid wxUnionID, //微信提供的unionid {//用户登录时的自定义变量信息,选传,key为非内定字段,可自定义 "email": "user@company.com", "address": "beijing-sd-102", ... });
2.6 用户注册接口
接口定义以及详细描述:
/** * @param userInfo: Object * @param properties: {} or undefined, the other info for register. */ PtTrackUserRegister: function (userInfo, properties){}
注意事项以及使用说明:
如果想要统计用户注册信息,可使用该接口来实现。
userInfo为Object对象,具体字段信息参看调用示例。
调用示例:
/** * 用户注册具体信息接口,用于采集小程序用户注册事件。 * pt_xxx字段为协议内定字段,不可随意改变,其他类型字段可根据业务随意变更。 */ ptagent.PtTrackUserRegister({ "pt_account_id": "", //内定字段,用户注册的账户信息, 必传 "pt_gender": "", //内定字段,用户性别, 选传 "pt_age": "", //内定字段,用户年龄, 选传 "pt_register_country": "", //内定字段,用户注册时选择的国家信息, 选传 "pt_register_subdivision": "", //内定字段,用户注册时选择的国家下属行政地区信息, 选传 "pt_register_city": "" //内定字段,用户注册时选择的城市信息, 选传 }, { //用户注册时的自定义变量信息,选传,key为非内定字段,可自定义 "email": "user@company.com", "address": "beijing-sd-102", ... });
接口定义以及详细描述:
/** * If you need to track some error info package, just invoke it. * @param exceptionCode: String, error code that you want to defined. * @param exceptionInfo: String, error or stack/heap info */ PtTrackException: function (exceptionCode, exceptionInfo){}
注意事项以及使用说明:
如果想要统计业务上的异常或者错误信息,可用该接口来实现,比如登录失败,异常捕获等。
调用示例:
/** * 采集小程序错误信息接口,业务异常或者程序报错回调中均可使用该接口采集错误数据。 */ ptagent.PtTrackException(code, info);
接口定义以及详细描述:
/** * For all the Page containers, we have already collected as "pv" data automatically, * so you DON't need to invoke this API to collect the Page's "pv" data by youself, * otherwise, pv data will be collected twice with the different name for one Page. * But in some cases, you can invoke it to define a value as "pv" based on some bussiness for the other view containers (NOT Page), for example <href>... * @param pageViewName: String page name, this value can't be empty and nil * @param pageProperties: {} or undefined, you can pass some info as the properties for the Page */ PtTrackPVForCustomView: function (pageViewName, pageProperties){}
注意事项以及使用说明:
当小程序页面切换时,SDK会自动采集PV事件。如果用户期望在不切换页面的时候某些区域或者动态的弹层也作为一个pv事件来采集,则可以使用该接口来实现。
pageViewName参数不能为空,为空时无采集数据入库。
pageProperties为pv的自定义属性,可以为{}/undefined.
调用示例:
/** * 采集虚拟pv事件,sdk首先会默认采集页面切换后的pv数据,如果不切换页面时某些区域或者页面弹层也想作为一个pv事件的话,可以采用该接口来实现。 */ ptagent.PtTrackPVForCustomView(pvName, { "自定义PV接口key1": "自定义PV接口Value1", "自定义PV接口key2": "自定义PV接口Value2" })
接口定义以及详细描述:
/** * At first, you need to know that all the PV data(JUST FOR Page Object) is collected automatically * by PTTrack SDK, and the default page name is the route value of Page. * But you have a change to redefine this value, you can invoke this method as soon as onShow() of Page * is invoked * @param pageViewName: String new page name that you want to defined * @param pageProperties: {} or undefined. */ PtRedefinePVName: function (pageViewName, pageProperties){}
注意事项以及使用说明:
当小程序页面切换时,SDK会自动采集PV事件。默认采集的PV 名称为当前页面的路径值,没有具体的业务含义,SDK提供了一次修改该值的机会,用户可以根据自己的业务场景来自定义SDK自动采集的PV中的相关的值。
该接口必须在每个页面的onShow()方法一开始出即可调用,否则修改值可能无效。
pvName参数为自定义的具有业务含义的页面名称. 如果为空/undefined,则修改无效。
pageProperties为页面的自定义属性,如果pvName为空,但pageProperties有效,则修改依然有效, 此时pvName依然为当前页面的路径值。
调用示例:
/** * 对于SDK自动采集的pv事件,默认的pageName, pageID为当前页面的路径值,没有具体的业务含义。并且不包含自定义属性。 * 如果想要重新定义SDK自动采集的pv数据中的pageName,可以调用如下接口,但必须在小程序各自页面的onShow()方法最开始的地方进行调用才能有效。 */ ptagent.PtRedefinePVName(pvName, { "自定义PV接口key1": "自定义PV接口Value1", "自定义PV接口key2": "自定义PV接口Value2" })
2.10 获取当前PtAgent SDK的版本号
示例:ptagent.PtSDKVersion();
示例:ptagent.PtEnableLogOutput();
默认为关闭状态。打开后在小程序开发编辑器中的console看到输出的log信息,包括调用的各个接口信息以及发送包数据。
接口定义以及详细描述:
/** * Track the event info for e-commerce application, please see the documents for the detail. * @param actionType: String, ptmind specific value * @param productInfo: {}, can NOT be empty or undefined. * @param properties: {}/undefiend, user defined properties. */ PTTrackActionForEcommerce: function (actionType, productInfo, properties){}
注意事项以及使用说明:
所有电商接口共用此接口,通过不同的参数来实现接口分发。
actionType参数值为ptmind内定字段,包括:
"pt_impression" //(商品展示信息), "pt_product_detail" //(商品详情信息), "pt_add_cart" //(添加购物车信息), "pt_remove_cart" //(删除购物车信息), "pt_check_out" //(生成订单详细信息), "pt_purchase" //(付款信息), "pt_refund" //(退货信息), "pt_add_favorite" //(添加收藏夹信息), "pt_remove_favorite" //(删除收藏夹信息)
productInfo参数值为相关actionType的详细的产品信息,为{}结构,字段为ptmind内定字段,每个actionType对应的productInfo结构都不一致,具体参看下面每个接口的调用示例。
properties参数为每个actionType事件的自定义属性信息,可以为空{}/undefined。字段和值均为用户自定义。
3.1 商品展示信息
调用示例:
必填字段: pt_source, pt_product_id
/** * 商品展示信息, 表示被查看的所有产品的相关信息 */ var productInfo = { "pt_account_id": "", //用户登录的账号id, 选填 "pt_source": "", //显示商品展示的来源,比如通过主页,搜索等方式显示出来的。必填 "pt_ad_creative_id": "", ///促销活动的 ID(例如 PROMO_1234)。*此字段与 name 字段必须至少设置一个。选填 "pt_ad_position": "", //广告素材的位置(例如 banner_slot_1). 选填 "pt_promo_info": "", //促销活动的名称(例如夏季促销).选填 "pt_promo_properties": {//与促销活动相关的自定义属性,{}.选填 "pt_promo_properties_k1": "pt_promo_properties_v1", "pt_promo_properties_k2": "pt_promo_properties_v2", }, "pt_products":[ //该字段值为数组类型,为必填字段 { "pt_product_id": '',//商品ID 或 SKU(例如 P67890).必填 "pt_product_name": '',//商品名称.选填 "pt_product_brand": '',//商品品牌.选填 "pt_product_category": '',//产品所属的类别(例如服装),可以使用 / 作为分隔符来指定最多 5 个层级(例如服装/男装/T 恤)。选填 "pt_product_variant": '',//产品的细分款式(例如黑色).选填 "pt_product_position": 2,//产品在列表或集合中的位置(例如 2).选填 "pt_product_price": 20.20,//产品的价格(例如 29.20)。选填 "pt_product_currency_code": "RMB", //产品的货币代码(USD, RMB),列表参看:https://support.google.com/analytics/answer/6205902?hl=zh-Hans#supported-currencies. 是否必须根据具体接口来定 "pt_product_coupon": '', //与产品关联的优惠券代码(例如 SUMMER_SALE13).选填 "pt_product_quantity": 3,//产品数量,选填 "pt_product_properties": {//与产品相关的自定义属性,{}. 选填 "product_key3": "product_value4", "product_key4": "product_value4" }, "pt_product_list":'search result'//产品在列表或集合(例如搜索结果),选填 } ] } //商品自定义属性 var properties = { "impress_pro_key1": "impress_pro_value1", "impress_pro_key2": "impress_pro_value2" }; ptagent.PTTrackActionForEcommerce( "pt_impression", //该字段为协议接口类型,为内定值,不可改变,传"pt_impression"表示使用电商采集协议的商品展示信息接口 productInfo, properties);
3.2 商品详情
调用示例:
必填字段: pt_source, pt_product_id
var productInfo = {//详细字段信息请参看协议文档,如有差异,具体字段以文档为准。 "pt_account_id": "", //用户登录的账号id, 选填 "pt_source": "", //显示商品展示的来源,比如通过主页,搜索等方式显示出来的。必填 "pt_ad_creative_id": "", ///促销活动的 ID(例如 PROMO_1234)。*此字段与 name 字段必须至少设置一个。选填 "pt_ad_position": "", //广告素材的位置(例如 banner_slot_1). 选填 "pt_promo_info": "", //促销活动的名称(例如夏季促销).选填 "pt_promo_properties": {//与促销活动相关的自定义属性,{}.选填 "pt_promo_properties_k1": "pt_promo_properties_v1", "pt_promo_properties_k2": "pt_promo_properties_v2", }, "pt_product_id": '',//商品ID 或 SKU(例如 P67890).必填 "pt_product_name": '',//商品名称.选填 "pt_product_brand": '',//商品品牌.选填 "pt_product_category": '',//产品所属的类别(例如服装),可以使用 / 作为分隔符来指定最多 5 个层级(例如服装/男装/T 恤)。选填 "pt_product_variant": '',//产品的细分款式(例如黑色).选填 "pt_product_position": 2,//产品在列表或集合中的位置(例如 2).选填 "pt_product_price": 20.20,//产品的价格(例如 29.20)。选填 "pt_product_currency_code": "RMB", //产品的货币代码(USD, RMB),列表参看:https://support.google.com/analytics/answer/6205902?hl=zh-Hans#supported-currencies. 是否必须根据具体接口来定 "pt_product_coupon": '', //与产品关联的优惠券代码(例如 SUMMER_SALE13).选填 "pt_product_quantity": 3,//产品数量,选填 "pt_product_properties": {//与产品相关的自定义属性,{}. 选填 "product_key3": "product_value4", "product_key4": "product_value4" }, "pt_product_list":'search result'//产品在列表或集合(例如搜索结果),选填 } //商品自定义属性 var properties = { "detail_pro_key1": "detail_pro_value1", "detail_pro_key2": "detail_pro_value2" }; ptagent.PTTrackActionForEcommerce("pt_product_detail", productInfo, properties);
调用示例:
必填字段: pt_source, pt_product_id
var productInfo = {//详细字段信息请参看协议文档,如有差异,具体字段以文档为准。 "pt_account_id": "", //用户登录的账号id, 选填 "pt_source": "", //显示商品展示的来源,比如通过主页,搜索等方式显示出来的。必填 "pt_ad_creative_id": "", ///促销活动的 ID(例如 PROMO_1234)。*此字段与 name 字段必须至少设置一个。选填 "pt_ad_position": "", //广告素材的位置(例如 banner_slot_1). 选填 "pt_promo_info": "", //促销活动的名称(例如夏季促销).选填 "pt_promo_properties": {//与促销活动相关的自定义属性,{}.选填 "pt_promo_properties_k1": "pt_promo_properties_v1", "pt_promo_properties_k2": "pt_promo_properties_v2", }, "pt_product_id": '',//商品ID 或 SKU(例如 P67890).必填 "pt_product_name": '',//商品名称.选填 "pt_product_brand": '',//商品品牌.选填 "pt_product_category": '',//产品所属的类别(例如服装),可以使用 / 作为分隔符来指定最多 5 个层级(例如服装/男装/T 恤)。选填 "pt_product_variant": '',//产品的细分款式(例如黑色).选填 "pt_product_position": 2,//产品在列表或集合中的位置(例如 2).选填 "pt_product_price": 20.20,//产品的价格(例如 29.20)。选填 "pt_product_currency_code": "RMB", //产品的货币代码(USD, RMB),列表参看:https://support.google.com/analytics/answer/6205902?hl=zh-Hans#supported-currencies. 是否必须根据具体接口来定 "pt_product_coupon": '', //与产品关联的优惠券代码(例如 SUMMER_SALE13).选填 "pt_product_quantity": 3,//产品数量,选填 "pt_product_properties": {//与产品相关的自定义属性,{}. 选填 "product_key3": "product_value4", "product_key4": "product_value4" }, "pt_product_list":'search result'//产品在列表或集合(例如搜索结果),选填 } //商品自定义属性 var properties = { "detail_pro_key1": "detail_pro_value1", "detail_pro_key2": "detail_pro_value2" }; ptagent.PTTrackActionForEcommerce("pt_add_cart", productInfo, properties);
3.4 移除购物车
调用示例:
必填字段: pt_source, pt_product_id
var productInfo = {//详细字段信息请参看协议文档,如有差异,具体字段以文档为准。 "pt_account_id": "", //用户登录的账号id, 选填 "pt_source": "", //显示商品展示的来源,比如通过主页,搜索等方式显示出来的。必填 "pt_ad_creative_id": "", ///促销活动的 ID(例如 PROMO_1234)。*此字段与 name 字段必须至少设置一个。选填 "pt_ad_position": "", //广告素材的位置(例如 banner_slot_1). 选填 "pt_promo_info": "", //促销活动的名称(例如夏季促销).选填 "pt_promo_properties": {//与促销活动相关的自定义属性,{}.选填 "pt_promo_properties_k1": "pt_promo_properties_v1", "pt_promo_properties_k2": "pt_promo_properties_v2", }, "pt_product_id": '',//商品ID 或 SKU(例如 P67890).必填 "pt_product_name": '',//商品名称.选填 "pt_product_brand": '',//商品品牌.选填 "pt_product_category": '',//产品所属的类别(例如服装),可以使用 / 作为分隔符来指定最多 5 个层级(例如服装/男装/T 恤)。选填 "pt_product_variant": '',//产品的细分款式(例如黑色).选填 "pt_product_position": 2,//产品在列表或集合中的位置(例如 2).选填 "pt_product_price": 20.20,//产品的价格(例如 29.20)。选填 "pt_product_currency_code": "RMB", //产品的货币代码(USD, RMB),列表参看:https://support.google.com/analytics/answer/6205902?hl=zh-Hans#supported-currencies. 是否必须根据具体接口来定 "pt_product_coupon": '', //与产品关联的优惠券代码(例如 SUMMER_SALE13).选填 "pt_product_quantity": 3,//产品数量,选填 "pt_product_properties": {//与产品相关的自定义属性,{}. 选填 "product_key3": "product_value4", "product_key4": "product_value4" }, "pt_product_list":'search result'//产品在列表或集合(例如搜索结果),选填 } //商品自定义属性 var properties = { "detail_pro_key1": "detail_pro_value1", "detail_pro_key2": "detail_pro_value2" }; ptagent.PTTrackActionForEcommerce("pt_remove_cart", productInfo, properties);
调用示例:
必填字段: pt_source, pt_product_id, pt_order_id
var productInfo = {//详细字段信息请参看协议文档,如有差异,具体字段以文档为准。 "pt_account_id": "", //用户登录的账号id, 选填 "pt_source": "", //显示商品展示的来源,比如通过主页,搜索等方式显示出来的。必填 "pt_ad_creative_id": "", ///促销活动的 ID(例如 PROMO_1234)。*此字段与 name 字段必须至少设置一个。选填 "pt_ad_position": "", //广告素材的位置(例如 banner_slot_1). 选填 "pt_promo_info": "", //促销活动的名称(例如夏季促销).选填 "pt_promo_properties": {//与促销活动相关的自定义属性,{}.选填 "pt_promo_properties_k1": "pt_promo_properties_v1", "pt_promo_properties_k2": "pt_promo_properties_v2", }, "pt_order_id": "abd1237218321", 订单ID, 必传 "pt_payment_amount":50.33,支付总金额,必传,Float类型 "pt_products":[ "pt_product_id": '',//商品ID 或 SKU(例如 P67890).必填 "pt_product_name": '',//商品名称.选填 "pt_product_brand": '',//商品品牌.选填 "pt_product_category": '',//产品所属的类别(例如服装),可以使用 / 作为分隔符来指定最多 5 个层级(例如服装/男装/T 恤)。选填 "pt_product_variant": '',//产品的细分款式(例如黑色).选填 "pt_product_position": 2,//产品在列表或集合中的位置(例如 2).选填 "pt_product_price": 20.20,//产品的价格(例如 29.20)。选填 "pt_product_currency_code": "RMB", //产品的货币代码(USD, RMB),列表参看:https://support.google.com/analytics/answer/6205902?hl=zh-Hans#supported-currencies. 是否必须根据具体接口来定 "pt_product_coupon": '', //与产品关联的优惠券代码(例如 SUMMER_SALE13).选填 "pt_product_quantity": 3,//产品数量,选填 "pt_product_properties": {//与产品相关的自定义属性,{}. 选填 "product_key3": "product_value4", "product_key4": "product_value4" }, "pt_product_list":'search result'//产品在列表或集合(例如搜索结果),选填 ] } //商品自定义属性 var properties = { "checkout_pro_key1": "checkout_pro_value1", "checkout_pro_key2": "checkout_pro_value2" }; ptagent.PTTrackActionForEcommerce("pt_check_out", productInfo, properties);
必填字段: pt_account_id, pt_source, pt_product_id, pt_order_id
var productInfo = {//详细字段信息请参看协议文档,如有差异,具体字段以文档为准。 "pt_account_id": "", //用户登录的账号id, 必填 "pt_source": "", //显示商品展示的来源,比如通过主页,搜索等方式显示出来的。必填 "pt_ad_creative_id": "", ///促销活动的 ID(例如 PROMO_1234)。*此字段与 name 字段必须至少设置一个。选填 "pt_ad_position": "", //广告素材的位置(例如 banner_slot_1). 选填 "pt_promo_info": "", //促销活动的名称(例如夏季促销).选填 "pt_promo_properties": {//与促销活动相关的自定义属性,{}.选填 "pt_promo_properties_k1": "pt_promo_properties_v1", "pt_promo_properties_k2": "pt_promo_properties_v2", }, "pt_order_id": "abd1237218321", 订单ID, 必传 "pt_payment_amount":50.33,支付总金额,必传,Float类型 "pt_payment_type": "",选填 "pt_tax": "pt_tax",选填 "pt_shipping": "pt_shipping",选填 "pt_products":[ "pt_product_id": '',//商品ID 或 SKU(例如 P67890).必填 "pt_product_name": '',//商品名称.选填 "pt_product_brand": '',//商品品牌.选填 "pt_product_category": '',//产品所属的类别(例如服装),可以使用 / 作为分隔符来指定最多 5 个层级(例如服装/男装/T 恤)。选填 "pt_product_variant": '',//产品的细分款式(例如黑色).选填 "pt_product_position": 2,//产品在列表或集合中的位置(例如 2).选填 "pt_product_price": 20.20,//产品的价格(例如 29.20)。选填 "pt_product_currency_code": "RMB", //产品的货币代码(USD, RMB),列表参看:https://support.google.com/analytics/answer/6205902?hl=zh-Hans#supported-currencies. 是否必须根据具体接口来定 "pt_product_coupon": '', //与产品关联的优惠券代码(例如 SUMMER_SALE13).选填 "pt_product_quantity": 3,//产品数量,选填 "pt_product_properties": {//与产品相关的自定义属性,{}. 选填 "product_key3": "product_value4", "product_key4": "product_value4" }, "pt_product_list":'search result'//产品在列表或集合(例如搜索结果),选填 ] } //商品自定义属性 var properties = { "pt_purchase_pro_key1": "pt_purchase_pro_value1", "pt_purchase_pro_key2": "pt_purchase_pro_value2" }; ptagent.PTTrackActionForEcommerce("pt_purchase", productInfo, properties);
必填字段: pt_account_id, pt_source, pt_product_id
var productInfo = {//详细字段信息请参看协议文档,如有差异,具体字段以文档为准。 "pt_account_id": "", //用户登录的账号id, 必填 "pt_source": "", //显示商品展示的来源,比如通过主页,搜索等方式显示出来的。必填 "pt_ad_creative_id": "", ///促销活动的 ID(例如 PROMO_1234)。*此字段与 name 字段必须至少设置一个。选填 "pt_ad_position": "", //广告素材的位置(例如 banner_slot_1). 选填 "pt_promo_info": "", //促销活动的名称(例如夏季促销).选填 "pt_promo_properties": {//与促销活动相关的自定义属性,{}.选填 "pt_promo_properties_k1": "pt_promo_properties_v1", "pt_promo_properties_k2": "pt_promo_properties_v2", }, "pt_payment_type": "",选填 "pt_tax": "pt_tax",选填 "pt_shipping": "pt_shipping",选填 "pt_products":[ "pt_product_id": '',//商品ID 或 SKU(例如 P67890).必填 "pt_product_name": '',//商品名称.选填 "pt_product_brand": '',//商品品牌.选填 "pt_product_category": '',//产品所属的类别(例如服装),可以使用 / 作为分隔符来指定最多 5 个层级(例如服装/男装/T 恤)。选填 "pt_product_variant": '',//产品的细分款式(例如黑色).选填 "pt_product_position": 2,//产品在列表或集合中的位置(例如 2).选填 "pt_product_price": 20.20,//产品的价格(例如 29.20)。选填 "pt_product_currency_code": "RMB", //产品的货币代码(USD, RMB),列表参看:https://support.google.com/analytics/answer/6205902?hl=zh-Hans#supported-currencies. 是否必须根据具体接口来定 "pt_product_coupon": '', //与产品关联的优惠券代码(例如 SUMMER_SALE13).选填 "pt_product_quantity": 3,//产品数量,选填 "pt_product_properties": {//与产品相关的自定义属性,{}. 选填 "product_key3": "product_value4", "product_key4": "product_value4" }, "pt_product_list":'search result'//产品在列表或集合(例如搜索结果),选填 ] } //商品自定义属性 var properties = { "pt_refund_pro_key1": "pt_refund_pro_value1", "pt_refund_pro_key2": "pt_refund_pro_value2" }; ptagent.PTTrackActionForEcommerce("pt_refund", productInfo, properties);
必填字段: pt_source, pt_product_id
var productInfo = {//详细字段信息请参看协议文档,如有差异,具体字段以文档为准。 "pt_account_id": "", //用户登录的账号id, 选填 "pt_source": "", //显示商品展示的来源,比如通过主页,搜索等方式显示出来的。必填 "pt_ad_creative_id": "", ///促销活动的 ID(例如 PROMO_1234)。*此字段与 name 字段必须至少设置一个。选填 "pt_ad_position": "", //广告素材的位置(例如 banner_slot_1). 选填 "pt_promo_info": "", //促销活动的名称(例如夏季促销).选填 "pt_promo_properties": {//与促销活动相关的自定义属性,{}.选填 "pt_promo_properties_k1": "pt_promo_properties_v1", "pt_promo_properties_k2": "pt_promo_properties_v2", }, "pt_product_id": '',//商品ID 或 SKU(例如 P67890).必填 "pt_product_name": '',//商品名称.选填 "pt_product_brand": '',//商品品牌.选填 "pt_product_category": '',//产品所属的类别(例如服装),可以使用 / 作为分隔符来指定最多 5 个层级(例如服装/男装/T 恤)。选填 "pt_product_variant": '',//产品的细分款式(例如黑色).选填 "pt_product_position": 2,//产品在列表或集合中的位置(例如 2).选填 "pt_product_price": 20.20,//产品的价格(例如 29.20)。选填 "pt_product_currency_code": "RMB", //产品的货币代码(USD, RMB),列表参看:https://support.google.com/analytics/answer/6205902?hl=zh-Hans#supported-currencies. 是否必须根据具体接口来定 "pt_product_coupon": '', //与产品关联的优惠券代码(例如 SUMMER_SALE13).选填 "pt_product_quantity": 3,//产品数量,选填 "pt_product_properties": {//与产品相关的自定义属性,{}. 选填 "product_key3": "product_value4", "product_key4": "product_value4" }, "pt_product_list":'search result'//产品在列表或集合(例如搜索结果),选填 } //商品自定义属性 var properties = { "pt_add_favorite_pro_key1": "pt_add_favorite_pro_value1", "pt_add_favorite_pro_key2": "pt_add_favorite_pro_value2" }; ptagent.PTTrackActionForEcommerce("pt_add_favorite", productInfo, properties);
必填字段: pt_source, pt_product_id
var productInfo = {//详细字段信息请参看协议文档,如有差异,具体字段以文档为准。 "pt_account_id": "", //用户登录的账号id, 选填 "pt_source": "", //显示商品展示的来源,比如通过主页,搜索等方式显示出来的。必填 "pt_ad_creative_id": "", ///促销活动的 ID(例如 PROMO_1234)。*此字段与 name 字段必须至少设置一个。选填 "pt_ad_position": "", //广告素材的位置(例如 banner_slot_1). 选填 "pt_promo_info": "", //促销活动的名称(例如夏季促销).选填 "pt_promo_properties": {//与促销活动相关的自定义属性,{}.选填 "pt_promo_properties_k1": "pt_promo_properties_v1", "pt_promo_properties_k2": "pt_promo_properties_v2", }, "pt_product_id": '',//商品ID 或 SKU(例如 P67890).必填 "pt_product_name": '',//商品名称.选填 "pt_product_brand": '',//商品品牌.选填 "pt_product_category": '',//产品所属的类别(例如服装),可以使用 / 作为分隔符来指定最多 5 个层级(例如服装/男装/T 恤)。选填 "pt_product_variant": '',//产品的细分款式(例如黑色).选填 "pt_product_position": 2,//产品在列表或集合中的位置(例如 2).选填 "pt_product_price": 20.20,//产品的价格(例如 29.20)。选填 "pt_product_currency_code": "RMB", //产品的货币代码(USD, RMB),列表参看:https://support.google.com/analytics/answer/6205902?hl=zh-Hans#supported-currencies. 是否必须根据具体接口来定 "pt_product_coupon": '', //与产品关联的优惠券代码(例如 SUMMER_SALE13).选填 "pt_product_quantity": 3,//产品数量,选填 "pt_product_properties": {//与产品相关的自定义属性,{}. 选填 "product_key3": "product_value4", "product_key4": "product_value4" }, "pt_product_list":'search result'//产品在列表或集合(例如搜索结果),选填 } //商品自定义属性 var properties = { "pt_remove_favorite_pro_key1": "pt_remove_favorite_pro_value1", "pt_remove_favorite_pro_key2": "pt_remove_favorite_pro_value2" }; ptagent.PTTrackActionForEcommerce("pt_remove_favorite", productInfo, properties);
如何生成携带自定义场景值参数的码,详情请参考小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html
调用接口传参添加参数名为pt_wx_qrcode,如下图:
或者在小程序开发工具中测试场景时亦可添加启动参数pt_wx_qrcode,如下图: