执行动作

  • 更多执行动作可查看《变更属性》《移出标签组》《终止旅程》

    什么是webhook?

    ——webhook(也被称为网络回调或HTTP推送API)是一个应用为其他应用提供实时信息的一种方法。
    ——当webhook被触发后,它将传送数据到其他应用程序中去,该应用程序会立即获取到数据,而不需要定时调用当前应用的openAPI批量获取数据。

    Linkflow webhook 动作

    ——在Linkflow客户旅程中使用webhook动作图元,当客户旅程被触发,webhook可以向配置地址发起请求,将客户旅程触发事件信息、联系人信息、自定义信息发送给配置地址。

    配置webhook 动作图元

    在客户旅程画板上,拖入webhook动作图元

    点击设置按钮,填写信息

    消息接收URL:请填写接收消息地址
    请求方法:目前只支持post方法
    消息格式:目前只支持JSON
    消息结构体配置:您可以在此自定义消息结构体中的参数

    • 用户详情
      消息结构体增加contact参数,包括所有非空的系统预置用户属性、自定义用户属性、用户来源utm
    • 关注状态用户微信账号
      contact结构体中增加wechatAccounts参数
    • 用户身份
      选择需要推送的identities参数
    • 用户自定义连接账号
      contact结构体中增加udcAccounts参数
    • 触发事件
      消息结构体中增加event参数
    • 自定义参数
      消息结构体中增加_custom参数
      示例
    {
      "sendTime": 1553249452973,
      "contact": {
        "id": 100,
        "name": "张三",
        "mobilePhone": "13912341234",
        "email": "zhangsan@example.com",
    	"utm": {
          "source": "企业微信",
          "medium": "名片分享",
        },     
    	"wechatAccounts": [
        	{
            	"appId":"wx73a996aaaaaaaaa",
            	"openId":"oGMVZ1AGl3mMQfWkrVl535QNCZsI",
            	"isActive":false
        	},
         	{
            	"appId":"wx73a996aaaaaaaaa",
            	"openId":"oGMVZ1AGl3mMQfWkrVl535QIayAq",
            	"isActive":true
        	},
        	{
           	 "unionId":"ogdN81fzE7J6ZDVuyhGhOJ8MHTRc"
        	},  
        	{
           	 "unionId":"ogdN81fzE7J6ZDVuyhGhOJ8asdbs"
        	}
    	],
    	"identities": [         //用户身份
    		{
            "id": "ov7GewyvTj93CtHYJujyfqoe0XFY",
            "type": "wechat.openId",
            "dateCreated": "2022-12-20 09:22:17"
          },
          {
            "id": "LA8nJq95615177365349220352",
            "type": "youzan.yzOpenId",
            "dateCreated": "2022-12-20 09:22:17"
          },     
    	],
    	"udcAccounts": [
          {
            "externalId": "externId1",  //联系人在自定义渠道的账号
            "channelId": "abc.com",  //自定义渠道连接的channelid
            "channelName": "abc website"  //自定义渠道连接的名称
          }
        ]
      },
      "event": {
        "eventDate": 1553249452973,
        "channelId": "wx123",
        "channelName": "微信mp",
        "event": "WECHAT__SUBSCRIBE",
        "attr1": "XXX",
        "attr2": "XXX",
        "contactId":18257,  
        "id":104298,  
        "items": []
      },
    
      "_custom": {
        "foo": "bar"
      }
    }


    消息结构体参数字段含义

    字段名类型描述示例
    sendTimelong请求时间1553249452973
    contactobject联系人参见1.1联系人结构体参数字段
    eventobject触发事件参见1.2事件结构体参数字段
    _customobject自定义参数

    1.1联系人结构体参数字段含义

    字段名类型描述示例
    idstring联系人ID1553249452973
    namestring联系人姓名张三
    mobilephonestring联系人手机15150000000
    emailstring联系人邮箱zhangsan@demo.com
    wechatAccountslist联系微信账号列表(公众号、小程序)
    udcAccountslist联系人自定义渠道账号列表

    1.2事件结构体参数字段含义

    字段名类型描述示例
    idstring事件id104298
    eventDatelong时间戳:事件发生时间1554798374000
    channelIdstring连接idudc_1544vOULeekh
    channelNamestring连接名称源犀科技
    eventstring事件编码WECHAT__SUBSCRIBE
    sdkVersionstringSDK的版本1.0.0
    sdkTypestring记录此事件的SDKiOS SDK
    platformstring应用平台iOS
    screenWidthBigDecimal屏幕宽度
    screenHeightBigDecimal屏幕高度
    appVersionstring应用版本
    bundleKeystring应用包名
    osstring操作系统Linux
    osVersionstring操作系统版本例如8.1.1
    browserstring浏览器名称谷歌浏览器
    browserVersionstring浏览器版本11
    countrystring国家中国
    provincestring省份江苏
    citystring城市南京
    networkTypestring网络类型WiFi
    manufacturerstring设备供应商三星
    deviceModelstring设备类型iPhone
    operatorstring运营商中国联通
    debugModeBoolean是否是测试数据true
    imeistringIMEI
    ipstringip地址
    latitudeBigDecimal纬度
    longitudeBigDecimal经度
    attr1见1.3事件属性名称
    attr2见1.3事件属性名称
    attr3见1.3事件属性名称
    attr4见1.3事件属性名称
    attr5见1.3事件属性名称
    attr6见1.3事件属性名称
    attr7见1.3事件属性名称
    attr8见1.3事件属性名称
    attr9见1.3事件属性名称
    attr10见1.3事件属性名称
    attr11见1.3事件属性名称
    attr12见1.3事件属性名称
    attr13见1.3事件属性名称
    attr14见1.3事件属性名称
    attr15见1.3事件属性名称
    attr16见1.3事件属性名称
    attr17见1.3事件属性名称
    attr18见1.3事件属性名称
    attr19见1.3事件属性名称
    attr20见1.3事件属性名称
    itemslist子事件。
    utmobjectutm参数。{ "source":"wechat", "medium":"qrcode", "content":"联否ALPHA", "term":"1" ,"campaign":"营销活动3"}
    contactIdlong事件联系人id18257


    1.3事件属性类型值定义

    含义说明
    text字符串
    integer整数
    number数字
    datetime日期
    enum枚举按照string处理
    reference引用linkflow内部引用id,按照string处理

    1.4用户身份类型字段含义

    字段名类型描述示例
    idstring用户身份IDov7GewyvTj93CtHYJujyfqoe0XFY
    typestring用户身份类型wechat.openId
    dateCreatedstring用户身份创建时间022-12-20 09:22:17

    推送规则

    当工作流被触发,webhook工作被触发,linkflow会向配置地址发起请求。
    1、消息推送服务通过 POST 、参数编码为 JSON 的方式向开发者提供的地址推送消息;
    2、开发者接收到消息后需要在10秒内回复code为 200的响应;
    3、当推送没有成功返回会进入重发,最多重发三次。 规则是无法连通或者返回的http code 大于等于500(服务器异常);
    4、消息推送成功的逻辑是开发者服务器返回200。

    场景举例

    场景描述:需要将每个加入标签组“webhook”的联系人同时同步到外部的服务器(如阿里云服务器等)
    流程设计如下:


    然后发布流程,凡是加入此标签组的人员均可以同步到外部服务器。

    注:联系人信息可以实时同步到外部服务器,如网络缓慢问题,数据同步会稍后延后。

    接口鉴权

    1、当webhook配置的接口需要鉴权时,您可前往设置-App集成设置-授权设置中,配置一个用于获取令牌的授权,授权的配置请参考:《授权设置》
    2、勾选webhook的启用鉴权功能,在下方填入需要鉴权的请求参数,令牌的值可以使用通配符#{auth.授权标识.令牌的key}获取(通配符外也可拼接空格与字符串)您需要根据您配置的授权返回结构自行判断填写令牌的key。

    更多执行动作可查看《webhook》《加入群组》《终止旅程》

    什么是内部通知


    Linkflow提供了专门对内部工作人员通知的一种动作图元---内部通知

    【内部通知】只要是通过【微信公众号】发送模板消息通知内部人员(订阅号不具备模板消息功能)

    【微信公众号】官方说明,为了防止过度营销,从2023年3月30日开始官方通知:《关于限制广告营销等非服务节点相关的模板消息下发的公告》

    建议:

    1、【微信公众号】后台核对【已申请的模板消息】是否符合以上要求,如不符合,建议可以另外申请符合要求的《模板消息》

    2、如【客户旅程】中也涉及到不符合要求《模板消息》,建议也另外申请符合要求的《模板消息》

    使用场景:
    ——如:粉丝关注了【微信公众号】、【访问网页】、【加入标签组】等触发事件,都可以通过【内部通知】通知相关同事。

    路径:【客户旅程】> 【新建客户旅程】> 【新建空白客户旅程】>【执行动作-内部通知

    使用方法:

    选择【微信模板消息】

    选择计划发送通知用到的微信公众号渠道

    选择【通知对象】。可手动填写需要通知的用户的ID,也可使用动态参数选择触发事件属性,如访问网页事件的“推荐人”,“关注公众号”等

    【触发条件】不同时,动态参数也不一致

    如下:

    用户ID查找如下图:

    内部通知支持给指定一个联系人发送内部通知,不支持指定的两个或者三个发送,只能选择指定一个或者指定全部。

    其他配置同【微信】动作图元--发送模板消息。
    选择《模板》,并填写模板相关信息,如下:

    选择模板时,请确认模板没有被删除,否则【内部通知】无效。

    使用场景:

    推广人员发布自己的【一人一码】,详细可点击查看《一人一码》

    用户【A】扫描二维码(通过“1”创建的一人一码)
    查找【一人一码ID】

    在触发条件中填写【一人一码ID】

    内部通知节点发送微信模板消息通知推广人员被扫码消息。

    内部通知发送成功
    ——可以通过【联系人】中查看联系人【A】是否成功扫描【一人一码】,也能查看被扫码的联系人是否收到内部通知

    更多执行动作可查看《延时器》《加入群组》《内部通知》

    场景一

    场景描述:提交金数据表单的用户,通过【内部通知】告知负责统计金数据提交表单的内部人员,然后将提交表单的人员加入到群组—【提交调研问卷组】,如下:

    场景二

    场景描述:微信扫描二维码,然后通过微信发送文本消息:欢迎关注微信公众号,并告知回复留言加入会员,再通过微信发送会员注册表单,凡是提交表单的粉丝,加入【高价值客户组】

    执行条件中的【加入群组】,目前仅支持加入静态组,无法加入动态标签组!

    触发条件中的【加入标签组】

    触发条件中的【加入群组】——指的是加入静态组

    执行动作中的【加入标签组】

    执行动作的【加入群组】——指的是加入静态组

    使用【加入群组】执行动作组件时,选择您想要将进入客户旅程的联系人加入的标签组,可选择一个或多个签组组,点击【确定】即可。

    此步骤需要您提前创建标签组。详细可以点击查看静态群组

    利用【加入群组】执行动作组件可以根据业务场景创建相应的客户旅程。如将提交金数据表单注册会员的客户加入“演示提交注册”:

    更多执行动作可查看《延时器》《加入群组》《内部通知》


    【变更属性】可以作为【触发条件】,也可以作为【执行动作】,可以触发客户旅程,也可以将进入客户旅程的用户的指定字段(包括自定义字段)变更成指定的值。


    • 注意:
    1. 属性值输入的内容/设置的动态参数需满足更改属性的属性类型。例如选择更改的属性类型为数字型,若输入的内容为文字,两者类型不匹配,则进入旅程的联系人该属性值不会进行变更。
    2. 所选择的属性与属性值必须全部匹配,若有其一属性与属性值类型不匹配的情况,则所有属性均不会进行变更。

    更多执行动作可查看《改变分数&使用场景》《加入群组》《A/B分配》

    什么是延时器?

    • 【延时器】执行动作可以让进入旅程的联系人等待指定时长再进入下一个组件。
    • 路径:【客户旅程】-点击右上角【创建客户旅程】-右方的【执行动作】中选择【延时器】

    延时器设置

    1. 使用【延时器】动作组件,只需根据业务需要,设置好指定等待时长;
    2. 另外还可以选择【设置发送窗口】,可以选择时间,每周同一时间定时触发工作流,比如每周定时推送广告、模板消息等,这样就不用反复配置工作流。
    注意:
    1. 如果延时器在周二选择延时1分钟,且发送窗口选择周二17点发送,那么本周二17点不会发送,下周开始执行(设置发送窗口与延时时间选择均为当天,那么设置发送窗口要下周才生效)
    2. 如果延时器在周二选择延时1分钟,且发送窗口选择周三17点发送(非当天),那么在本周三17点会准时执行。(设置发送窗口选择为周二后的天数:周三~周日,那么在本周生效,反之,则为下周生效)

    • 用【延时器】动作组件可以根据业务场景创建相应的客户旅程。
      如对加入标签组的联系人延时1分钟发送微信模板信息,并且设定,每周三再次发送。

    更多执行动作可查看《延时器》《加入群组》《内部通知》

    如何使用【改变分数】&查看路径

    • 【改变分数】作用描述:某个用户提交问卷调查或者是点击公众号菜单或者是其他主动行为,然后每发生一个行为都给这个用户增加分数,达到某个分数值可以升级为VIP客户或者是可以获取到奖品等。
    • 【改变分数】查看路径:【客户旅程】>【新建客户旅程】>【新建空白客户旅程】> 点击右边的【执行动作】> 选择【改变分数】
    • 在使用【改变分数】动作组件时,需要您提前创建好值为整数型/数字型的【自定义字段】,详细可以点击查看《用户属性》
    自定义字段只能选择“整数型”或者“数字型“,否则无法在“目标属性”中显示。
    • 自定义字段创建好后,即可通过【改变分数】动作组件进行增加或减少指定数量
    • 用户分数查看路径:【用户和标签】-搜索需要查看的用户,如下

    【改变分数】使用场景

    利用【改变分数】动作组件可以根据业务场景创建相应的客户旅程。如给访问页面的联系人增加活跃度分值:

    更多执行动作可查看《延时器》《加入群组》《内部通知》

    【移出群组】动作组件可以将进入客户旅程的所有联系人从某个指定群组中移除。

    使用【移出群组】动作组件时,选择您想要将进入客户旅程的联系人移除的标签组,点击【确定】即可。

    更多执行动作可查看《延时器》《加入群组》《内部通知》

    • 客户旅程以最后一个动作为结束点,自行终止旅程。也可以使用【终止旅程】动作组件,让进入客户旅程的联系人立即终止该旅程。

    • 客户旅程存在分支的情况下(一般由系统条件分支或执行条件-AB分配等其他动作产生),如果其中某一分支没有后续执行条件,必须使用【终止旅程】执行条件结束客户旅程。
    • 【终止旅程】动作组件无需额外配置,只需将该动作组件拖至您需要终止旅程的位置即可。
    • 以下任意一个【条件分支】在客户旅程中出现,必须要加一个执行条件的【终止旅程】,否则无法保存此客户旅程。提示如下:


    什么是A/B测试?

    A/B测试,即为同一目标制定多个方案,将流量分割成A/B两组或多组,运行一段时间后可将流量全部分配给某一固定分支;或者根据每组用户的表现(即每组指标值的高低),系统自动执行表现好的那一组,即将流量全部分配给指标值高的那一组。

    如何配置A/B测试?

    注:

    AB测试图元配置完,发布旅程后不可更改AB测试图元配置,即使停止旅程重新编辑也不可更改。因AB测试涉及流量分配以及指标计算,旅程发布后更改配置可能会导致指标计算异常。

    1、添加分支并分配流量

    设置分支,即根据需要设置不同的对照组。同时,给其设置流量配比,设置完成并发布旅程后,系统将按照该配置,自动将流量划分至各个分支。

    2、配置指标

    可以给每组分支设置指标,系统会自动计算这个指标值。

    例:下图绿色分支指标设置为“访问网页的总次数”,则系统会计算:进入旅程的用户,在其进入旅程之后发生”访问网页“事件的总次数。

    注:

    • 指标值仅会统计“进入旅程的用户”发生的事件,未进入旅程的用户发生的事件不会统计在内。
    • 同样的,指标值仅会统计这批用户进入旅程之后发生的事件,进入旅程之前或者达到设置的结束条件之后发生的事件不会统计在内。
    • 每个分支的指标度量建议一致。比如分支一指标为下单数100,分支二是触达率60%,则这二者指标度量不一致,系统会在那按照100>0.6进行指标比较。

    3、设置结束条件

    计算节点:

    一直执行:系统会一直按照设置的配置来给分支分配流量。且一直计算指标值。

    进入AB测试达到xx人次:当进入AB测试图元的人次达到设定值时,系统将停止按照设定的配比来分配流量,会自动执行达标率高的分支或者执行某一固定分支。

    截止日期:当到达指定的日期时间时,系统将停止按照设定的配比来分配流量,会自动执行达标率高的分支或者执行某一固定分支。

    结束后:

    可选择到底结束条件后,是自动执行达标率高的分支,还是执行某一固定分支。

    测试指标统计

    旅程发布中,可点击AB测试图元-数据-测试指标统计,可查看各个分支的指标数据。

    A/B测试场景案例

    1、小程序推广下,不知道哪个产品/小程序图更吸引用户点击?

    A/B测试设置4个分支,每组分支流量配比25%,分别发送不同路径的小程序。当进入AB测试人数达到400人次时,系统会自动执行打开小程序页面最高的那一分支。