报告
通过 API 使用报告。
端点
GET /api/reports
POST /api/reports
GET /api/reports/:reportId
POST /api/reports/:reportId
DELETE /api/reports/:reportId
POST /api/reports/attribution
POST /api/reports/breakdown
POST /api/reports/funnel
POST /api/reports/goals
POST /api/reports/journey
POST /api/reports/retention
POST /api/reports/revenue
POST /api/reports/utm过滤器
现在所有报告都可以通过请求体中的 filters 属性进行过滤。
参数
path:(字符串 | 可选)URL 名称。referrer:(字符串 | 可选)引荐来源名称。title:(字符串 | 可选)页面标题名称。query:(字符串 | 可选)查询参数名称。browser:(字符串 | 可选)浏览器名称。os:(字符串 | 可选)操作系统名称。device:(字符串 | 可选)设备名称(例如 Mobile)。country:(字符串 | 可选)国家名称。region:(字符串 | 可选)地区/州/省名称。city:(字符串 | 可选)城市名称。hostname:(字符串 | 可选)主机名。tag:(字符串 | 可选)标签名称。distinctId:(字符串 | 可选)唯一 ID。segment:(uuid | 可选)分段的 UUID。cohort:(uuid | 可选)群组的 UUID。
请求体
{
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "attribution",
"filters": { "os": "Mac OS", "device": "desktop" },
"parameters": {
"startDate": "2025-10-19T07:00:00.000Z",
"endDate": "2025-10-26T06:59:59.999Z",
"timezone": "America/Los_Angeles",
"model": "first-click",
"type": "path",
"step": "/"
}
}GET /api/reports
根据网站 ID 获取所有报告。
参数
websiteId:(字符串)您网站的ID。type: (字符串)报告类型(attribution|breakdown|funnel|goal|journey|retention|revenue|utm)。page: (可选数字,默认 1)分页。pageSize: (可选字符串)返回结果数量。
示例响应
{
"data": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "goal",
"name": "访问 /pricing",
"description": "测试",
"parameters": {
"type": "path",
"value": "/pricing"
},
"createdAt": "2025-07-23T17:28:55.192Z",
"updatedAt": "2025-10-07T07:46:57.918Z"
},
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "goal",
"name": "触发 live-demo-button",
"description": "",
"parameters": {
"type": "event",
"value": "live-demo-button"
},
"createdAt": "2025-10-07T07:46:24.120Z",
"updatedAt": "2025-10-07T07:46:24.120Z"
}
],
"count": 2,
"page": 1,
"pageSize": 20
}POST /api/reports
创建报告。
参数
websiteId:(字符串)您网站的ID。type: (字符串)报告类型attribution|breakdown|funnel|goal|journey|retention|revenue|utm。name: (字符串)报告名称。description:(字符串 | 可选)报告描述。parameters:(对象)报告参数。
请求体
{
"name": "触发登录按钮 ",
"parameters": { "type": "event", "value": "login-button-header" },
"type": "goal",
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}示例响应
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "goal",
"name": "触发登录按钮 ",
"description": "",
"parameters": {
"type": "event",
"value": "login-button-header"
},
"createdAt": "2025-10-14T00:12:33.203Z",
"updatedAt": "2025-10-14T00:12:33.203Z"
}GET /api/reports/:reportId
根据 ID 获取报告。
示例响应
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "goal",
"name": "触发登录按钮 ",
"description": "",
"parameters": {
"type": "event",
"value": "login-button-header"
},
"createdAt": "2025-10-14T00:12:33.203Z",
"updatedAt": "2025-10-14T00:12:33.203Z"
}POST /api/reports/:reportId
更新报告。
参数
websiteId:(字符串)您网站的ID。type: (字符串)报告类型attribution|breakdown|funnel|goal|journey|retention|revenue|utm。name: (字符串)报告名称。description:(字符串 | 可选)报告描述。parameters:(对象)报告参数。
请求体
{
"name": "触发登录按钮 ",
"parameters": { "type": "event", "value": "login-button-header" },
"type": "goal",
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}示例响应
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "goal",
"name": "触发登录按钮 ",
"description": "",
"parameters": {
"type": "event",
"value": "login-button-header"
},
"createdAt": "2025-10-14T00:12:33.203Z",
"updatedAt": "2025-10-14T00:12:33.203Z"
}DELETE /api/reports/:reportId
删除报告。
示例响应
{
"ok": true
}POST /api/reports/attribution
查看用户如何与您的营销活动互动以及哪些因素驱动转化。
参数
websiteId:(字符串)您网站的ID。type: (字符串)报告类型(attribution|breakdown|funnel|goal|journey|retention|revenue|utm)。filters:可接受过滤参数。startDate:(数字)开始日期的时间戳(毫秒)。endDate:(数字)结束日期的时间戳(毫秒)。model:(字符串)归因模型(firstClick|lastClick)。type:(数组)转化类型(path|event)。step: (字符串)转化步骤。
请求体
{
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "attribution",
"filters": { "os": "Mac OS" },
"parameters": {
"startDate": "2025-10-19T07:00:00.000Z",
"endDate": "2025-10-26T06:59:59.999Z",
"model": "first-click",
"type": "path",
"step": "/"
}
}示例响应
{
"referrer": [
{
"name": "google.com",
"value": 30082
},
{
"name": "chatgpt.com",
"value": 1672
}
],
"paidAds": [
{
"name": "Facebook / Meta",
"value": 106
},
{
"name": "Google Ads",
"value": 6
}
],
"utm_source": [
{
"name": "coolify.io",
"value": 465
},
{
"name": "chatgpt.com",
"value": 338
}
],
"utm_medium": [
{
"name": "referral",
"value": 75
},
{
"name": "email",
"value": 16
}
],
"utm_campaign": [
{
"name": "navigation",
"value": 60
},
{
"name": "website_analytics",
"value": 8
}
],
"utm_content": [
{
"name": "comparison-page",
"value": 1
},
{
"name": "sidebar-cta",
"value": 1
}
],
"utm_term": [
{
"name": "data analysis",
"value": 1
},
{
"name": "0_df65b6d7c8-e2c14ebdc7-59136105",
"value": 1
}
],
"total": {
"pageviews": 171481,
"visitors": 104727,
"visits": 138391
}
}POST /api/reports/breakdown
通过使用分段和过滤器更深入地了解您的数据。
参数
websiteId:(字符串)您网站的ID。type: (字符串)报告类型(attribution|breakdown|funnel|goal|journey|retention|revenue|utm)。filters:可接受过滤参数。startDate:(数字)开始日期的时间戳(毫秒)。endDate:(数字)结束日期的时间戳(毫秒)。fields: (数组)列字段列表。
可用字段
path | title | query | referrer | browser | os | device | country | region | city | hostname | tag | event
请求体
{
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "breakdown",
"filters": {},
"parameters": {
"startDate": "2025-07-23T07:00:00.000Z",
"endDate": "2025-10-22T06:59:59.999Z",
"fields": ["os", "country"]
}
}示例响应
[
{
"views": 37856,
"visitors": 9229,
"visits": 13145,
"bounces": 8105,
"totaltime": 12985151,
"os": "Mac OS",
"country": "US"
},
{
"views": 24399,
"visitors": 6628,
"visits": 10673,
"bounces": 7119,
"totaltime": 21398417,
"os": "Windows 10",
"country": "US"
},
{
"views": 21561,
"visitors": 4916,
"visits": 6532,
"bounces": 3452,
"totaltime": 22984512,
"os": "Mac OS",
"country": "DE"
},
{
"views": 12977,
"visitors": 2976,
"visits": 4180,
"bounces": 2440,
"totaltime": 9962317,
"os": "Windows 10",
"country": "DE"
}
]POST /api/reports/funnel
了解用户的转化和流失率。
参数
websiteId:(字符串)您网站的ID。type: (字符串)报告类型(attribution|breakdown|funnel|goal|journey|retention|revenue|utm)。filters:可接受过滤参数。startDate:(数字)开始日期的时间戳(毫秒)。endDate:(数字)结束日期的时间戳(毫秒)。steps:(数组 | 至少两个)事件类型(path|event)和转化步骤。window:(数字)漏斗步骤之间被视为转化的时间窗口(天数)。
请求体
{
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "funnel",
"filters": {},
"parameters": {
"startDate": "2025-07-23T07:00:00.000Z",
"endDate": "2025-10-22T06:59:59.999Z",
"steps": [
{ "type": "path", "value": "/" },
{ "type": "event", "value": "live-demo-button" }
],
"window": 60
}
}示例响应
[
{
"type": "path",
"value": "/",
"visitors": 106594,
"previous": 0,
"dropped": 0,
"dropoff": null,
"remaining": 1
},
{
"type": "event",
"value": "live-demo-button",
"visitors": 10269,
"previous": 106594,
"dropped": 96325,
"dropoff": 0.9036624950747697,
"remaining": 0.09633750492523031
}
]POST /api/reports/goals
跟踪您的页面浏览量和事件目标。
参数
websiteId:(字符串)您网站的ID。type: (字符串)报告类型(attribution|breakdown|funnel|goal|journey|retention|revenue|utm)。filters:可接受过滤参数。startDate:(数字)开始日期的时间戳(毫秒)。endDate:(数字)结束日期的时间戳(毫秒)。type:(数组)转化类型(path|event)。value: (字符串)转化步骤值。
请求体
{
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "goal",
"filters": {},
"parameters": {
"startDate": "2025-07-23T07:00:00.000Z",
"endDate": "2025-10-22T06:59:59.999Z",
"type": "event",
"value": "live-demo-button"
}
}示例响应
{
"num": 11935,
"total": 50602
}POST /api/reports/journey
了解用户如何在您的网站上导航。
参数
websiteId:(字符串)您网站的ID。type: (字符串)报告类型(attribution|breakdown|funnel|goal|journey|retention|revenue|utm)。filters:可接受过滤参数。startDate:(数字)开始日期的时间戳(毫秒)。endDate:(数字)结束日期的时间戳(毫秒)。steps:(数字)步骤数,范围 3 至 7。startStep:(字符串)起始步骤 URL 或事件名称。endStep:(字符串 | 可选)结束步骤 URL 或事件名称。
请求体
{
"websiteId": "86d4095c-a2a8-4fc8-9521-103e858e2b41",
"type": "journey",
"filters": {},
"parameters": {
"startDate": "2025-07-23T07:00:00.000Z",
"endDate": "2025-10-22T06:59:59.999Z",
"steps": 3,
"startStep": "/",
"endStep": "/pricing"
}
}示例响应
[
{
"items": ["/", "/pricing", null, null],
"count": 6433
},
{
"items": ["/", "live-demo-button", "/pricing", null],
"count": 918
},
{
"items": ["/", "/features", "/pricing", null],
"count": 857
},
{
"items": ["/", "/pricing", null],
"count": 434
},
{
"items": ["/", "/pricing", null],
"count": 306
},
{
"items": ["/", "/docs", "/pricing", null],
"count": 257
},
{
"items": ["/", "get-started-button", "/pricing", null],
"count": 237
},
{
"items": ["/", "login-button-header", "/pricing", null],
"count": 102
}
]POST /api/reports/retention
通过跟踪用户回访频率来衡量网站粘性。
参数
websiteId:(字符串)您网站的ID。type: (字符串)报告类型(attribution|breakdown|funnel|goal|journey|retention|revenue|utm)。filters:可接受过滤参数。startDate:(数字)开始日期的时间戳(毫秒)。endDate:(数字)结束日期的时间戳(毫秒)。timezone: 时区(例如 America/Los_Angeles)。
请求体
{
"websiteId": "86d4095c-a2a8-4fc8-9521-103e858e2b41",
"type": "retention",
"filters": {},
"parameters": {
"startDate": "2025-10-01T07:00:00.000Z",
"endDate": "2025-11-01T06:59:59.999Z",
"timezone": "America/Los_Angeles"
}
}示例响应
[
{
"date": "2025-10-01T07:00:00Z",
"day": 0,
"visitors": 1499,
"returnVisitors": 1499,
"percentage": 100
},
{
"date": "2025-10-01T07:00:00Z",
"day": 1,
"visitors": 1499,
"returnVisitors": 151,
"percentage": 10.073382254836558
},
{
"date": "2025-10-01T07:00:00Z",
"day": 2,
"visitors": 1499,
"returnVisitors": 83,
"percentage": 5.537024683122081
},
{
"date": "2025-10-01T07:00:00Z",
"day": 3,
"visitors": 1499,
"returnVisitors": 45,
"percentage": 3.002001334222815
}
]POST /api/reports/revenue
获取指定区间的货币信息。用于 Revenue 报告必需,Attribution 报告可选。
参数
websiteId:(字符串)您网站的ID。type: (字符串)报告类型(attribution|breakdown|funnel|goal|journey|retention|revenue|utm)。filters:可接受过滤参数。startDate:(数字)开始日期的时间戳(毫秒)。endDate:(数字)结束日期的时间戳(毫秒)。timezone: 时区(例如 America/Los_Angeles)。currency: (字符串)货币代码(ISO 4217)。
请求体
{
"websiteId": "86d4095c-a2a8-4fc8-9521-103e858e2b41",
"type": "revenue",
"filters": {},
"parameters": {
"startDate": "2025-07-23T07:00:00.000Z",
"endDate": "2025-10-22T06:59:59.999Z",
"timezone": "America/Los_Angeles",
"currency": "USD"
}
}示例响应
{
"chart": [
{
"x": "revenue-demo",
"t": "2025-10-14T07:00:00Z",
"y": 400
},
{
"x": "revenue-demo",
"t": "2025-10-15T07:00:00Z",
"y": 480
},
{
"x": "revenue-demo",
"t": "2025-10-16T07:00:00Z",
"y": 490
}
],
"country": [
{
"name": "US",
"value": 1050
},
{
"name": "FR",
"value": 1040
},
{
"name": "GB",
"value": 720
}
],
"total": {
"sum": 3870,
"count": 131,
"unique_count": 131,
"average": 29.541984732824428
}
}POST /api/reports/utm
通过 UTM 参数跟踪您的营销活动。
参数
websiteId:(字符串)您网站的ID。type: (字符串)报告类型(attribution|breakdown|funnel|goal|journey|retention|revenue|utm)。filters:可接受过滤参数。startDate:(数字)开始日期的时间戳(毫秒)。endDate:(数字)结束日期的时间戳(毫秒)。
请求体
{
"websiteId": "86d4095c-a2a8-4fc8-9521-103e858e2b41",
"type": "utm",
"filters": {},
"parameters": {
"startDate": "2025-10-14T07:00:00.000Z",
"endDate": "2025-10-22T06:59:59.999Z"
}
}示例响应
{
"utm_source": [
{
"utm": "chatgpt.com",
"views": 341
},
{
"utm": "coolify.io",
"views": 235
},
{
"utm": "openalternative.co",
"views": 89
},
{
"utm": "facebook",
"views": 28
}
],
"utm_medium": [
{
"utm": "cpc",
"views": 28
},
{
"utm": "referral",
"views": 26
}
],
"utm_campaign": [
{
"utm": "website_analytics",
"views": 28
},
{
"utm": "navigation",
"views": 16
}
],
"utm_term": [
{
"utm": "0_df65b6d7c8-e2c14ebdc7-59136105",
"views": 1
}
],
"utm_content": [
{
"utm": "comparison-page",
"views": 1
},
{
"utm": "sidebar-cta",
"views": 1
}
]
}