Hàng chốt
Thống kê chung
Doanh số
Trước giảm giá
Doanh thu
CP Quảng cáo
Lợi nhuận ròng
Số đơn chốt
Phân loại đơn hàng
Top sản phẩm
Nguồn đơn hàng
Bảng doanh thu theo ngày
| Ngày | Tổng đơn | Thành công | Hủy/Hoàn | Doanh thu | CPQC | Lợi nhuận ròng | Tăng trưởng |
|---|---|---|---|---|---|---|---|
| — |
Giá vốn / Doanh thu ( ngày)
Tổng giá bán
Tổng giá vốn
Biên lợi nhuận
Sản phẩm vừa bán (7 ngày)
| Sản phẩm | SL | Doanh thu | Ngày gần nhất |
|---|---|---|---|
Khách hàng vừa mua (7 ngày)
| Khách hàng | Đơn | Tổng chi | Lần cuối |
|---|---|---|---|
Phân tích đơn hàng từ Pancake ( ngày)
| Mã đơn | Nguồn | Khách hàng | Sản phẩm | Giá trị | COD | Tiền cần thu | Trạng thái | Thời gian |
|---|---|---|---|---|---|---|---|---|
| Không có đơn hàng | ||||||||
|
Đổi trả
·
|
|
|||||||
Tổng mẫu mã
Trang /
Tổng có thể bán
Hết hàng
mẫu mã hết hàng
Tổng tiền có thể bán
giá bán × tồn (loại Ẩn/Khoá)
Tổng tiền còn lại
giá nhập × tồn (loại Ẩn/Khoá)
| Sản phẩm | Danh mục | Giá bán lẻ | Giá nhập | Tồn kho | Trạng thái | |
|---|---|---|---|---|---|---|
| Chưa có dữ liệu — đang tải... | ||||||
| Không có sản phẩm nào khớp filter | ||||||
|
|
—
|
—
|
Khóa Ẩn Đang bán | |||
| Khách hàng | Điện thoại | Địa chỉ | Số đơn | Đơn thành công | Tổng chi | Đơn hoàn | Lần mua cuối |
|---|---|---|---|---|---|---|---|
| Không có dữ liệu | |||||||
|
—
|
— | — | |||||
| # | Nhân viên | Tổng đơn | Thành công | Tỷ lệ | Doanh thu | Mới/Chờ | Đã hủy | Hoàn | Đơn cuối |
|---|---|---|---|---|---|---|---|---|---|
| Đang tải... | |||||||||
| Không có dữ liệu trong kỳ này | |||||||||
| — | — | — | |||||||
Loại nguồn bán
Nền tảng bán hàng (mã âm — ví dụ -1 = Facebook). Mỗi nền tảng có nhiều
kênh ở mục Kênh bán bên dưới.
| Mã nguồn | Tên | Nền tảng | Mô tả | Số đơn | Thao tác |
|---|---|---|---|---|---|
Kênh bán
Trang / tài khoản cụ thể đang được đồng bộ đơn hàng
| Page ID | Tên kênh | Nền tảng | Kích hoạt | Số đơn | Thao tác |
|---|---|---|---|---|---|
Tài khoản chưa liên kết
Có đơn hàng nhưng chưa có kênh bán tương ứng — nhấn "Thêm" để đưa vào danh sách kênh
| Nguồn | Tài khoản (ID) | Tên | Số đơn | |
|---|---|---|---|---|
| — |
Lợi nhuận theo ngày
| Ngày | Đơn chốt | Đơn hoàn | Tiền hàng | Chiết khấu | Phí VC thu của khách | Phí trả hàng VC | Chi phí QC | Doanh số | Doanh thu | Giá vốn | Lợi nhuận | Lợi nhuận ròng |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
||||||||||||
| Đang tải... | ||||||||||||
| Chọn khoảng ngày và nhấn Xem | ||||||||||||
| Tổng | ||||||||||||
Tổng CPQC
TikTok
TB / ngày có QC
| Ngày | TikTok | Tổng CPQC | Doanh thu | % DT | ROAS | Lợi nhuận ròng | |
|---|---|---|---|---|---|---|---|
| Chọn khoảng thời gian và nhấn Xem | |||||||
| Không có dữ liệu | |||||||
|
|
|
||||||
| Tổng | |||||||
| Đơn hàng | Sản phẩm | Người mua | Đánh giá | Nội dung | Phản hồi |
|---|---|---|---|---|---|
| Không có đánh giá | |||||
| — | |||||
| Sản phẩm | Tài khoản SHOP | ID TikTok Shop | Trạng thái | Giá | Tồn kho | Giá trị tồn | SKU | |
|---|---|---|---|---|---|---|---|---|
| Chưa có sản phẩm — bấm "Đồng bộ sản phẩm" | ||||||||
TikTok Analytics (Organic)
Bài đăng:
Comment:
Nhật ký lỗi ()
Tổng hợp toàn bộ tài khoản
Tổng lượt view
Tổng followers
Tổng lượt xem profile
Tổng video
Tổng likes
Tổng lượt view
Followers
Lượt xem profile
Số video
Tổng likes
Chưa có snapshot — bấm "Đồng bộ bài đăng".
Drafts
Chưa có draft.
Đăng bài TikTok (Organic)
ℹ️ Giới hạn TikTok: 6 video/phút, tối đa 15/ngày mỗi tài khoản. Chưa verify domain? Bấm "URL test" để thử flow bằng video mẫu của TikTok.
Chi tiết
Cài đặt
Độ dài video tối đa: s · Quyền cho phép:
Cho người xem biết bài quảng bá thương hiệu/sản phẩm.
Caption hỗ trợ spintax {mua ngay|đặt liền|chốt đơn} — mỗi kênh ra 1 biến thể. Đăng qua hàng đợi, theo dõi ở tab Hàng đợi.
Xem trước (Feed)
♫ Original sound
Hàng đợi đăng bài
Mỗi kênh được đăng theo lịch riêng (rải giờ) + 1 biến thể video → giảm rủi ro trùng lặp. Job pending có thể huỷ.
Chưa có job nào trong hàng đợi.
| Kênh | Lịch | Trạng thái | Người đăng | |
|---|---|---|---|---|
|
|
Tài khoản TikTok
Người kết nối là chủ sở hữu account. Admin/Quản lý dùng được mọi account và có thể gán thêm user được phép sử dụng từng account.
Chưa có tài khoản nào. Bấm "Kết nối tài khoản TikTok".
Chủ sở hữu: (bạn) • đã ngắt
Người được dùng account này:
Xác thực URL (để đăng video thật)
TikTok chỉ cho phép video_url nằm trên domain/URL prefix bạn đã xác thực.
Không có domain riêng? Dùng URL prefix của chính app này (Cách C): bấm "Dùng prefix của app" → Thêm → đặt file xác thực (app tự phục vụ) → Verify.
📄 File: — app đã tự phục vụ tại prefix này.
Nếu prefix là của app, chỉ cần bấm Verify. Nếu domain riêng, đặt file chứa chuỗi:
Webhook real-time
Nhận bình luận và trạng thái đăng tức thì (thay cho đồng bộ định kỳ). TikTok đẩy về
/api/v1/tiktok-account/webhook (đã verify chữ ký HMAC). Cần scope comment.list.
Nhật ký đăng bài
Mỗi lần đăng được lưu raw (ai đăng · cách thức · trạng thái). Trạng thái cập nhật khi có webhook.
Chưa có lần đăng nào.
| Thời gian | Kênh | Người đăng | Cách thức | Loại | Trạng thái | Caption | |
|---|---|---|---|---|---|---|---|
|
|
↗ | ||||||
|
Request Response |
|||||||
Realtime (30' gần nhất)
đang tải…
🟢 active users
Users
Sessions
Pageviews
Bounce TB
%
Avg session
s
Tổng quan theo ngày
Kênh truy cập (Channel Groups)
Top Source / Medium
| Source | Medium | Users | Sessions |
|---|---|---|---|
Top Pages
| Path | Title | Views | Users | Engagement (s) |
|---|---|---|---|---|
Thiết bị & Khu vực
| Users | Sessions | |
|---|---|---|
Events & Conversions
| Event | Count | Users | Conversion |
|---|---|---|---|
| CONV — |
Cấu hình ngưỡng cảnh báo
Thiết lập 0 hoặc để trống = tắt kiểm tra cho hạng mục đó.
Người nhận alert quản lý tại trang Người dùng → bật toggle QUẢNG CÁO trên từng user (cần có Telegram ID).
Cài đặt này dùng để làm gì?
Đây là cơ chế chống spam. Sau khi gửi một cảnh báo, hệ thống phải đợi tối thiểu N giờ mới được gửi lại cảnh báo cùng loại trong cùng ngày.
Vì sao cần?
Job kiểm tra ngưỡng chạy mỗi giờ (phút :55). Nếu không có throttle, khi vượt ngưỡng kéo dài bạn sẽ nhận tới 24 tin nhắn giống hệt nhau / ngày chỉ vì tình trạng chưa được xử lý.
Ví dụ với mặc định = 4
Giả sử chi phí QC vượt budget liên tục từ 10h sáng:
| Giờ kiểm tra | Vượt ngưỡng? | Đã gửi lần cuối | Hành động |
|---|---|---|---|
| 10:55 | Có | Chưa từng | ✅ Gửi alert |
| 11:55 | Có | 1h trước | ⏭ Bỏ qua |
| 12:55 | Có | 2h trước | ⏭ Bỏ qua |
| 13:55 | Có | 3h trước | ⏭ Bỏ qua |
| 14:55 | Có | 4h trước | ✅ Nhắc lại |
| 15:55 | Có | 1h trước | ⏭ Bỏ qua |
→ Tối đa ~6 alert / loại / ngày thay vì 24.
2 loại alert được tính độc lập
- Chi phí QC vượt ngân sách (
ads_budget_exceeded) - Lợi nhuận / margin thấp (
profit_margin_low)
Trong cùng 1 giờ vẫn có thể nhận cả 2 alert nếu cả 2 đều vượt ngưỡng lần đầu — throttle tính riêng cho từng loại.
⚡ Ngoại lệ — Escalation
Throttle bị bỏ qua khi mức độ tăng cấp: trước đó là warning (margin dưới ngưỡng), sau đó tình trạng xấu đi thành critical (lợi nhuận âm) → gửi ngay, không chờ N giờ.
Lý do: tin nghiêm trọng hơn cần biết ngay, không thể đợi.
Khuyến nghị chọn giá trị
| Giá trị | Phù hợp khi | Đánh đổi |
|---|---|---|
| 1–2 | Muốn theo dõi sát, sửa nhanh trong ngày | 12–24 tin/ngày khi sự cố kéo dài |
| 4 (mặc định) | Cân bằng — đủ thời gian hành động trước khi nhắc lại | ~6 tin/ngày |
| 8–12 | Chỉ muốn 1–2 lần nhắc/ngày | Có thể bỏ lỡ thời điểm cần can thiệp |
| 24 | Coi như chỉ 1 alert/ngày/loại | Gần như không nhắc lại |
Mặc định 4 giờ. Nếu thấy quá nhiều tin → tăng lên 6–8. Nếu thấy quên kiểm tra → giảm còn 2–3.
Chạy kiểm tra cảnh báo ngay
Không chờ scheduler. Hệ thống sẽ tính lại báo cáo hôm nay, đối chiếu ngưỡng và gửi alert nếu vượt (vẫn ghi vào lịch sử).
Kiểm tra trạng thái tài khoản Facebook Ads ngay (thanh toán / disable / chạm trần spend). Gửi tới user bật cờ "Cảnh báo Facebook Ads", bỏ qua throttle.
Lịch sử cảnh báo (50 gần nhất)
| Thời gian | Nguồn | Sự kiện | Ngày | Trang | Đã kéo | Tổng | Thông báo |
|---|---|---|---|---|---|---|---|
| Chưa có log | |||||||
Chưa cấu hình Pancake Pages User Access Token
Vào Cài đặt → nhập Pancake Pages User Access Token.
Lấy token tại: pages.fm → Avatar → Cài đặt cá nhân → API Access Token.
⚠️ Pancake User Access Token đã hết hạn
Hết hạn lúc: . Vào Cài đặt → cập nhật Pancake - User Access Token mới (pages.fm → Cài đặt cá nhân → API Access Token).
Token sắp hết hạn —
Hết hạn lúc: . Nên lấy token mới sớm để tránh gián đoạn (pages.fm → Cài đặt cá nhân → API Access Token).
Thống kê tương tác
Lượt KH nhắn tin
Lượt KH bình luận
Tổng KH tương tác
Tương tác KH mới
Tương tác KH cũ
Đơn đã chốt ⓘ
Đơn KH mới
Đơn KH cũ
Tỷ lệ CĐ KH mới
Tỷ lệ CĐ TB
KH cũ:
| Thời gian | Lượt KH nhắn tin | Lượt KH bình luận | Tổng KH tương tác | Tương tác KH mới | Tương tác KH cũ | Đơn đã chốt ⓘ | Đơn KH mới | Đơn KH cũ | Tỷ lệ CĐ KH mới | Tỷ lệ CĐ KH cũ | Tỷ lệ CĐ TB |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Không có dữ liệu | |||||||||||
Chưa cấu hình Pancake Pages User Access Token
Vào Cài đặt → nhập Pancake Pages User Access Token.
⚠️ Pancake User Access Token đã hết hạn
Hết hạn lúc: .
Token sắp hết hạn —
pages_campaigns — chi tiết chiến dịch (ngân sách, chi phí, ROAS…).
Hiện shop chưa kết nối tài khoản QC nên Pancake trả rỗng; bảng sẽ tự có data khi Pancake đồng bộ.
Dữ liệu chuyển đổi theo quảng cáo đang có ở tab Quảng cáo.
Số chiến dịch
CD đang bật
Tổng đã chi tiêu
Tổng lượt mua
ROAS trung bình
CP / kết quả (TB)
| ID chiến dịch | Page | Trạng thái | Tên | Ngân sách | Đã chi tiêu | Còn lại | Lượt hiển thị | Người tiếp cận | Lượt click | CPC | CTR | CPM | Tin nhắn mới | Bắt đầu h.thoại | Lượt mua | G.trị chuyển đổi | ROAS | B.luận bài viết | Mua trên Meta | G.trị mua Meta | KH tiềm năng Meta | Kết quả | CP / k.quả |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/statistics/ads — chuyển đổi Pancake quy đổi theo từng quảng cáo (độc lập Facebook Marketing API).
Gồm: lượt click, số đơn, số SĐT, tổng đơn. Chưa có chi phí/tên — phần đó sẽ bổ sung ở phase Facebook Ads sau.
Số quảng cáo
Tổng click
Tổng đơn (quy đổi)
Tổng SĐT
Tổng đơn hàng
| ID quảng cáo | Page | Lượt click | Số đơn (quy đổi) | Số SĐT | Tổng đơn hàng |
|---|---|---|---|---|---|
Chưa cấu hình Facebook Ads Access Token
Vào Cài đặt → nhập Facebook Ads Access Token, và thêm tài khoản QC ở Chi phí QC → Tài khoản.
Tổng chi phí
Số chiến dịch
Tổng quảng cáo
Tổng kết quả
CP / kết quả (TB)
G.trị mua Meta
| Chiến dịch | Tài khoản | Trạng thái | Chi phí | Kết quả | Tin nhắn mới | CP / k.quả | G.trị mua Meta | Số QC | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
▶
|
đề xuất TẮT | |||||||||||||||||||||
|
||||||||||||||||||||||
Chưa cấu hình TikTok Ads Access Token
Vào Cài đặt → kết nối TikTok Ads (OAuth), và thêm advertiser ở Chi phí QC → Tài khoản (platform TikTok).
Tổng chi phí
Số chiến dịch
Tổng quảng cáo
Conversion
Tin nhắn
GMV (TikTok Shop)
| Chiến dịch | Tài khoản | Trạng thái | Chi phí | Conversion | Tin nhắn | CP / k.quả | GMV | Số QC | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
▶
GMV Max
|
đề xuất TẮT | |||||||||||||||||||||
|
||||||||||||||||||||||
| Tên | Role | Telegram ID | Nhận TB | Mute | Trạng thái | Thao tác | |
|---|---|---|---|---|---|---|---|
|
|
|
⚠ Cần xử lý:
Credentials
App ID:
OA ID:
App Secret:
Token
Access:
Hết hạn sau:
Refresh còn:
Dữ liệu
Followers: (đang follow: )
Tin khách:
Tin OA gửi:
Tin cuối:
ZNS
Bật:
Template map:
Webhook URL cần khai báo trong Zalo Console:
Hệ thống & Pancake
Pages ():
Cấu hình TikTok Shop
Sau khi nhập App Key / App Secret / Service ID, bấm để authorize shop → tự lấy Access Token + Cipher.
Webhook (nhận tin nhắn real-time)
Shop đã ủy quyền
Chưa có shop nào — kết nối ở trên để ủy quyền.
TikTok Account (Organic)
Nhập Client Key / Secret / Redirect URL, Lưu từng mục, rồi bấm Kết nối để authorize từng tài khoản organic.
Tài khoản đã kết nối:
⚠️ Token thiếu quyền comment.list (đọc bình luận) → không kéo được comment (lỗi 40130). Bấm "Ngắt" rồi kết nối lại, ở màn hình TikTok nhớ tick "Get Account Comment".
Ngưỡng cảnh báo Analytics
Đăng bài TikTok (Cloudinary)
Đăng đa kênh: Cloudinary tự tạo video biến thể (chống trùng lặp) — web không chạy ffmpeg. Lấy chuỗi ở Dashboard Cloudinary → "API environment variable" rồi dán vào ô Cloudinary URL.
💡 1 kênh / tắt uniquify → đăng thẳng trên web (không dùng Cloudinary, không tốn credits). Để trống Cloudinary URL → đa kênh fallback ffmpeg cục bộ (nặng, dễ quá tải instance nhỏ).
Facebook & TikTok Ads
Tài khoản Facebook Ads
Chưa có tài khoản nào
Tài khoản TikTok Ads
Chưa có tài khoản nào
Kết nối TikTok Ads qua OAuth
Yêu cầu đã cấu hình TikTok App ID và App Secret ở trên.
Cảnh báo Hiệu suất Pages
Cảnh báo CR thấp / Sụt KH mới / SLA phản hồi / Tin tồn đọng / Dữ liệu bất thường. Đặt 0 hoặc để trống để tắt từng loại. Người nhận quản lý ở trang Người dùng qua 2 toggle PAGES (Business / SLA).
Google Analytics 4 (Website)
Kéo data từ GA4 vào dashboard: users / sessions / traffic sources / top pages / devices-geo / events + realtime + cảnh báo Telegram. Khuyến nghị dùng OAuth (login user) — bypass Workspace policy chặn Service Account.
✓ Đã kết nối OAuth
Chưa kết nối OAuth
Cần nhập OAuth Client ID + Secret trước, rồi bấm 'Kết nối Google Analytics'.
▶ Hướng dẫn tạo OAuth Client (lần đầu)
Bước 1 — Cấu hình OAuth consent screen
- Vào GCP → APIs & Services → OAuth consent screen
- User Type: External (cho phép Gmail cá nhân) → CREATE
- Nhập App name, support email → Save
- Scopes: bỏ qua (Save and continue)
- Test users: Add email Google bạn dùng để login GA4 → Save
- Bấm "Back to Dashboard". Trạng thái Publishing = Testing — vẫn dùng được, miễn đã add Test user.
Bước 2 — Tạo OAuth Client ID
- Vào GCP → APIs & Services → Credentials
- Bấm CREATE CREDENTIALS → OAuth client ID
- Application type: Web application
- Authorized redirect URIs → ADD URI → paste callback URL (xem bên dưới):
- CREATE → popup hiển thị Client ID + Client Secret → copy cả 2
Bước 3 — Enable Google Analytics Data API
- Vào APIs → Library → Google Analytics Data API
- Bấm ENABLE (cùng project với OAuth Client)
Bước 4 — Paste vào dashboard + Connect
- Paste Client ID vào ô OAuth Client ID → Save
- Paste Client Secret vào ô OAuth Client Secret → Save
- Lấy Property ID (số) ở GA4 → ⚙ Admin → Property details → Paste vào ô GA4 Property ID → Save
- Bấm 🔗 Kết nối Google Analytics → popup Google login → chọn account Admin của property → Allow
- Sau khi thành công → bấm Test kết nối GA → nếu OK thì Backfill 7 ngày
⚠️ Refresh token được mã hoá at rest — không xem lại được plaintext. Bấm Ngắt kết nối rồi connect lại nếu muốn đổi tài khoản.
Zalo Official Account
Kết nối Zalo OA để: gửi tin CS Message cho khách trong cửa sổ 48h, nhận tin khách qua Webhook, trả lời qua trang Zalo Inbox. ZNS Template (transactional qua SĐT) bật ở mục dưới.
⚠ Bắt buộc khai báo 2 URL sau trong Zalo Console TRƯỚC KHI bấm 'Kết nối Zalo OA':
📖 Hướng dẫn lấy credentials (App ID / Secret / OA ID / Refresh Token)
Bước 1 — Tạo / chọn ứng dụng tại Zalo Developers
- Mở developers.zalo.me → đăng nhập
- Vào "Tài khoản" (góc phải) → "Ứng dụng của tôi" → chọn / tạo app
- Tab Thông tin: copy App ID và Secret Key
Bước 2 — Liên kết Official Account & lấy OA ID
- Trong app: tab Official Account → "Liên kết OA" → chọn OA của bạn
- OA ID hiện ở danh sách "OA đã liên kết" (hoặc tại oa.zalo.me → Quản lý OA → Thông tin OA)
- Cấp các quyền (scope) cần thiết:
send_message,read_message,read_oa_info,manage_followers
Bước 3 — Lấy Refresh Token (sống 3 tháng)
- Trong app → tab Explorer / OA Manager (hoặc tools/explorer)
- Chọn ngữ cảnh OA tương ứng → nút "Generate Access Token"
- Sau khi user OA bấm xác nhận trên Zalo app: copy refresh_token trong kết quả → dán vào ô Refresh Token bên dưới
- Lưu ý: access_token chỉ sống 1h — không dùng trực tiếp. Chỉ refresh_token quan trọng.
Bước 4 — Sau khi nhập 4 giá trị trên
- Bấm nút "Refresh access_token" bên dưới → hệ thống gọi Zalo lấy access_token + xoay vòng refresh_token
- Cấu hình webhook URL
https://<host>/api/v1/webhook/zalotrên Zalo Developer Console → app → tab Webhook - Job
refresh_zalo_tokensẽ tự refresh mỗi 50 phút — không cần thao tác thêm
⚡ ZNS — Bật gửi tin transactional
Mỗi tin ZNS TỐN PHÍ. Chỉ bật khi đã verify template hoạt động.
🧪 Test gửi tin CS
Verify end-to-end (OA ID + access_token). User phải đã follow OA và chat với OA trong 48h gần đây. Lấy user_id từ Zalo Inbox.
Kiểm tra Telegram
Chẩn đoán cấu hình
Kiểm tra bot token & danh sách user nhận tin
Gửi thông báo đơn hàng mẫu
Kiểm tra bot có gửi được tin đơn mới không
Gửi báo cáo ngày qua bot
Gửi báo cáo ngày hôm nay tới tất cả user
Telegram Bot Webhook (lệnh /pay_ok, /pay_no)
Đăng ký webhook để admin có thể gõ /pay_ok <id> hoặc /pay_no <id> trực tiếp trong
Telegram để xác nhận/từ chối thanh toán.