{
 "source": "lingxing MCP (lx_mcp.py)",
 "msku": "21271",
 "profile_id": "2541623715456141",
 "shop": "USATTRACO-US (sid110)",
 "period": "2026-08-30 - 2026-09-28",
 "fetched_at": "2026-09-28T09:07:28",
 "out_dir": "daily_20260928/data/ads_21271",
 "campaign_total_row": {
  "spends": "2303.86",
  "sales": "7218.17",
  "orders": "347",
  "acos": "31.92",
  "clicks": "2516",
  "impressions": "347025",
  "budget": "108.00"
 },
 "campaigns": [
  {
   "campaign_id": "257527887428519",
   "label": "21271 AT",
   "spends": "486.46",
   "sales": "1859.07",
   "orders": 88,
   "acos": "26.17",
   "clicks": 571,
   "impressions": 33834,
   "budget": 20.0,
   "budget_source": "timing_base_value",
   "targeting_type": "auto",
   "keyword_rows": 0,
   "searchterm_rows": 470,
   "adgroup_rows": 1,
   "targeting_rows": 5,
   "daily_rows": 30,
   "daily_spends": 486.46,
   "period_spends": 486.46,
   "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": [
       "257527887428519"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 470,
     "recordsFiltered": 470,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "257527887428519",
      "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": [
       "257527887428519"
      ],
      "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": [
       "257527887428519"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "144581460095247",
   "label": "21271 MB-属性",
   "spends": "480.51",
   "sales": "1774.40",
   "orders": 86,
   "acos": "27.08",
   "clicks": 520,
   "impressions": 85060,
   "budget": 15.0,
   "budget_source": "timing_base_value",
   "targeting_type": "manual",
   "keyword_rows": 16,
   "searchterm_rows": 361,
   "adgroup_rows": 1,
   "targeting_rows": 0,
   "daily_rows": 30,
   "daily_spends": 480.51,
   "period_spends": 480.51,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 16,
     "recordsFiltered": 16,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "144581460095247"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 361,
     "recordsFiltered": 361,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "144581460095247",
      "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": [
       "144581460095247"
      ],
      "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": [
       "144581460095247"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "12376604889664",
   "label": "21271 MB-核心",
   "spends": "431.01",
   "sales": "1140.22",
   "orders": 55,
   "acos": "37.80",
   "clicks": 442,
   "impressions": 52554,
   "budget": 5.0,
   "budget_source": "timing_base_value",
   "targeting_type": "manual",
   "keyword_rows": 9,
   "searchterm_rows": 327,
   "adgroup_rows": 1,
   "targeting_rows": 0,
   "daily_rows": 30,
   "daily_spends": 431.01,
   "period_spends": 431.01,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 9,
     "recordsFiltered": 9,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "12376604889664"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 327,
     "recordsFiltered": 327,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "12376604889664",
      "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": [
       "12376604889664"
      ],
      "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": [
       "12376604889664"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "137707597690175",
   "label": "21271 MB/MP-hf",
   "spends": "358.49",
   "sales": "1081.87",
   "orders": 51,
   "acos": "33.14",
   "clicks": 357,
   "impressions": 48372,
   "budget": 20.0,
   "budget_source": "timing_base_value",
   "targeting_type": "manual",
   "keyword_rows": 12,
   "searchterm_rows": 175,
   "adgroup_rows": 1,
   "targeting_rows": 0,
   "daily_rows": 30,
   "daily_spends": 358.49,
   "period_spends": 358.49,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 12,
     "recordsFiltered": 12,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "137707597690175"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 175,
     "recordsFiltered": 175,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "137707597690175",
      "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": [
       "137707597690175"
      ],
      "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": [
       "137707597690175"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "243819436555228",
   "label": "21271 MB-bra",
   "spends": "293.72",
   "sales": "701.89",
   "orders": 35,
   "acos": "41.85",
   "clicks": 311,
   "impressions": 42642,
   "budget": 10.0,
   "budget_source": "timing_base_value",
   "targeting_type": "manual",
   "keyword_rows": 11,
   "searchterm_rows": 208,
   "adgroup_rows": 1,
   "targeting_rows": 0,
   "daily_rows": 30,
   "daily_spends": 293.72,
   "period_spends": 293.72,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 11,
     "recordsFiltered": 11,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "243819436555228"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 208,
     "recordsFiltered": 208,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "243819436555228",
      "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": [
       "243819436555228"
      ],
      "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": [
       "243819436555228"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "121767700010835",
   "label": "21271 AT-asin",
   "spends": "163.06",
   "sales": "500.82",
   "orders": 24,
   "acos": "32.56",
   "clicks": 206,
   "impressions": 37132,
   "budget": 8.0,
   "budget_source": "timing_base_value",
   "targeting_type": "auto",
   "keyword_rows": 0,
   "searchterm_rows": 182,
   "adgroup_rows": 1,
   "targeting_rows": 5,
   "daily_rows": 30,
   "daily_spends": 163.06,
   "period_spends": 163.06,
   "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": [
       "121767700010835"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 182,
     "recordsFiltered": 182,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "121767700010835",
      "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": [
       "121767700010835"
      ],
      "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": [
       "121767700010835"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "37337654156088",
   "label": "21271 ME",
   "spends": "77.35",
   "sales": "159.90",
   "orders": 8,
   "acos": "48.37",
   "clicks": 91,
   "impressions": 7174,
   "budget": 10.0,
   "budget_source": "budget(实时值)",
   "targeting_type": "manual",
   "keyword_rows": 16,
   "searchterm_rows": 19,
   "adgroup_rows": 2,
   "targeting_rows": 0,
   "daily_rows": 30,
   "daily_spends": 77.35,
   "period_spends": 77.35,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 16,
     "recordsFiltered": 16,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "37337654156088"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 19,
     "recordsFiltered": 19,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "37337654156088",
      "sort_field": "spends",
      "sort_type": "desc",
      "search_type": "kw",
      "with_translation": 0
     }
    },
    "adgroup_index": {
     "tool": "ad_campaign_group_report",
     "mode": "ok",
     "pages": 1,
     "rows": 2,
     "recordsFiltered": 2,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "37337654156088"
      ],
      "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": [
       "37337654156088"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  },
  {
   "campaign_id": "122694333137230",
   "label": "21271 21283 21075 21221 SB",
   "spends": "13.26",
   "sales": "0.00",
   "orders": 0,
   "acos": "99999999",
   "clicks": 18,
   "impressions": 40257,
   "budget": 5.0,
   "budget_source": "budget(实时值)",
   "targeting_type": "manual",
   "keyword_rows": 14,
   "searchterm_rows": 17,
   "adgroup_rows": 1,
   "targeting_rows": 0,
   "daily_rows": 30,
   "daily_spends": 13.26,
   "period_spends": 13.26,
   "daily_matches_period": true,
   "reports_meta": {
    "keyword_index": {
     "tool": "ad_campaign_keyword_report",
     "mode": "ok",
     "pages": 1,
     "rows": 14,
     "recordsFiltered": 14,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": [
       "122694333137230"
      ],
      "sort_field": "spends",
      "sort_type": "desc"
     }
    },
    "searchterm_index": {
     "tool": "ad_campaign_search_term_report",
     "mode": "ok",
     "pages": 1,
     "rows": 17,
     "recordsFiltered": 17,
     "params": {
      "report_date": "2026-08-30 - 2026-09-28",
      "profile_ids": [
       "2541623715456141"
      ],
      "campaign_id": "122694333137230",
      "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": [
       "122694333137230"
      ],
      "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": [
       "122694333137230"
      ],
      "sort_field": "spends",
      "sort_type": "desc",
      "with_ring": 0
     }
    }
   }
  }
 ],
 "skipped_zero_spend": [
  {
   "campaign_id": "17167162493233",
   "label": "21271 MP-bra",
   "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 21271 --period 2026-08-30 - 2026-09-28 --out daily_20260928/data/ads_21271"
}