神策数据盛永根:微信生态——全数据采集和打通

1.jpeg

本文根据神策数据盛永根《微信生态数字化运营跨端数据采集方案》直播整理而得,本文的主要内容如下:

·       微信生态常见应用介绍

·       微信生态数据采集

·     各应用间的数据打通

 

一、微信生态介绍

1. 微信公众平台

公众平台主要包含小程序、服务号、订阅号和微信网页。日常运营都是在公众平台进行,比如修改公众号文章,上传小程序等。

2. 微信开放平台

开放平台通常包含四个方面:

·       移动应用。若 App 要给用户提供微信的分享功能、支付功能等,就需要接入到开放平台中。接入后,用户就可以分享内容到小程序,或者跳转到小程序。

·       网站应用。若网站需要提供微信登录功能,也需要在开放平台绑定,绑定后用户就可以用微信扫码登录网站。

·       第三方平台开发。一些公众号的运营者没有开发能力,这时候借助第三方平台,只要授权就可以使用需要开发的功能。

·       账号绑定。在这里把小程序、公众号账号绑定后,才能得到一个一致的 UnionID。

3. 微信

微信群聊、微信朋友圈、微信视频号、微信收藏等,这些是微信本身自带的功能。 

4. 微信生态用户信息

微信生态的数据打通,关键在用户的 ID 是否打通。下面我们分析下微信生态用户标识中常见的几个 ID 的概念:

·     AppID 和 AppSecret:公众号和小程序都会有一个 AppID 用来标识当前的微信应用,而如果需要开发的话,接口的请求都需要用到 AppSecret。

·     微信用户 ID:微信用户 ID 是有加密的,是无法拿到的。一般我们使用微信机器人开发的话,常用的是微信号或者微信昵称作为 ID。

·       OpenID:在微信应用(公众号、小程序等)默认使用 OpenID,在开发中请求的接口返回的一般都是 OpenID。在小程序或微信网页里不用做授权,静默情况下也能拿到 OpenID。可以说 OpenID 是微信生态里最重要的一个 ID。可以理解 OpenID 是通过 AppID 和微信用户 ID 加密得到的,其与微信应用(每个应用会有 AppID)相关,每个微信应用都会生成一个唯一的用户的识别。

·     UnionID:在微信开放平台里面,做了账号绑定后,就会生成一个统一的 UnionID,绑定后的微信应用(小程序、公众号等)都可以使用一个 ID。获取 UnionID 需要经过用户授权。

·     UUID:主要是针对于前端的设备,比如小程序或者网页的,因为获取 OpenID 需要一定的开发,所以如果在获取不到的情况下,我们一般会给当前浏览器或者小程序生成一个随机的 ID。

·       UserID:用户的真实 ID,一般是存在数据库的 ID。

 

二、微信生态数据采集

常见的微信生态的数据采集主要包括:公众号的数据采集、微信内网页数据采集、小程序和小游戏数据采集、微信本身的数据采集。

1. 公众号的数据采集

公众号分为服务号及订阅号,简单列举几条不同点:

·       订阅号一天能发一条消息,但服务号一个月仅可发 4 条消息。

·     订阅号不支持服务号的部分接口,服务号相对订阅号提供的功能更多。比如订阅号不支持模板消息,不支持获取地理位置,不能生成带参数的二维码,即订阅号无法识别二维码是谁分享过来的。

·     订阅号个人和企业均可申请,服务号要求更加严格,仅企业可申请。

·     订阅号偏信息传达,服务号偏交互服务。

·       订阅号在微信中会合并在订阅号中,服务号每个是一个单独的窗口。

公众号提供了如下接口:普通消息、事件推送、回复消息、群发消息、客服消息、模板消息、一次性订阅消息、其它功能。

用户在公众号里输入一条普通消息后,后端能接收到的文本消息数据如下图左边部分:

2.jpeg

此时使用神策 Java SDK 发送文本消息事件,代码如上图右半部分。

下面具体介绍微信公众号可以采集的事件:

·       普通消息。它分为文本、视频、图片、小视频、语音、链接。

·     事件推送。它可以创建用户关注公众号或取消关注、扫描二维码、上报地理位置、点击自定义菜单事件。

·     回复消息。它也可以分为 6 种类型:文本、图片、语音、视频、音乐、图文消息。比如用户输入一个消息——上课,后端回复一个上课的链接的回复消息,用户点击这个回复消息,就可以实现跳转到上课的页面。

·     群发消息。订阅号,每天发 1 条,服务号每个月可发 4 条。

·     客服消息。如果触发以下类型的交互:用户关注了公众号,支付成功,扫描了二维码,或者点击了自定义菜单中的推事件,在 48 小时内可在公众号内推送一条数据。

·     模板消息。它是不需要做交互的,当触发特定模板场景下的事件时,可以针对所有人发送模板消息,且不限次数。正常情况下,关注量少于 10W 粉丝时,最多 1 天可发 10W 消息,超过 10W 时按比例提升。例如,顺丰速运服务号,用户绑定微信后就能收到快递信息,这就是模板消息。但是模板消息也会有一些限制,比如,不可推送与营销相关的东西,会存在被封号的风险。

·     一次性订阅。App 或公众号,可以弹出一次性订阅消息的授权,用户确认后,可以发送模板消息。这时可以采集两个事件,一个是在前端的消息授权事件,一个是消息发送事件。

·       微信卡券。比如超市的会员卡、优惠券,当被用户领取、转增、删除或者内容更新时等用户都可接收到信息,这些内容也都可以做成一个个事件。

上面介绍了可采集的数据,同时还有几个常用的运营功能:

·       用户打标签:可以创建 100 个标签,但一个用户只能有一个。

·     创建个性化菜单:根据用户标签、性别、手机操作系统、地区、语言提供个性化菜单。

·     创建带参数的二维码:临时二维码,最长30天,数量足够大;永久二维码,无过期时间,最多 10 万个。

·       长链接转短链接。

总结公众号的数据采集,简单总结下:

·       公众号的事件都是后端发送的预置事件。

·     针对非开发者,通过第三方平台一键授权即可采集。

·     事件属性,基本不可修改,不方便扩展。

·       OpenID 是默认的 ID,不会像网页一样存在 UUID。

2. 微信内网页数据采集

微信网页若没有在公众号里配置,就仅是一个浏览器打开的传统网页,没有微信的一些功能;但如果其在公众号里进行配置,可以实现两个功能:

第一,可以使用神策的 Web JS SDK 去采集数据,跟传统的浏览器打开的网页效果基本一致,但可能存在一些兼容性问题。

在微信每个网页的代码中,加入神策的 Web JS SDK,即可采集以下事件,并可以做点击分析和触达率分析:

·       页面浏览事件,属性包括:前向地址、页面地址、页面路径、页面标题、广告来源、是否首日、是否首次。

·     元素点击事件,即用户在页面上点击的时候,就会自动采集这一事件,属性包括:前向地址、页面地址、页面路径、页面标题、元素 ID、元素内容、元素样式名、元素类型、元素选择器、元素链接地址。

·     页面滚动事件,属性包括:页面地址、页面路径、页面标题、视区高度、视区宽度、视区距顶部的位置、停留时长。

·     自定义事件,属性包括:设备相关的属性(屏幕宽高、设备型号、操作系统)、浏览器相关的属性(浏览器名称、浏览器版本)、流量来源类型、搜索引擎关键词、最近一次去到相关的信息、自定义属性(结合业务需求,比如订单信息、商品信息等)。Web JS SDK 可以自定义各种事件。比如说,用户将商品加入购物车,可以设置一个加入购物车事件,把当前商品的 ID 作为它的属性。

·       点击效果分析。采集到点击事件后,就可以做一个点击效果分析,比如某个按钮用户点击次数、点击率、点击占比,如下图。

3.jpeg

·     触达率分析,可以查看用户页面滚动的具体位置。

第二,通过微信 JS SDK 增强微信数据采集。原理是,微信在 WebView 中通过注入 JSBridge 相关脚本,使得网页拥有部分微信 App 的功能(这也就是所谓的 Hybrid 技术)。

只需要在微信各个网页代码中,加入微信 JS-SDK,就可以使用,但使用时需要在公众号后台中做设置:

·       需要设置“JS 接口安全域名”才能使用 JS-SDK。

·       需要设置“业务域名”才能去掉安全提示,否则有可能出现安全提示。比如,在微信打开一个本地的 IP 地址,就会出现提示,“这个页面不安全”。

微信的 JS-SDK 可以采集的事件:

常见的是微信的分享的事件,如果用户触发了分享。我们可以采集分享成功事件,属性包括:页面地址、分享标题、分享描述、分享链接、分享图片。

除此之外还有如图片、录音、摇一摇、微信扫码、微信支付等事件。

例如,在微信网页里用户也能够像在 App 中一样打开图片,并且进行上传和下载,在网页里面还可以去录音,这些都可以做为事件。

其次,微信的 JS-SDK 还可以采集到一些额外的属性,如网络的类型(Wifi、3G、4G)、地理位置(经度、纬度、地址详情、缩放比例)、收货地址(姓名、邮编、详细地址、电话)等,这些属性都是在传统的网页中无法获取的。

简单总结微信网页内数据采集:

·       默认的 ID 是 UUID,建议用 OpenID,但从前端获取 OpenID 有一定的技术开发工作,不一定都能取到。

·     通过微信 JS-SDK 可以新增微信分享等预置事件。

·     通过微信 JS-SDK 可以新增网页本身不能采集到的地理位置,网络类型等属性。

·       微信网页中可以直接使用神策 Web JS SDK。

3. 小程序和小游戏数据采集

有些人可能认为小游戏也是小程序,其实是不同的:

·       开发方式不同。小游戏基于 Canvas 开发一般都会使用游戏引擎开发,比如 Cocos、Egret、Laya、Unity等;小程序使用微信自定义的WXML,WXSS,类似于传统网页的 HTML 和 CSS 开发,常用的框架比如Mpvue、Wepy、Taro。

·     小程序有页面的概念,小游戏是基于画面帧数。

·       部分 API 不通用。

小程序和小游戏也有共同点:

·       生命周期类似,都会有启动、显示、隐藏。

·     微信提供的系统 API 基本一致,发送请求,获取网络信息。

·     系统都提供了相同开放能力,比如订阅消息。

·       都是基于 JS 开发。

小程序与网页都属于前端事件,一般建议使用 OpenID,但是 OpenID 需要一定开发量,所以默认会使用 UUID。用户登陆之后,同样建议以一个真实的 ID 即 UserID 为准实现用户关联。

下面是使用神策微信小程序 SDK 和 微信小游戏 SDK 后,共同可采集的预置事件:

·       小程序启动,属性包括:启动场景、页面参数、页面路径、UTM 相关的广告系列参数、是否首次、分享相关属性(层级、分享者、分享时的页面路径)。

·     小程序显示,属性包括:启动场景、页面参数、页面路径、UTM 相关的广告系列参数、分享相关属性(层级、分享者、分享时的页面路径)。

·     小程序分享,转发的时候就会触发这个事件,属性包括:分享时的层级、页面路径。

·     小程序进入后台,属性包括:页面停留时长和页面路径。

·     小程序页面浏览(仅限微信小程序),属性包括:页面参数、页面路径、UTM 相关的广告系列参数。

·       小程序收藏,属性包括:页面路径。

上述事件不做任何操作都可以采集到的,即只需要使用 SDK 就可以。另外如果获得用户授权后,小程序还可以采集到更多事件属性。

4.jpeg

·       小程序订阅消息

用户进入小程序后会弹出一个授权的模板消息,用户点击允许后,就可以为用户推送模板消息,可以跳转至小程序具体详情页。其中模板消息分为单次与永久,一般情况下它与特定的行业模板相关。

单次的模板每次都需要用户授权。永久的模板,比如小程序锁车,这是特定行业的,没有经过授权也可以推送消息。小程序订阅事件,属性包含用户信息(微信昵称、性别、头像、城市等)、通讯地址(姓名、手机号、邮编)、发票、运动步数属性。

小程序订阅消息的位置在微信号的服务通知里面,订阅消息可以实现服务的闭环。比如说用户发生支付行为后,可以给用户推一个链接消息,可以跳回到商场里看自己购买的商品,引导用户完成闭环。

·     小程序的渠道

除了用户打通,其实还包括渠道打通。小程序渠道,分为渠道场景值和渠道参数。

场景值是打开小程序时候,API 能自动获取的,可以看用户是从什么渠道跳转到小程序,比如是扫码过来的,从小程序跳转过来的。

场景值只能大概判断是从哪种方式打开的,如果要精确到具体是哪个人,需要使用渠道参数。包括扫描普通链接二维码、小程序码、小程序二维码、微信广告跳转、朋友圈和公众号以及小程序的广告等,都可以设置一个带参数的 Path ,然后就可以解析出具体的参数。

总结小程序和小游戏的数据采集:

·       小程序和小游戏的生命周期类似,且提供的 API 类似,所以预置的事件和属性,也基本类似。

·     小程序是一个个页面,所以可以采集页面打开、关闭、点击等事件。而小游戏基于画面帧数,需要基于游戏特性做自定义事件。

·     小程序和小游戏除了前端事件,还可以采集订阅消息等后端事件。

·       前端默认使用 UUID,建议使用 OpenID,但是需要一定的开发成本和权限。

4. 微信数据采集

公众号和小程序都有官方提供的接口去采集,但是微信没有提供这样的官方接口,微信机器人一般是通过模拟微信网页版的接口来实现的,所以你也只能取到你在微信中所能看到的:微信号、微信昵称、聊天内容等信息。不过这里也可以做一些智能化的操作,通过神策的 ID 关联功能,使得微信号和公众号中 OpenID 进行关联绑定,可以实现自动发微信消息。

 

三、各应用间的数据打通

1. 各应用使用的 ID 整理

微信公众号是后端事件,建议使用 OpenID;微信网页建议使用 OpenID,但实际默认 UUID,所以一般建议客户关联 UserID;小程序和小游戏与微信网一样,但是前者还会有一个后端事件,这个时候默认使用 OpenID。所以此时就存在多个 ID。

而只有 ID 是一致的,才可以把用户关联起来。如果您使用的是神策的用户关联进行打通,建议使用如下方式:

·       如果公司是纯微信生态,不可能有 PC、App 等,建议 OpenID 作为“匿名 ID”,使用 UnionID 作为“真实 ID”。实际可能 UUID 作为作为“匿名 ID”,UnionID 作为“真实 ID”。

·       如果公司业务线比较宽广,PC,App 都可能有,建议 OpenID 作为“匿名 ID”,使用 UserID 作为“真实 ID”。实际可能 UUID 作为“匿名 ID”,UserID 作为“真实 ID”。

2. 渠道打通

·       服务号。创建一个带参数的二维码就可以知道用户是从什么渠道来的。

·     小程序和小游戏。在 Path 后面加自定义参数,就能知道用户是从哪个场景跳转过来的。

·       微信页网页。给 URL 加自定义参数,即可打通。

3. 渠道间的互相跳转

·       网页跳转 App,必须满足两个情况:服务号内安全域名里配备了网页;App 和网页必须在开放平台绑定。

·     网页跳转程序,满足两种情况下任一都可以:一种情况是服务号内安全域名有这个网页,网页通过微信的 JS-SDK 就可以直接跳转到小程序;还有一种情况在小程序云开发的静态网站托管了绑定的域名。

·     App 跳转小程序,必须在开放平台里绑定 App,即可跳转任意合法小程序。

·     小程序跳转 App,只能通过 App 分享的消息卡片或者从 App 打开的场景打开时,才可以跳转回 App。

·     公众号跳转小程序有三种方式:公众号菜单跳转、公众号文章跳转、公众号绑定小程序跳转。

·     小程序跳转公众号,在小程序后台里配置公众号关注组件,主体必须是一致的,即必须是公司的,然后通过公众号组件显示,让客户关注公众号。

·       小程序跳转小程序,只要指定 AppID 就可以直接跳转。

    本文作者:神策数据 责任编辑:马亚蒙 本文来源:牛透社
声明:本文由入驻牛透社的作者撰写,观点仅代表作者本人,绝不代表牛透社赞同其观点或证实其描述。
    相关新闻
  • 神策数据
    神策数据
    企业认证
    企业认证
  • 222篇

    文章总数

    112.01万

    文章总浏览数

意见反馈
返回顶部