{
 "source": "lingxing MCP (lx_mcp.py)",
 "msku": "21281",
 "profile_id": "2541623715456141",
 "shop": "USATTRACO-US (sid110)",
 "period": "2026-08-30 - 2026-09-28",
 "fetched_at": "2026-09-28T09:04:27",
 "out_dir": "daily_20260928/data/ads_21281",
 "campaign_total_row": {
  "spends": "2060.60",
  "sales": "6695.05",
  "orders": "315",
  "acos": "30.78",
  "clicks": "2219",
  "impressions": "280854",
  "budget": "86.00"
 },
 "campaigns": [
  {
   "campaign_id": "47990537102908",
   "label": "21281 Auto 紧+宽",
   "spends": "546.11",
   "sales": "1176.12",
   "orders": 57,
   "acos": "46.43",
   "clicks": 629,
   "impressions": 41863,
   "budget": 18.0,
   "budget_source": "timing_base_value",
   "targeting_type": "auto",
   "keyword_rows": 0,
   "searchterm_rows": 450,
   "adgroup_rows": 1,
   "targeting_rows": 5,
   "daily_rows": 30,
   "daily_spends": 546.11,
   "period_spends": 546.11,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 0,
     "recordsFiltered": 0,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "47990537102908"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 450,
     "recordsFiltered": 450,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "47990537102908",
      "sort_field": "spends",
      "sort_type": "desc",
      "search_type": "kw",
      "with_translation": 0
     }
    },
    "adgroup_index": {
     "tool": "ad_campaign_group_report",
     "mode": "ok",
     "pages": 1,
     "rows": 1,
     "recordsFiltered": 1,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "47990537102908"
      ],
      "with_ring": 0,
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "targeting_index": {
     "tool": "ad_campaign_targeting_report",
     "mode": "ok",
     "pages": 1,
     "rows": 4,
     "recordsFiltered": 4,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "47990537102908"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "83355246664435",
   "label": "21281 MB ra",
   "spends": "449.16",
   "sales": "2162.94",
   "orders": 101,
   "acos": "20.77",
   "clicks": 460,
   "impressions": 63814,
   "budget": 18.0,
   "budget_source": "timing_base_value",
   "targeting_type": "manual",
   "keyword_rows": 4,
   "searchterm_rows": 248,
   "adgroup_rows": 1,
   "targeting_rows": 0,
   "daily_rows": 30,
   "daily_spends": 449.16,
   "period_spends": 449.16,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 4,
     "recordsFiltered": 4,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "83355246664435"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 248,
     "recordsFiltered": 248,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "83355246664435",
      "sort_field": "spends",
      "sort_type": "desc",
      "search_type": "kw",
      "with_translation": 0
     }
    },
    "adgroup_index": {
     "tool": "ad_campaign_group_report",
     "mode": "ok",
     "pages": 1,
     "rows": 1,
     "recordsFiltered": 1,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "83355246664435"
      ],
      "with_ring": 0,
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "targeting_index": {
     "tool": "ad_campaign_targeting_report",
     "mode": "ok",
     "pages": 1,
     "rows": 0,
     "recordsFiltered": 0,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "83355246664435"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "72297437751119",
   "label": "21281 MB BRA",
   "spends": "410.70",
   "sales": "1046.29",
   "orders": 51,
   "acos": "39.25",
   "clicks": 436,
   "impressions": 68742,
   "budget": 12.0,
   "budget_source": "timing_base_value",
   "targeting_type": "manual",
   "keyword_rows": 15,
   "searchterm_rows": 271,
   "adgroup_rows": 1,
   "targeting_rows": 0,
   "daily_rows": 30,
   "daily_spends": 410.7,
   "period_spends": 410.7,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 15,
     "recordsFiltered": 15,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "72297437751119"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 271,
     "recordsFiltered": 271,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "72297437751119",
      "sort_field": "spends",
      "sort_type": "desc",
      "search_type": "kw",
      "with_translation": 0
     }
    },
    "adgroup_index": {
     "tool": "ad_campaign_group_report",
     "mode": "ok",
     "pages": 1,
     "rows": 1,
     "recordsFiltered": 1,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "72297437751119"
      ],
      "with_ring": 0,
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "targeting_index": {
     "tool": "ad_campaign_targeting_report",
     "mode": "ok",
     "pages": 1,
     "rows": 0,
     "recordsFiltered": 0,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "72297437751119"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "38869197075445",
   "label": "21281 MB 运动",
   "spends": "347.90",
   "sales": "947.64",
   "orders": 45,
   "acos": "36.71",
   "clicks": 351,
   "impressions": 50662,
   "budget": 10.0,
   "budget_source": "timing_base_value",
   "targeting_type": "manual",
   "keyword_rows": 10,
   "searchterm_rows": 224,
   "adgroup_rows": 1,
   "targeting_rows": 0,
   "daily_rows": 30,
   "daily_spends": 347.9,
   "period_spends": 347.9,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 10,
     "recordsFiltered": 10,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "38869197075445"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 224,
     "recordsFiltered": 224,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "38869197075445",
      "sort_field": "spends",
      "sort_type": "desc",
      "search_type": "kw",
      "with_translation": 0
     }
    },
    "adgroup_index": {
     "tool": "ad_campaign_group_report",
     "mode": "ok",
     "pages": 1,
     "rows": 1,
     "recordsFiltered": 1,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "38869197075445"
      ],
      "with_ring": 0,
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "targeting_index": {
     "tool": "ad_campaign_targeting_report",
     "mode": "ok",
     "pages": 1,
     "rows": 0,
     "recordsFiltered": 0,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "38869197075445"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "57839221094636",
   "label": "21281 MB 运动2",
   "spends": "261.49",
   "sales": "977.24",
   "orders": 44,
   "acos": "26.76",
   "clicks": 275,
   "impressions": 47609,
   "budget": 10.0,
   "budget_source": "timing_base_value",
   "targeting_type": "manual",
   "keyword_rows": 6,
   "searchterm_rows": 168,
   "adgroup_rows": 1,
   "targeting_rows": 0,
   "daily_rows": 30,
   "daily_spends": 261.49,
   "period_spends": 261.49,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 6,
     "recordsFiltered": 6,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "57839221094636"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 168,
     "recordsFiltered": 168,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "57839221094636",
      "sort_field": "spends",
      "sort_type": "desc",
      "search_type": "kw",
      "with_translation": 0
     }
    },
    "adgroup_index": {
     "tool": "ad_campaign_group_report",
     "mode": "ok",
     "pages": 1,
     "rows": 1,
     "recordsFiltered": 1,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "57839221094636"
      ],
      "with_ring": 0,
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "targeting_index": {
     "tool": "ad_campaign_targeting_report",
     "mode": "ok",
     "pages": 1,
     "rows": 0,
     "recordsFiltered": 0,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "57839221094636"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "6241106410315",
   "label": "21281 PT 闭环",
   "spends": "39.96",
   "sales": "384.82",
   "orders": 17,
   "acos": "10.38",
   "clicks": 62,
   "impressions": 7239,
   "budget": 5.0,
   "budget_source": "budget(实时值)",
   "targeting_type": "manual",
   "keyword_rows": 0,
   "searchterm_rows": 34,
   "adgroup_rows": 1,
   "targeting_rows": 644,
   "daily_rows": 30,
   "daily_spends": 39.96,
   "period_spends": 39.96,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 0,
     "recordsFiltered": 0,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "6241106410315"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 34,
     "recordsFiltered": 34,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "6241106410315",
      "sort_field": "spends",
      "sort_type": "desc",
      "search_type": "kw",
      "with_translation": 0
     }
    },
    "adgroup_index": {
     "tool": "ad_campaign_group_report",
     "mode": "ok",
     "pages": 1,
     "rows": 1,
     "recordsFiltered": 1,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "6241106410315"
      ],
      "with_ring": 0,
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "targeting_index": {
     "tool": "ad_campaign_targeting_report",
     "mode": "ok",
     "pages": 26,
     "rows": 643,
     "recordsFiltered": 643,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "6241106410315"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "20769553751841",
   "label": "21281 Auto 同",
   "spends": "5.28",
   "sales": "0.00",
   "orders": 0,
   "acos": "99999999",
   "clicks": 6,
   "impressions": 925,
   "budget": 5.0,
   "budget_source": "budget(实时值)",
   "targeting_type": "auto",
   "keyword_rows": 0,
   "searchterm_rows": 6,
   "adgroup_rows": 1,
   "targeting_rows": 5,
   "daily_rows": 30,
   "daily_spends": 5.28,
   "period_spends": 5.28,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 0,
     "recordsFiltered": 0,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "20769553751841"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 6,
     "recordsFiltered": 6,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "20769553751841",
      "sort_field": "spends",
      "sort_type": "desc",
      "search_type": "kw",
      "with_translation": 0
     }
    },
    "adgroup_index": {
     "tool": "ad_campaign_group_report",
     "mode": "ok",
     "pages": 1,
     "rows": 1,
     "recordsFiltered": 1,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "20769553751841"
      ],
      "with_ring": 0,
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "targeting_index": {
     "tool": "ad_campaign_targeting_report",
     "mode": "ok",
     "pages": 1,
     "rows": 4,
     "recordsFiltered": 4,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "20769553751841"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  }
 ],
 "skipped_zero_spend": [
  {
   "campaign_id": "114948099889810",
   "label": "21281 MB rac",
   "spends": 0
  }
 ],
 "daily_days": [
  "2026-08-30",
  "2026-08-31",
  "2026-09-01",
  "2026-09-02",
  "2026-09-03",
  "2026-09-04",
  "2026-09-05",
  "2026-09-06",
  "2026-09-07",
  "2026-09-08",
  "2026-09-09",
  "2026-09-10",
  "2026-09-11",
  "2026-09-12",
  "2026-09-13",
  "2026-09-14",
  "2026-09-15",
  "2026-09-16",
  "2026-09-17",
  "2026-09-18",
  "2026-09-19",
  "2026-09-20",
  "2026-09-21",
  "2026-09-22",
  "2026-09-23",
  "2026-09-24",
  "2026-09-25",
  "2026-09-26",
  "2026-09-27",
  "2026-09-28"
 ],
 "daily_missing_days": {},
 "field_gaps": [
  "placement_index / placement_detail：MCP（276 个工具）无广告位报表工具 → 空列表占位；后果：报告“六、广告位分布”为空表，且不生成“广告位效率/TOP OF SEARCH”洞察（build_ads_report 不会报错）。",
  "keyword_detail / searchterm_detail / adgroup_detail：MCP 无 is_daily/date_key 形式的按日明细接口 → 空列表占位；这三个键 build_ads_report 不读取，故报告不受影响（活动级“每日趋势”由 campaign_detail 提供）。",
  "searchterm_index.rows[].type：MCP 搜索词报表不返回 type 字段（旧采集有 keyword/target）→ 报告/CSV 的“类型”列会为空；match_type、target_text 仍在（需不传 group_type 参数，本脚本已按此调用）。",
  "adgroup_index.rows[].count_keyword / count_targets：MCP 广告组报表返回 null（旧采集有值）→ 广告组表“关键词数/投放数”显示 -。",
  "MCP 广告报表返回的活动级 budget 字段是“实时预算”（分时策略生效时会变成临时值，如 $1）；本脚本改用 timing_base_value / applied_templates[].base_budget 作为日预算，与旧采集 budgets.json 一致（21264/21281/21283/131072 全对齐）。",
  "targeting_index：旧采集没有这个键，MCP 才有（自动投放/商品投放明细）→ 属额外字段，build_ads_report 忽略，不影响旧形状消费。"
 ],
 "cli": "C:/Users/tbspa/AppData/Local/hermes/skills/ecommerce/lingxing-erp/scripts/mcp_fetch_ads.py 21281 --period 2026-08-30 - 2026-09-28 --out daily_20260928/data/ads_21281"
}