From 1c3a58b89a7004bf02c3adc4576429e10a980135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=BA=90?= Date: Mon, 7 Sep 2026 17:10:14 +0800 Subject: [PATCH] rebuild: clean 3-tab report (Mintegral perf data), drop mock data.json --- .gitignore | 3 + data.json | 34 -- index.html | 953 ++++++++++++++++---------------------------------- mtg_data.json | 98 ++++++ 4 files changed, 394 insertions(+), 694 deletions(-) create mode 100644 .gitignore delete mode 100644 data.json create mode 100644 mtg_data.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dd8c6f3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +mtg_raw.tsv +channel_matrix.csv +mtg_fetch.py diff --git a/data.json b/data.json deleted file mode 100644 index 9fac787..0000000 --- a/data.json +++ /dev/null @@ -1,34 +0,0 @@ -[ - {"date":"2026-08-17","pkg":"com.igg.android.lordsmobile","ad_unit":"91530536_IGG_RU","impressions":40311,"clicks":542,"conversions":23,"ecpm":0.285,"cpc":0.021,"ctr":0.01345,"ivr":0.00057,"cvr":0.04244}, - {"date":"2026-08-17","pkg":"net.mbc.shahid","ad_unit":"91530537_MBCShahid_SA","impressions":85696,"clicks":19376,"conversions":19,"ecpm":0.1,"cpc":0,"ctr":0.2261,"ivr":0.00022,"cvr":0.00098}, - {"date":"2026-08-17","pkg":"com.sialiagames.xczyw.gp.tw","ad_unit":"91533906_xczyw_TW","impressions":9943,"clicks":343,"conversions":0,"ecpm":0,"cpc":0,"ctr":0.0345,"ivr":0,"cvr":0}, - {"date":"2026-08-17","pkg":"com.qookkagames.xczyw.gp.hk","ad_unit":"91534913_xczyw_HK","impressions":21829,"clicks":1998,"conversions":0,"ecpm":0,"cpc":0,"ctr":0.09153,"ivr":0,"cvr":0}, - {"date":"2026-08-17","pkg":"br.com.netshoes.app","ad_unit":"91530549_Netshoes_BR","impressions":4,"clicks":0,"conversions":0,"ecpm":0,"cpc":0,"ctr":0,"ivr":0,"cvr":0}, - {"date":"2026-08-17","pkg":"com.luizalabs.mlapp","ad_unit":"91530547_Magalu_BR","impressions":12,"clicks":2,"conversions":0,"ecpm":0,"cpc":0,"ctr":0.16667,"ivr":0,"cvr":0}, - {"date":"2026-08-17","pkg":"com.levelinfinite.sgameGlobal_in","ad_unit":"91530535_HonorofKings_IN","impressions":18,"clicks":8,"conversions":0,"ecpm":0,"cpc":0,"ctr":0.44444,"ivr":0,"cvr":0}, - {"date":"2026-08-17","pkg":"com.levelinfinite.sgameGlobal_ph","ad_unit":"91530534_HonorofKings_PH","impressions":2,"clicks":0,"conversions":0,"ecpm":0,"cpc":0,"ctr":0,"ivr":0,"cvr":0}, - {"date":"2026-08-18","pkg":"com.igg.android.lordsmobile","ad_unit":"91530536_IGG_RU","impressions":33211,"clicks":508,"conversions":20,"ecpm":0.301,"cpc":0.02,"ctr":0.0153,"ivr":0.0006,"cvr":0.03937}, - {"date":"2026-08-18","pkg":"net.mbc.shahid","ad_unit":"91530537_MBCShahid_SA","impressions":163377,"clicks":43382,"conversions":19,"ecpm":0.052,"cpc":0,"ctr":0.26553,"ivr":0.00012,"cvr":0.00044}, - {"date":"2026-08-18","pkg":"com.qookkagames.xczyw.gp.hk","ad_unit":"91534913_xczyw_HK","impressions":21925,"clicks":1853,"conversions":2,"ecpm":0.059,"cpc":0.001,"ctr":0.08452,"ivr":0.00009,"cvr":0.00108}, - {"date":"2026-08-18","pkg":"com.sialiagames.xczyw.gp.tw","ad_unit":"91533906_xczyw_TW","impressions":9249,"clicks":247,"conversions":0,"ecpm":0,"cpc":0,"ctr":0.02671,"ivr":0,"cvr":0}, - {"date":"2026-08-19","pkg":"com.igg.android.lordsmobile","ad_unit":"91530536_IGG_RU","impressions":40503,"clicks":629,"conversions":23,"ecpm":0.284,"cpc":0.018,"ctr":0.01553,"ivr":0.00057,"cvr":0.03657}, - {"date":"2026-08-19","pkg":"net.mbc.shahid","ad_unit":"91530537_MBCShahid_SA","impressions":51738,"clicks":9944,"conversions":19,"ecpm":0.165,"cpc":0.001,"ctr":0.1922,"ivr":0.00037,"cvr":0.00191}, - {"date":"2026-08-19","pkg":"com.qookkagames.xczyw.gp.hk","ad_unit":"91534913_xczyw_HK","impressions":18978,"clicks":1251,"conversions":0,"ecpm":0,"cpc":0,"ctr":0.06592,"ivr":0,"cvr":0}, - {"date":"2026-08-19","pkg":"com.sialiagames.xczyw.gp.tw","ad_unit":"91533906_xczyw_TW","impressions":8912,"clicks":228,"conversions":2,"ecpm":0.112,"cpc":0.004,"ctr":0.02558,"ivr":0.00022,"cvr":0.00877}, - {"date":"2026-08-20","pkg":"com.sialiagames.xczyw.gp.tw","ad_unit":"91533906_xczyw_TW","impressions":8620,"clicks":258,"conversions":1,"ecpm":0.058,"cpc":0.002,"ctr":0.02993,"ivr":0.00012,"cvr":0.00388}, - {"date":"2026-08-20","pkg":"com.qookkagames.xczyw.gp.hk","ad_unit":"91534913_xczyw_HK","impressions":21010,"clicks":2211,"conversions":1,"ecpm":0.031,"cpc":0,"ctr":0.10524,"ivr":0.00005,"cvr":0.00045}, - {"date":"2026-08-20","pkg":"net.mbc.shahid","ad_unit":"91530537_MBCShahid_SA","impressions":54406,"clicks":7459,"conversions":19,"ecpm":0.157,"cpc":0.001,"ctr":0.1371,"ivr":0.00035,"cvr":0.00255}, - {"date":"2026-08-20","pkg":"com.igg.android.lordsmobile","ad_unit":"91530536_IGG_RU","impressions":42226,"clicks":669,"conversions":25,"ecpm":0.296,"cpc":0.019,"ctr":0.01584,"ivr":0.00059,"cvr":0.03737}, - {"date":"2026-08-21","pkg":"com.sialiagames.xczyw.gp.tw","ad_unit":"91533906_xczyw_TW","impressions":8048,"clicks":236,"conversions":0,"ecpm":0,"cpc":0,"ctr":0.02932,"ivr":0,"cvr":0}, - {"date":"2026-08-21","pkg":"com.qookkagames.xczyw.gp.hk","ad_unit":"91534913_xczyw_HK","impressions":14550,"clicks":1383,"conversions":0,"ecpm":0,"cpc":0,"ctr":0.09505,"ivr":0,"cvr":0}, - {"date":"2026-08-21","pkg":"net.mbc.shahid","ad_unit":"91530537_MBCShahid_SA","impressions":105591,"clicks":22397,"conversions":19,"ecpm":0.104,"cpc":0,"ctr":0.21211,"ivr":0.00018,"cvr":0.00085}, - {"date":"2026-08-21","pkg":"com.igg.android.lordsmobile","ad_unit":"91530536_IGG_RU","impressions":39951,"clicks":852,"conversions":30,"ecpm":0.375,"cpc":0.018,"ctr":0.02133,"ivr":0.00075,"cvr":0.03521}, - {"date":"2026-08-22","pkg":"com.sialiagames.xczyw.gp.tw","ad_unit":"91533906_xczyw_TW","impressions":10089,"clicks":371,"conversions":2,"ecpm":0.099,"cpc":0.003,"ctr":0.03677,"ivr":0.0002,"cvr":0.00539}, - {"date":"2026-08-22","pkg":"com.qookkagames.xczyw.gp.hk","ad_unit":"91534913_xczyw_HK","impressions":13944,"clicks":1460,"conversions":0,"ecpm":0,"cpc":0,"ctr":0.1047,"ivr":0,"cvr":0}, - {"date":"2026-08-22","pkg":"net.mbc.shahid","ad_unit":"91530537_MBCShahid_SA","impressions":104031,"clicks":30747,"conversions":19,"ecpm":0.11,"cpc":0,"ctr":0.29556,"ivr":0.00018,"cvr":0.00062}, - {"date":"2026-08-22","pkg":"com.igg.android.lordsmobile","ad_unit":"91530536_IGG_RU","impressions":33215,"clicks":767,"conversions":54,"ecpm":0.813,"cpc":0.035,"ctr":0.02309,"ivr":0.00163,"cvr":0.0704}, - {"date":"2026-08-23","pkg":"com.sialiagames.xczyw.gp.tw","ad_unit":"91533906_xczyw_TW","impressions":9577,"clicks":405,"conversions":1,"ecpm":0.052,"cpc":0.001,"ctr":0.04229,"ivr":0.0001,"cvr":0.00247}, - {"date":"2026-08-23","pkg":"com.qookkagames.xczyw.gp.hk","ad_unit":"91534913_xczyw_HK","impressions":13892,"clicks":1432,"conversions":1,"ecpm":0.047,"cpc":0,"ctr":0.10308,"ivr":0.00007,"cvr":0.0007}, - {"date":"2026-08-23","pkg":"net.mbc.shahid","ad_unit":"91530537_MBCShahid_SA","impressions":44565,"clicks":11596,"conversions":19,"ecpm":0.256,"cpc":0.001,"ctr":0.2602,"ivr":0.00043,"cvr":0.00164}, - {"date":"2026-08-23","pkg":"com.igg.android.lordsmobile","ad_unit":"91530536_IGG_RU","impressions":37835,"clicks":1698,"conversions":45,"ecpm":0.595,"cpc":0.013,"ctr":0.04488,"ivr":0.00119,"cvr":0.0265} -] diff --git a/index.html b/index.html index 5602692..814da2c 100644 --- a/index.html +++ b/index.html @@ -9,403 +9,180 @@ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; - background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); - min-height: 100vh; - color: #2d3748; - } - .container { - max-width: 1440px; - margin: 0 auto; - padding: 30px 24px; - } - .header { - text-align: center; - padding: 40px 0 35px; - } - .header h1 { - font-size: 28px; - font-weight: 700; - color: #fff; - letter-spacing: -0.5px; - margin-bottom: 8px; - text-shadow: 0 2px 4px rgba(0,0,0,0.1); - } - .header p { - color: rgba(255,255,255,0.8); - font-size: 14px; + background: #f7f8fa; + color: #1f2933; + line-height: 1.5; } + .container { max-width: 1400px; margin: 0 auto; padding: 24px 20px 48px; } - /* Summary Cards */ - .summary-row { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 16px; - margin-bottom: 24px; - } - .summary-card { - background: #fff; - border-radius: 16px; - padding: 20px 24px; - box-shadow: 0 4px 20px rgba(0,0,0,0.08); - transition: transform 0.2s, box-shadow 0.2s; - } - .summary-card:hover { - transform: translateY(-2px); - box-shadow: 0 8px 30px rgba(0,0,0,0.12); - } - .summary-card .label { - font-size: 12px; - color: #94a3b8; - text-transform: uppercase; - letter-spacing: 0.5px; - font-weight: 600; - } - .summary-card .value { - font-size: 26px; - font-weight: 700; - color: #1e293b; - margin-top: 6px; - } - .summary-card .sub { - font-size: 12px; - color: #64748b; - margin-top: 4px; - } - - /* Controls */ - .controls { - background: #fff; - border-radius: 16px; - padding: 16px 24px; - margin-bottom: 24px; - box-shadow: 0 4px 20px rgba(0,0,0,0.08); - display: flex; - gap: 20px; - flex-wrap: wrap; - align-items: center; - } - .control-group { - display: flex; - align-items: center; - gap: 8px; - } - .controls label { - font-size: 13px; - color: #64748b; - font-weight: 500; - } - .controls select { - padding: 8px 14px; - border: 1.5px solid #e2e8f0; - border-radius: 10px; - font-size: 13px; - background: #f8fafc; - cursor: pointer; - color: #334155; - font-weight: 500; - transition: border-color 0.2s, box-shadow 0.2s; - outline: none; - } - .controls select:focus { - border-color: #667eea; - box-shadow: 0 0 0 3px rgba(102,126,234,0.15); - } - - /* Charts */ - .charts-grid { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 20px; - margin-bottom: 24px; - } - .chart-card { - background: #fff; - border-radius: 16px; - padding: 24px; - box-shadow: 0 4px 20px rgba(0,0,0,0.08); - transition: transform 0.2s, box-shadow 0.2s; - } - .chart-card:hover { - transform: translateY(-2px); - box-shadow: 0 8px 30px rgba(0,0,0,0.12); - } - .chart-card h3 { - font-size: 14px; - color: #475569; - margin-bottom: 16px; - font-weight: 600; - display: flex; - align-items: center; - gap: 8px; - } - .chart-card h3::before { - content: ''; - display: inline-block; - width: 4px; - height: 16px; - border-radius: 2px; - background: linear-gradient(135deg, #667eea, #764ba2); - } - .chart-card canvas { - width: 100% !important; - height: 240px !important; - } - - /* Table */ - .table-section { - background: #fff; - border-radius: 16px; - padding: 24px; - box-shadow: 0 4px 20px rgba(0,0,0,0.08); - overflow: hidden; - } - .table-section h2 { - font-size: 16px; - color: #1e293b; - margin-bottom: 16px; - font-weight: 700; - display: flex; - align-items: center; - gap: 8px; - } - .table-section h2::before { - content: ''; - display: inline-block; - width: 4px; - height: 18px; - border-radius: 2px; - background: linear-gradient(135deg, #667eea, #764ba2); - } - .table-wrapper { - overflow-x: auto; - border-radius: 12px; - border: 1px solid #e2e8f0; - } - table { - width: 100%; - border-collapse: collapse; - font-size: 13px; - } - thead { - background: linear-gradient(135deg, #f8fafc, #f1f5f9); - } - th { - padding: 12px 14px; - text-align: left; - font-weight: 600; - color: #475569; - white-space: nowrap; - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.3px; - border-bottom: 2px solid #e2e8f0; - } - td { - padding: 11px 14px; - border-bottom: 1px solid #f1f5f9; - white-space: nowrap; - color: #334155; - } - tr:last-child td { - border-bottom: none; - } - tr:hover td { - background: #f8fafc; - } - .pkg-tag { - display: inline-block; - padding: 3px 10px; - border-radius: 20px; - font-size: 11px; - font-weight: 500; - background: linear-gradient(135deg, #eef2ff, #e0e7ff); - color: #4338ca; - border: 1px solid #c7d2fe; - } - .num-cell { - font-variant-numeric: tabular-nums; - font-family: 'SF Mono', 'Fira Code', monospace; - font-size: 12px; - } - - .updated-time { - text-align: center; - color: rgba(255,255,255,0.7); - font-size: 12px; - margin-top: 24px; - padding-bottom: 20px; - } + .header { padding: 12px 0 20px; } + .header h1 { font-size: 22px; font-weight: 700; color: #111827; } + .header p { color: #6b7280; font-size: 13px; margin-top: 4px; } /* Tabs */ .tabs { display: flex; - gap: 8px; + gap: 4px; + border-bottom: 1px solid #e5e7eb; margin-bottom: 24px; - background: rgba(255,255,255,0.15); - padding: 6px; - border-radius: 14px; - backdrop-filter: blur(10px); - width: fit-content; - margin-left: auto; - margin-right: auto; } .tab-btn { - padding: 10px 28px; + padding: 10px 20px; border: none; background: transparent; - color: rgba(255,255,255,0.85); + color: #6b7280; font-size: 14px; - font-weight: 600; - border-radius: 10px; + font-weight: 500; cursor: pointer; - transition: all 0.2s; - } - .tab-btn.active { - background: #fff; - color: #667eea; - box-shadow: 0 2px 8px rgba(0,0,0,0.1); + border-bottom: 2px solid transparent; + margin-bottom: -1px; + transition: color 0.15s, border-color 0.15s; } + .tab-btn:hover { color: #111827; } + .tab-btn.active { color: #2563eb; border-bottom-color: #2563eb; font-weight: 600; } .tab-panel { display: none; } .tab-panel.active { display: block; } - /* Order status badges */ - .status-badge { - display: inline-block; - padding: 3px 12px; - border-radius: 20px; - font-size: 11px; - font-weight: 600; - } - .status-active { - background: #dcfce7; - color: #16a34a; - border: 1px solid #86efac; - } - .status-pause { - background: #fef3c7; - color: #d97706; - border: 1px solid #fcd34d; - } - .pay-badge { - display: inline-block; - padding: 2px 8px; - border-radius: 6px; - font-size: 11px; - font-weight: 600; - background: #f1f5f9; - color: #475569; - } - .channel-chip { - display: inline-block; - padding: 2px 8px; - margin: 2px; - border-radius: 6px; - font-size: 10px; - background: #eef2ff; - color: #4338ca; - border: 1px solid #c7d2fe; - } - .no-channel { - color: #cbd5e1; - font-size: 12px; - } - .order-stats { + /* Summary cards */ + .summary-row { display: grid; - grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); - gap: 16px; - margin-bottom: 24px; + grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); + gap: 12px; + margin-bottom: 20px; } + .card { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 10px; + padding: 16px 18px; + } + .card .label { font-size: 12px; color: #6b7280; font-weight: 500; } + .card .value { font-size: 22px; font-weight: 700; color: #111827; margin-top: 4px; } + .card .sub { font-size: 11px; color: #9ca3af; margin-top: 2px; } - @media (max-width: 900px) { - .charts-grid { grid-template-columns: 1fr; } - .summary-row { grid-template-columns: repeat(2, 1fr); } - .container { padding: 16px; } - .header h1 { font-size: 22px; } + /* Section */ + .section { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 10px; + padding: 20px; + margin-bottom: 20px; } - @media (max-width: 500px) { - .summary-row { grid-template-columns: 1fr; } + .section h2 { font-size: 15px; font-weight: 600; color: #111827; margin-bottom: 14px; } + .section .hint { font-size: 12px; color: #9ca3af; margin: -8px 0 14px; } + + /* Controls */ + .controls { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; margin-bottom: 14px; } + .control-group { display: flex; align-items: center; gap: 6px; } + .controls label { font-size: 13px; color: #6b7280; } + .controls select { + padding: 6px 10px; + border: 1px solid #d1d5db; + border-radius: 8px; + font-size: 13px; + background: #fff; + color: #374151; + outline: none; + cursor: pointer; + } + .controls select:focus { border-color: #2563eb; } + + /* Table */ + .table-wrapper { overflow-x: auto; border: 1px solid #e5e7eb; border-radius: 8px; } + table { width: 100%; border-collapse: collapse; font-size: 13px; } + thead { background: #f9fafb; } + th { + padding: 10px 12px; text-align: left; font-weight: 600; color: #6b7280; + white-space: nowrap; font-size: 12px; border-bottom: 1px solid #e5e7eb; + } + td { padding: 10px 12px; border-bottom: 1px solid #f3f4f6; white-space: nowrap; color: #374151; } + tr:last-child td { border-bottom: none; } + tr:hover td { background: #f9fafb; } + .num { font-variant-numeric: tabular-nums; font-family: 'SF Mono', 'Menlo', monospace; font-size: 12px; } + + .tag { display: inline-block; padding: 2px 8px; border-radius: 6px; font-size: 11px; font-weight: 500; background: #eff6ff; color: #2563eb; } + .badge-active { background: #ecfdf5; color: #059669; border: 1px solid #a7f3d0; } + .badge-pause { background: #fffbeb; color: #d97706; border: 1px solid #fde68a; } + .badge { display: inline-block; padding: 2px 8px; border-radius: 6px; font-size: 11px; font-weight: 600; } + .muted { color: #d1d5db; } + + .chart-box { background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; padding: 20px; margin-bottom: 20px; } + .chart-box h2 { font-size: 15px; font-weight: 600; margin-bottom: 14px; color: #111827; } + .chart-box canvas { width: 100% !important; height: 280px !important; } + + .updated { color: #9ca3af; font-size: 12px; margin-top: 8px; } + .empty { text-align: center; color: #9ca3af; padding: 30px; font-size: 13px; } + + @media (max-width: 720px) { + .summary-row { grid-template-columns: repeat(2, 1fr); } }
-

Moboost 广告投放数据报告

-

数据概览与趋势分析

+

Moboost 广告投放报告

+

投放数据 · 订单信息 · Campaign ID 明细

+
+
-
+
-
-
- - +
+
+
+ + +
+
+ + +
+
+ + +
+
+
+ + + + + + + + + + + + + + + + + +
日期渠道产品Offer Name国家展示点击转化CTRCVRSpend
+
-
- - + +
+

各 Campaign 展示量对比

+
-
-
-

展示量趋势

- -
-
-

点击量趋势

- -
-
-

转化量趋势

- -
-
-

eCPM 趋势

- -
-
- -
-

明细数据

-
- - - - - - - - - - - - - - - - - -
日期广告单元Pkg展示点击转化eCPMCPCCTRIVRCVR
-
-
-
- +
-
+
- -
+

产品订单基础信息

@@ -427,33 +204,30 @@ - -
+

渠道投放矩阵(渠道 × 产品)

-

- Active 投放中  - Pause 投过已停  +

+ Active 投放中  + Pause 投过已停  空白 = 未投放

-
- - -
+
+
- -
-

Campaign ID 明细(唯一识别值)

-
+ +
+
+
- +
- +
@@ -471,50 +245,32 @@
-
+
-
+
diff --git a/mtg_data.json b/mtg_data.json new file mode 100644 index 0000000..5a5b0bd --- /dev/null +++ b/mtg_data.json @@ -0,0 +1,98 @@ +[ + { + "date": "2026-09-06", + "channel": "Mintegral", + "campid": "91534913", + "offer_name": "91534913_xczyw_HK", + "product": "灵犀互动", + "pkg": "com.qookkagames.xczyw.gp.hk", + "location": "HK", + "bid_type": "", + "impression": 30331, + "clicks": 6220, + "conversions": 8, + "ctr": 0.20507, + "cvr": 0.00128, + "spend": 8.0 + }, + { + "date": "2026-09-06", + "channel": "Mintegral", + "campid": "91533906", + "offer_name": "91533906_xczyw_TW", + "product": "灵犀互动", + "pkg": "com.sialiagames.xczyw.gp.tw", + "location": "TW", + "bid_type": "", + "impression": 19127, + "clicks": 1796, + "conversions": 6, + "ctr": 0.09389, + "cvr": 0.00334, + "spend": 6.0 + }, + { + "date": "2026-09-06", + "channel": "Mintegral", + "campid": "91530537", + "offer_name": "91530537_MBCShahid_SA", + "product": "Shahid", + "pkg": "net.mbc.shahid", + "location": "SA", + "bid_type": "", + "impression": 14, + "clicks": 0, + "conversions": 0, + "ctr": 0.0, + "cvr": 0.0, + "spend": 0.0 + }, + { + "date": "2026-09-06", + "channel": "Mintegral", + "campid": "91551606", + "offer_name": "91551606_ZombieWaves_US", + "product": "Zombie", + "pkg": "com.ddup.zombiewaves.zw", + "location": "US", + "bid_type": "", + "impression": 6, + "clicks": 0, + "conversions": 0, + "ctr": 0.0, + "cvr": 0.0, + "spend": 0.0 + }, + { + "date": "2026-09-06", + "channel": "Mintegral", + "campid": "91530535", + "offer_name": "91530535_HonorofKings_IN", + "product": "Honor of Kings", + "pkg": "com.levelinfinite.sgameGlobal", + "location": "IN", + "bid_type": "", + "impression": 3, + "clicks": 0, + "conversions": 0, + "ctr": 0.0, + "cvr": 0.0, + "spend": 0.0 + }, + { + "date": "2026-09-06", + "channel": "Mintegral", + "campid": "91530547", + "offer_name": "91530547_Magalu_BR", + "product": "Magalu_BR (Android)", + "pkg": "com.luizalabs.mlapp", + "location": "BR", + "bid_type": "", + "impression": 2, + "clicks": 0, + "conversions": 0, + "ctr": 0.0, + "cvr": 0.0, + "spend": 0.0 + } +] \ No newline at end of file