From the leads table — follows the date & page filters. FB ad spend follows the page filter (FB pages only). Click a stage or source to drill into the leads.
Inbox
—
total leads
—quality›
Quality
—
—
—close (Q)›
Closed
—
—
New leads
—
ลูกค้าใหม่
Return leads
—
ลูกค้าเก่า · win-back
TMC members ⭐
—
membership leads
Source mix
Ad spend (FB)
—
all FB pages
CPL (spend ÷ inbox)
—
บาท / lead
ROAS (FB)
—
purchase value ÷ spend
CPA (FB)
—
บาท / purchase
FACEBOOK · Funnel & CPL per page
Inbox (split by lead source: Ads / Walk-in / BC) → Quality → Closed per FB page, with FB ad spend & CPL. Follows the date & page filters.
Page
Inbox
Ads
Walk-in
BC
Quality
New
Return
TMC
Closed
Conv%
AOV
Spend
CPL
Loading…
LINE · Funnel per page
Inbox (split by lead source: Ads / Walk-in / BC) → Quality → Closed per LINE page. No ad spend on LINE.
Page
Inbox
Ads
Walk-in
BC
Quality
New
Return
TMC
Closed
Conv%
AOV
Loading…
Marketplace Ads — Lazada + Shopee
Ad spend, Ad GMV & ROAS (Ad GMV ÷ spend) from laz_ad_daily (Sponsored Max + MSA) & shopee_ad_daily (CPC, broad). Orders, Revenue & tROAS (Revenue ÷ spend) are whole-channel actuals from laz_orders / shopee_orders, not ad-attributed. Follows the date filter.
Channel
Ad Spend
Impressions
Clicks
CTR
Ad GMV
ROAS
Orders
Revenue
tROAS
Loading…
—
Channel Mix (period revenue)
Monthly Revenue Trend
Product Category Mix
Category
Units
Orders
% Share
Loading…
Top Products
by units · top 15
Product
SKU
Units
Orders
Loading…
Year × Month Heatmap (revenue, บาท)
Yearly Performance
Year
Revenue
Orders
AOV
Customers
Cancel%
Rev/day
Loading…
📊 Incident Overview — all-time
Loading…
🔔 Remaining Incidents — still open · click to view
Loading…
📌 Follow-up Schedule — next follow-up dates · click to view
Loading…
🎫 Incident Calendar — click a ticket to view details
…
Loading…
Promo type
Promo mix · by product & bundle category
Promotions · Social / Direct channel
Promo-tagged orders parsed from factorders.remark (manual FB / LINE / office) & the new order_metadata system. Marketplace orders carry no promo tag. Follows the date & page filters. Measures revenue / AOV / acquisition lift — not discount depth.
Promo rev share
—
—
—
Promo revenue
—
—
บาท
AOV · promo vs base
—
—
—
New-cust share (promo)
—
—
—
Top promo type
—
—
Active promos
—
in catalogue
Revenue trend
Click a promo below to chart its revenue over time. Pick several to compare.
Selling price over time · per unit
Effective ฿/unit from single-product bundles (offer price ÷ qty), weighted by units sold. Catalogue offer price — not amount paid.
Revenue by promo type
Top promos by revenue
Top 10 promotions (type × bundle).
Acquisition · new vs repeat
Tagged promo orders only.
AOV · promo vs base
By promo type
Promo type
Orders
Revenue
Rev share
AOV
Units/order
By promo
Each specific promotion (type × product bundle). Click a row to see the bundled products & offer price. Offer price = catalogue promo price; AOV is what actually sold.
Promo name
Type
Product bundle
Orders
Revenue
Rev share
AOV
Units/order
Per-item revenue & realised price trial
The actual order amount split across the order's items pro-rata by list price × units — so ฿/unit is money really collected, net of the ~5% TMC member discount and any override. Structured promos only (order_metadata.promotion → bundle contents); legacy remark-code orders carry no price identity. Complements the offer-price chart above, which shows the catalogue price.
Product
Orders
Units
Revenue
฿/unit realised
List price
Disc vs list
Add-on units
No promo-tagged orders in this selection — promo tracking is social / direct only (factorders), with no marketplace coverage.
Orders grouped by units per order — share of total orders shown above each bar
Customer Retention
ALL-TIME · IGNORES DATE FILTER
How often buyers come back — all-time, direct sales only (identity-deduped)
—customers
Repeat rate —
Loading…
📈 Retention over time — cohort × months after
Each row = customers whose first purchase was that month; columns = months later; cell = % who bought again · scoped to the date range · click a cell to drill
Loading…
Frequently Bought Together
Top SKUs that appear in the same orders as the selected product(s). Attach % = orders-with-companion ÷ orders-with-target.
📈 Trend & Forecast
Monthly revenue trend, YoY change
3-period MA Units
—
moving avg / period
Best / Worst Day
—
in window
Monthly avg/day
—
units / day (current month)
Yearly avg/day
—
units / day (YTD)
All-time avg/day
—
units / day (all history)
Units Trend
YoY Revenue Change (%) — same period vs last year
📄 Page Breakdown
Per-page revenue — each FB / Line / IG / Marketplace page
From the admin-entered customer type on each lead — every lead carries one, so New + Return = Total Leads.
Same definition as the LINE report and the ops leaderboard.
Customer
Leads
Share
Quality
Closed
Conv
Revenue
AOV
Loading…
🔀 Who drives cross-sells — from 24 Sep 2026 · CUphar + Thaithon Mall pages
A cross-sell = a returning customer's first-ever buy of a product (sizes/variants count as one). Since 24 Sep admins tick
🔀 on the order form when they talked the customer into it. 🙋 Admin-driven = computed cross-sell + ticked ·
🛒 Customer-initiated = computed cross-sell, not ticked (the customer found it themselves) ·
⚠ Review = ticked, but purchase history shows no new product. Only ticks pay the bonus; this card is about who is doing the selling.
Monthly Leads vs Closed — click a bar to drill that month
🔍 Why leads did not close (reason analysis) — click a bar to drill into leads
Across non-Closed leads matching current filters. Pink overlay = the share that were marked quality. Click any bar to see the actual lead rows behind it.
🕐 When leads come in — day × time — Asia/Bangkok · click a cell to drill
Loading…
Lead volume by weekday and timerange (admin-entered). Darker = more leads. Rows without a timerange are excluded.
📦 Product Waitlist — top 10
Customers blocked by รอสินค้า (หมดสต็อค) — all time · multi-product entries split per item · click a card for names
—
distinct customers
Loading…
Admin Leaderboard — click a row to drill · under Closed: 🆕 new · 🔁 return closed/leads
Admin
Leads
Closed
Conv
Revenue
Loading…
By Page — click a row to drill · under Closed: 🆕 new · 🔁 return closed/leads
Page
Leads
Closed
Conv
Revenue
Loading…
By Product (base products) — click a row to drill
Product
Leads
Closed
Conv
Revenue
Loading…
Multi-product entries are split on commas, so a lead listing 3 products contributes one row to each. Counts and revenue are therefore not mutually exclusive across rows.
Under Closed: 🆕 new · 🔁 return closed/leads.
Shopee vs
Lazada head-to-head.
Headline KPIs & Trend revenue uses Shopee's "รวม" formula (item-line subtotal + buyer-paid ship − seller voucher), matching Shopee Seller Center reports. Lazada uses order_total_amount. Per-SKU & bundle sections use item-level revenue (order totals can't be attributed to specific SKUs).
Cancelled Shopee orders are excluded. Channel & page filters do not apply on this page.
Orders
—
—
Shopee · Lazada
Units
—
—
ชิ้น
Revenue
—
—
บาท
AOV
—
—
บาท / order
Marketplace Trend
—
Category Trend — Shopee vs Lazada
One line per product category, split by marketplace. Uses the same interval and metric as the main trend above.
Shopee
—
Lazada
—
Head-to-Head Matrix
Category
Shopee
Lazada
Total
Shopee share
Leader
Loading…
—
Bundle vs Single (units share)
Top Bundle SKUs
Bundle SKU
Channel
Units
Orders
Revenue
Loading…
Customer Cohorts
"New" = first-ever order on that level (channel / SKU) fell within the selected window.
Per channel — no cross-channel customer matching.
Shopee — new vs return
—
new
·
—
return
—
—
Lazada — new vs return
—
new
·
—
return
—
—
Acquisition Cohort over time
Per-bucket new = customer's first-ever channel order falls in that bucket. Uses the main Trend's interval (Daily / Weekly / Monthly).
Shopee
Lazada
Per-SKU — new vs return customers
Showing top SKUs by customer count
Product (SKU)
Channel
New
Return
Total customers
% New
New revenue
Return revenue
Loading…
New customers for selected SKU(s) —
First-ever buyers of the filtered SKU(s) in this window, with their prior purchase history.
Buyer
Channel
SKU
First SKU buy
First-ever channel order
Previous categories
Orders (window)
Units
Revenue
—
TikTok Shop (ThaithonMall) — orders arrive only via Packhai → factorders (page 17), ~5 min behind Packhai.
Revenue = Packhai orderTotalAmount (items − seller voucher; platform vouchers kept, shipping excluded). Cancelled orders are excluded from KPIs and counted separately.
Deltas compare against the previous period of equal length. Channel, page & product filters do not apply on this page.
Revenue
—
—
บาท · excl. cancelled
Orders
—
—
valid orders
Units
—
—
ชิ้น
AOV
—
—
บาท / order
Buyers ≈
—
—
masked phone · approx.
New vs Repeat ≈
—
first-ever TikTok order in window
Cancel rate
—
—
cancelled ÷ placed
Revenue / day
—
—
avg over window
Revenue & Orders
—
Units · Buyers · Cancelled
Products
Orders & units per SKU (no per-SKU revenue — order totals can't be split by item).
Product (SKU)
Orders
Units
Unit share
Loading…
Order status
All orders placed in the window, incl. cancelled.
Status
Orders
Share
Loading…
Top provinces
Province
Orders
Revenue
AOV
Loading…
Lazada Ads — Sponsored Max + MSA
Daily spend & ROAS from laz_ad_daily (Open Platform + seller-center). Follows the date range above.
Ad Spend
—
บาท
ROAS
—
GMV ÷ spend
Revenue (GMV)
—
บาท
Clicks
—
—
Impressions
—
total
Solution
Spend
ROAS
Revenue (GMV)
Clicks
Impressions
Loading…
Shopee Ads — CPC
Daily spend & ROAS from shopee_ad_daily (Open API, ~6-month retention). Follows the date range above.
Ad Spend
—
บาท
ROAS
—
broad GMV ÷ spend
Ad GMV
—
broad attribution
Clicks
—
—
Impressions
—
—
Attribution
Ad GMV
ROAS
Orders
Units
Loading…
Broad = sales within attribution window incl. assisted; Direct = clicked-then-bought only. Spend is identical (฿—); only the credited conversions differ.
💰 Spend by FB page
Stacked bars, one per FB page · from pk_fb_ad_spend. Use the FB-page filter below to drill down to a single page.
📈 ROAS by FB page
Revenue ÷ spend, one line per page. Bucket follows the toggle above.
🎯 CPA by FB page
Spend ÷ purchases. Buckets with zero purchases are hidden — CPA is undefined.
📣 Ad Performance
Per-ad spend & ROAS across all FB ad accounts · from Facebook Marketing API (level=ad)