SuperAPI AI 工具集

checkout-abandonment-report

办公与效率

查看项目

更新于 10-15 11:08

技能介绍

用途

该技能聚合放弃结账数据,并按购物车金额区间(cart value bucket)与一天中的小时(UTC)进行拆分统计。其目的在于帮助识别顾客在什么时段、什么价格点最有可能放弃结账。统计范围限定为 abandonedCheckouts API 所提供的数据:该 API 不提供设备类型和地理位置,因此本技能不报告这两项。该技能可替代 Littledata 或 Google Analytics 等分析应用的结账漏斗报告,用于购物车金额与时段维度分析。

前置条件

  • 已通过认证的 Shopify CLI 会话:shopify auth login --store <domain>
  • API 权限范围(scope):read_checkouts

参数

参数 类型 必填 默认值 说明
store string 是 — 商店域名(例如 mystore.myshopify.com)
format string 否 human 输出格式:human 或 json
dry_run bool 否 false 预览操作而不执行变更
date_range_start string 是 — 起始日期,ISO 8601 格式(例如 2025-01-01)
date_range_end string 是 — 结束日期,ISO 8601 格式(例如 2025-01-31)
cart_value_buckets array 否 [0, 25, 50, 100, 250] 定义购物车金额区间的阈值数组(例如 [0,25,50,100,250] 生成区间:$0–25、$25–50、$50–100、$100–250、$250+)

工作流程步骤

OPERATION:abandonedCheckouts — query

  • 输入:first: 250、query: "created_at:>='<date_range_start>' created_at:<='<date_range_end>'"、分页游标
  • 预期输出:范围内所有放弃结账记录及其 totalPrice 和 createdAt;持续分页直到 hasNextPage: false;然后在内存中聚合:(1)按购物车金额区间计数,(2)按一天中的小时(UTC,0–23)计数

GraphQL 操作

# abandonedCheckouts:query — validated against api_version 2025-04
query AbandonedCheckoutsReport($first: Int!, $after: String, $query: String) {
  abandonedCheckouts(first: $first, after: $after, query: $query) {
    edges {
      node {
        id
        createdAt
        totalPriceSet {
          shopMoney {
            amount
            currencyCode
          }
        }
        customer {
          email
        }
        lineItems {
          edges {
            node {
              title
              quantity
              variant {
                price
              }
            }
          }
        }
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

会话追踪

Claude 必须在每个阶段输出以下内容,这是强制要求。

开始时输出:

╔══════════════════════════════════════════════╗
║  SKILL: checkout-abandonment-report          ║
║  Store: <store domain>                       ║
║  Started: <YYYY-MM-DD HH:MM UTC>             ║
╚══════════════════════════════════════════════╝

每一步之后输出:

[N/TOTAL] <QUERY|MUTATION>  <OperationName>
          → Params: <brief summary of key inputs>
          → Result: <count or outcome>

完成时输出:

对于 format: human(默认):

══════════════════════════════════════════════
OUTCOME SUMMARY
  Total abandoned:   <n>
  Date range:        <start> to <end>
  Errors:            0
  Output:            none
══════════════════════════════════════════════

对于 format: json,输出:

{
  "skill": "checkout-abandonment-report",
  "store": "<domain>",
  "started_at": "<ISO8601>",
  "completed_at": "<ISO8601>",
  "dry_run": false,
  "steps": [
    { "step": 1, "operation": "AbandonedCheckoutsReport", "type": "query", "params_summary": "<date_range_start> to <date_range_end>", "result_summary": "<n> checkouts", "skipped": false }
  ],
  "outcome": {
    "total_abandoned": 0,
    "date_range_start": "<date_range_start>",
    "date_range_end": "<date_range_end>",
    "by_cart_value": [
      { "range": "$0 – $25", "count": 0, "pct": 0.0 }
    ],
    "by_hour_utc": [
      { "hour": "00:00", "count": 0, "pct": 0.0 }
    ],
    "errors": 0,
    "output_file": null
  }
}

输出格式

内联显示两张表格(无 CSV):

表 1:按购物车金额区间的放弃情况

Cart Value Range Abandoned Checkouts % of Total
$0 – $25 ... ...
$25 – $50 ... ...
$50 – $100 ... ...
$100 – $250 ... ...
$250+ ... ...

表 2:按一天中的小时(UTC)的放弃情况

Hour (UTC) Abandoned Checkouts % of Total
00:00 ... ...
01:00 ... ...
02:00 ... ...
...

对于 format: json,by_cart_value 是 {range, count, pct} 对象数组;by_hour_utc 是 {hour, count, pct} 对象数组。

注意:abandonedCheckouts API 不提供设备类型和地理位置,本技能不报告这两项。

错误处理

错误 原因 恢复方式
No checkouts returned 日期范围内没有放弃结账 扩大日期范围或验证 read_checkouts 权限
Invalid date format 日期不是 ISO 8601 格式 使用 YYYY-MM-DD 格式
Rate limit (429) 分页请求过多 缩小日期范围或将 first 减少到 100

最佳实践

  • 对于高流量商店,将日期范围缩小到 7–14 天可获得更快结果;对 90 天数据分页可能会产生大量 API 调用。
  • 默认的 cart_value_buckets [0,25,50,100,250] 适用于大多数商店——可根据你的 AOV 分布调整阈值。
  • 小时以 UTC 报告——在得出关于放弃高峰时段的结论之前,先转换为商店的本地时区。
  • 每周运行此报告,并将 by-hour 模式与你的促销发送时间进行比较,以发现时机机会。
  • 查询结果中包含 email——可结合 abandoned-cart-recovery 技能,根据购物车金额层级对最有可能转化的客户采取行动。