转化漏斗

方舟4.3.4版本中新增API

1. 接口地址

【POST】 /uba/api/funnels/analyze

2. 请求参数示例

接口请求参数,更多参数说明参照 查询API 中的 通用参数 说明。

{
    // 【必填】转换步骤,这里总共三步,表示 启动->浏览页面->关闭三个事件的转化情况
    "steps":[
        {
            "expression":"event.$startup",
            "filter":null
        },
        {
            "expression":"event.$pageview",
            "filter":null
        },
        {
            "expression":"event.$end",
            "filter":null
        }
    ],
    //【必填】用户分群
    "crowds":[
        "$ALL"
    ],
    //【必填】 时间范围-开始时间
    "fromDate":"2019-06-17",
    //【必填】 时间范围-结束时间
    "toDate":"2019-06-18",
    //抽样 这里表示全量
    "samplingFactor":1,
    //按照第几个步骤的事件属性查看 -1表示任意步骤事件 不按维度查看可不传
    "byStepIndex":-1,
    //按XX维度查看,只支持单个维度,不传表示不按维度细分
    "byField":{
        "expression":"event.$Anything.$platform",
        "buckets":null
    },
    //转化周日 和convertTimeUnit一起使用 这里表示 转化周期七天
    "convertTime":7,
    "convertTimeUnit":"DAY",
    // 针对于所有步骤事件的过滤条件,非必填
    "filter":{
        "conditions":[
            {
                "expression":"event.$Anything.$platform",
                "function":"EQ",
                "params":[
                    "JS",
                    "Android"
                ]
            }
        ],
        "relation":"and"
    },
    //使用缓存 这里表示 使用 缓存
    "useCache":true,
    "limit":50,
}

特殊说明:

1、参数在示例中未标注必填的表示选填。

2、请求参数可以通过方舟产品生成,具体参照 接口请求参数获取

3、细分维度只支持单维度查看,不支持分群对比。

认证参数:接口必传token和appKey两个参数,详情见 项目接口认证

2.1 特殊参数说明

convertTime:转化周期,只能输入正整数,和 convertTimeUnit 一起使用。

convertTimeUnit:转化周期单位,目前支持 DAY,HOUR,MINUTE 三种时间单位。

3. 返回结果示例

{
    //返回的日期集合,集合中的第一个值 $ALL 表示 总体的转化情况
    "dateList":[
        "$ALL",
        "2019/06/17 00:00:00",
        "2019/06/18 00:00:00"
    ],
    //按平台查看
    "byField":"event.$Anything.$platform",
    //返回的各个平台集合,集合中的第一个值-1表示 总体的转化情况
    "byValues":[
        "-1",
        "JS"
    ],
    //步骤
    "stepEvents":[
        "event.$startup",
        "event.$pageview",
        "event.$end"
    ],
    //rows,各个维度具体的值,结果行数和byValues一致,根据下标取对应值
    "rows":[
        {
            //总体转化
            "byValue":"-1",
            //每个步骤的用户转化数,结果行数和stepEvents一致,根据下标取对应值
            "stepsDetail":[
                {
                    "expression":"event.$startup",
                    //步骤下对应每日的用户数,结果行数和日期范围dateList一致,根据下标取对应值
                    "convertedUser":[
                        50, // 6.17-6.18总体启用事件的用户数为50个
                        33, // 6.17号触发启用事件的用户数为33个
                        24  // 6.18号触发启用事件的用户数为24个
                    ]
                },
                {
                    "expression":"event.$pageview",
                    "convertedUser":[
                        50,
                        33,
                        24
                    ]
                },
                {
                    "expression":"event.$end",
                    "convertedUser":[
                        0,
                        0,
                        0
                    ]
                }
            ],
            //步骤之间的转化中位数,结果行数比步骤数(stepEvents)少1
            "medianConvertedTime":[
                //第一步到第二步
                {
                    "stepsExpress":"$startup~$pageview",
                    //结果行数和日期范围dateList一致,根据下标取对应值
                    "median":[
                        13, // 总体第一步到第二步转化时间中位数为13s
                        13, // 6.17号第一步到第二步转化时间中位数为13s 
                        18  // 6.18号第一步到第二步转化时间中位数为18s
                    ]
                },
                //第二步到第三步
                {
                    "stepsExpress":"$pageview~$end",
                    "median":null
                }
            ]
        },
        {
            "byValue":"JS",
            "stepsDetail":[
                {
                    "expression":"event.$startup",
                    "convertedUser":[
                        50,
                        33,
                        24
                    ]
                },
                {
                    "expression":"event.$pageview",
                    "convertedUser":[
                        50,
                        33,
                        24
                    ]
                },
                {
                    "expression":"event.$end",
                    "convertedUser":[
                        0,
                        0,
                        0
                    ]
                }
            ],
            "medianConvertedTime":[
                {
                    "stepsExpress":"$startup~$pageview",
                    "median":[
                        13,
                        13,
                        18
                    ]
                },
                {
                    "stepsExpress":"$pageview~$end",
                    "median":null
                }
            ]
        }
    ],
    "reportUpdateTime":"2019-07-30 09:59:06"
}

3.1 相关计算备注

漏斗结果只返回了基础的用户数,相关转化率和完成率可根据各步骤用户数来完成计算。

转换率:和上一步行为的用户数对比

完成率:和第一步行为的用户数对比

转化时间中位数:第N步到第N+1步转化时间中位数,单位为秒

4. 接口调用示例

curl -H "Content-Type:application/json" -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" -X POST --data '{
    "steps":[
        {
            "expression":"event.$startup"
        },
        {
            "expression":"event.$pageview"
        },
        {
            "expression":"event.$end"
        }
    ],
    "crowds":[
        "$ALL"
    ],
    "fromDate":"2019-06-17",
    "toDate":"2019-06-18",
    "byStepIndex":-1,
    "byField":{
        "expression":"event.$Anything.$platform"
    },
    "convertTime":7,
    "convertTimeUnit":"DAY",
    "filter":{
        "conditions":[
            {
                "expression":"event.$Anything.$platform",
                "function":"EQ",
                "params":[
                    "JS",
                    "Android"
                ]
            }
        ],
        "relation":"AND"
    },
    "samplingFactor":1,
    "limit":50
}' http://127.0.0.1:4005/uba/api/funnels/analyze

最后更新于