Campaign
Tạo, duyệt và vận hành campaign offline (booth, sự kiện) và online (web, app, Zalo): lịch, kênh, game, cơ cấu giải, lượt chơi, thể lệ.
Mục tiêu
| Mục tiêu | Chỉ số đo | Ngưỡng MVP |
| Marketing tự dựng campaign, không cần dev | Từ nhân bản đến gửi duyệt | ≤ 30 phút |
| Không campaign nào chạy khi chưa duyệt | Số campaign Đang chạy không có người duyệt | 0 |
| Quà không hết sớm | Thời điểm hết quà (chế độ rải đều) | Không sớm hơn 90% thời lượng |
| Tỉ lệ trúng đúng như công bố | Lệch thực tế so với cấu hình (tỉ lệ cố định, ≥ 10.000 phiên) | ≤ ±1 điểm % |
Ngoài phạm vi
Campaign offline vs online
| Offline | Online |
| Ví dụ | Booth khai trương cửa hàng, ngày hội tân sinh viên, TTTM | Vòng quay FPT Play trên Hi FPT, game Zalo mùa World Cup |
Kênh (data-platform) | kiosk, tv; điện thoại quét QR tại điểm (mô hình C) | web, app, zalo |
| Định danh người chơi | Nhập SĐT tại chỗ, không OTP | OTP, FPT ID, phiên app, Zalo — Khách hàng |
| Quà | Vật lý + digital; vật lý chỉ trúng trong tồn của điểm | Chỉ digital ở MVP (xem Q-QUA-02) |
| Điểm activation | ≥ 1, mỗi điểm có giờ hoạt động riêng | Không có |
| Lượt chơi | Theo người/ngày + check-in booth | Theo người/ngày + chia sẻ, nhiệm vụ |
| Giới hạn trúng | Theo ngày, theo điểm, theo người | Theo ngày, theo người |
| Thể lệ | Tóm tắt trên attract + QR bản đầy đủ | Link bản đầy đủ trên landing |
Campaign laiSự kiện vừa có booth vừa chơi online: MVP tạo 2 campaign riêng . Xem Q-CMP-02.
Vai trò & quyền
| Vai trò | Xem | Tạo / sửa nháp / nhân bản | Gửi duyệt | Duyệt | Tạm dừng / tiếp tục | Kết thúc sớm |
| Quản trị hệ thống | ✓ | ✓ | ✓ | ✓ (không duyệt campaign mình tạo) | ✓ | ✓ |
| Quản lý campaign | ✓ (phạm vi mình) | ✓ | ✓ | — | ✓ | Đề xuất |
| Người duyệt | ✓ (phạm vi mình) | — | — | ✓ | ✓ | ✓ |
| Quản lý kho quà | Xem cơ cấu giải | — | — | — | — | — |
| Nhân viên booth | Campaign tại điểm mình | — | — | — | Tạm dừng điểm mình | — |
| Người xem báo cáo | Xem chỉ số | — | — | — | — | — |
Bảng tóm tắt. Khi lệch, ma trận ở Tài khoản là đúng (kể cả phạm vi vùng/chi nhánh).
User stories
| Mã | Là… | Tôi muốn… | Để… | Ưu tiên |
| US-CMP-01 | Quản lý campaign | tạo campaign theo wizard, lưu nháp giữa chừng | tự làm, không sót cấu hình | Must |
| US-CMP-03 | Quản lý campaign | lập cơ cấu giải, thấy tồn khả dụng khi gán | không hứa vượt số quà có | Must |
| US-CMP-04 | Quản lý campaign | chọn rải quà đều theo thời gian | ngày cuối vẫn còn quà | Must |
| US-CMP-05 | Người duyệt | xem cấu hình, thể lệ, chi phí quà rồi duyệt / trả về | kiểm soát rủi ro trước khi công bố | Must |
| US-CMP-06 | Quản lý campaign | tạm dừng ngay khi có sự cố | không trao quà sai | Must |
| US-CMP-07 | Quản lý campaign | bổ sung quà, thêm điểm khi campaign đang chạy | không phải dừng campaign | Must |
| US-CMP-08 | Quản lý campaign | nhân bản campaign cũ | dựng chuỗi sự kiện giống nhau | Must |
| US-CMP-09 | Quản lý campaign | sinh thể lệ từ mẫu, tự điền cơ cấu giải | thể lệ khớp cấu hình thật | Should |
Luồng chính
Wizard tạo campaign
| Bước | Nội dung | Chặn bước sau khi |
| 1. Thông tin | Tên, loại (offline/online), vùng/chi nhánh, mô tả | Thiếu tên, loại, vùng |
| 2. Thời gian | Bắt đầu – kết thúc; khung giờ hằng ngày (vd. 8:00–21:00) | Kết thúc ≤ bắt đầu; bắt đầu ở quá khứ |
| 3. Kênh | Offline: kiosk, tv, QR điện thoại. Online: web, app, zalo | Chưa chọn kênh nào |
| 4. Game | Game mẫu → phiên bản → giá trị tham số trong khoảng cho phép, skin (Quản lý game; tham số an toàn khoá); chế độ chơi; kiểu trao thưởng | Game không hỗ trợ kênh đã chọn |
| 5. Điểm & thiết bị Offline | Điểm activation, giờ hoạt động, nhân viên booth, thiết bị, hạn mức quà offline từng thiết bị | Không có điểm; điểm thiếu thiết bị; vi phạm BR-CMP-15 |
| 6. Cơ cấu giải | Quà từ kho, số lượng, tỉ lệ, chế độ phân bổ, giới hạn trúng; offline chia theo điểm | Vượt tồn khả dụng; tổng tỉ lệ > 100% |
| 7. Lượt chơi & thu thập | Lượt mặc định, nguồn lượt thêm + trần; trường thu thập (Khách hàng) | Không có lượt nào |
| 8. Thể lệ | Sinh từ mẫu, sửa được; điều khoản; số đăng ký khuyến mại | Thiếu thể lệ / link chính sách |
| 9. Giao diện | Theme (orange · blue · green), banner, xem trước từng kênh | Online thiếu banner |
| 10. Xem lại | Tóm tắt, chi phí quà = Σ số lượng × giá trị | Còn lỗi chặn |
Lưu nháp ở mọi bước.
Duyệt và chạy
- "Gửi duyệt" → Chờ duyệt; quà được giữ chỗ (Kho quà).
- Người duyệt kiểm điều kiện: khác người tạo (BR-CMP-01), giữ chỗ quà đủ, đã có số đăng ký khuyến mại (BR-CMP-11) → Duyệt, hoặc Trả về kèm ghi chú (về Nháp).
- Đã duyệt: chốt bản cấu hình (số tăng dần), sinh link/QR.
- Đến giờ bắt đầu → tự Đang chạy; thiết bị offline tải cấu hình và hạn mức quà.
- Ngoài khung giờ hằng ngày: "Mở lại lúc 8:00", không tạo phiên mới.
Tạm dừng – tiếp tục
- "Tạm dừng" (toàn campaign hoặc 1 điểm), nhập lý do.
- Không tạo phiên mới; phiên đang chơi được kết thúc và quay thưởng. Quà vẫn giữ chỗ, cấp phát đã có trao bình thường.
- "Tiếp tục" → Đang chạy; giờ kết thúc không tự lùi.
Kết thúc
- Tự động đúng giờ kết thúc; hoặc kết thúc sớm: quản lý campaign đề xuất kèm lý do → người duyệt xác nhận.
- Ngừng phiên mới; bảng xếp hạng (nếu có) chốt, trao quà theo hạng. Quà giữ chỗ chưa trúng trả về kho; cấp phát còn hạn vẫn nhận được.
- Campaign chỉ đọc; landing hiện "Đã kết thúc" + danh sách trúng giải (SĐT che) 30 ngày.
Nhân bản
Sao chép mọi cấu hình và điểm activation. Phải nhập lại: thời gian, thiết bị, số đăng ký khuyến mại. Số lượng quà kiểm lại theo tồn khả dụng hiện tại; phiên bản game đã ngừng hỗ trợ → buộc chọn bản mới. Bản sao ở Nháp, tên thêm "(bản sao)".
Màn hình
| Màn | Kênh | Thành phần chính | Hành động |
| Danh sách campaign | Quản trị | Mã, tên, loại, kênh, thời gian, trạng thái, quà đã trao/tổng; lọc | Tạo, nhân bản, mở |
| Chi tiết campaign | Quản trị | Tab: Tổng quan · Cấu hình · Cơ cấu giải (đã trúng, quota) · Điểm · Nhật ký · Bản cấu hình | Tạm dừng, tiếp tục, sửa, kết thúc |
| Duyệt | Quản trị | So sánh bản đề xuất với bản đang chạy, chi phí, thể lệ | Duyệt, trả về có ghi chú |
| Landing / attract | Mọi kênh | Banner, thể lệ tóm tắt, cơ cấu giải, CTA chơi | Chơi, xem thể lệ |
Landing, attract: Mẫu màn hình game. Chỉ số: Báo cáo.
Quy tắc nghiệp vụ
| Mã | Quy tắc | Ví dụ |
| BR-CMP-01 | Người duyệt phải khác người tạo và người sửa gần nhất | An tạo, Bình sửa → cả hai không được duyệt |
| BR-CMP-02 | Campaign gắn một phiên bản game cố định | |
| BR-CMP-03 | Số lượng mỗi quà ≤ tồn khả dụng lúc gửi duyệt (BR-QUA-01). Gửi duyệt → giữ chỗ; trả về Nháp → bỏ giữ chỗ | |
| BR-CMP-04 | Tổng tỉ lệ trúng các quà ≤ 100%; phần còn lại là "không trúng" | Áo 2% + voucher 10% → 88% không trúng |
| BR-CMP-05 | Offline: quà vật lý chia theo điểm; tổng các điểm = số lượng trong cơ cấu giải | 200 áo = Q1 80 + Q7 70 + Thủ Đức 50 |
| BR-CMP-06 | Giới hạn trúng xét: người → điểm → ngày → tồn. Vượt mức bất kỳ → quà đó coi như hết với phiên này | Mỗi SĐT tối đa 1 quà vật lý/campaign |
| BR-CMP-07 | Giới hạn theo người tính trên người chơi đã hợp nhất (SĐT), mọi kênh | Zalo + web cùng SĐT → tính chung |
| BR-CMP-08 | Campaign chỉ đặt số lượng: lượt mặc định ( 3/người/ngày), số lượt mỗi nguồn, trần. Cơ chế (pool chung đa kênh, reset 00:00, giới hạn nhân viên booth cấp): Khung game | Chia sẻ Zalo +1 (tối đa 1/ngày) |
| BR-CMP-09 | Giờ hoạt động của điểm nằm trong thời gian campaign | |
| BR-CMP-10 | Thể lệ hiển thị lấy từ bản cấu hình đã duyệt; sửa cơ cấu giải → cập nhật thể lệ, duyệt lại | |
| BR-CMP-11 | Campaign may rủi có quà giá trị → phải có số xác nhận đăng ký khuyến mại trước khi duyệt | Xem Q-CMP-01 |
| BR-CMP-12 | Hết toàn bộ quà: "Chơi tiếp không quà" hoặc "Tự tạm dừng" (mặc định , báo quản lý campaign) | |
| BR-CMP-13 | Phiên chơi, lượt trúng ghi số bản cấu hình đang áp dụng | Tra khiếu nại |
| BR-CMP-14 | Chỉ xoá được campaign Nháp | |
| BR-CMP-15 | Tổng hạn mức quà offline của các thiết bị ≤ tồn quà vật lý của điểm (BR-OFF-10, Activation offline) | Booth Q7 có 70 áo → 2 kiosk tối đa 40 + 30 |
| BR-CMP-16 | Tham số game chỉ chọn giá trị trong khoảng do Quản lý game định nghĩa; tham số an toàn (trần điểm, số chạm/giây) không sửa được | |
Sửa khi đang chạy
| Nhóm | Trường | Điều kiện |
| Sửa ngay, ghi nhật ký | Tên hiển thị, mô tả, banner, nhân viên booth | Không đổi quyền lợi người chơi |
| Sửa → duyệt lại (bản cũ chạy tiếp tới khi duyệt) | Bổ sung/thêm quà, thêm điểm/thiết bị, kéo dài giờ kết thúc, tăng lượt, tăng tỉ lệ, thể lệ | Có lợi hoặc trung tính cho người chơi |
| Không được sửa | Loại, game, phiên bản game, giờ bắt đầu; giảm số lượng / tỉ lệ / bớt quà; rút ngắn thời gian (dùng "Kết thúc sớm"); xoá điểm đã có phiên | Giảm quyền lợi đã công bố |
Phân bổ giải
Kiểu trao thưởng: campaign chọn 1 trong 5 kiểu định nghĩa ở Khung game, chỉ nhập tham số (ngưỡng, hạng). Với kiểu có quay may rủi, mỗi quà chọn một chế độ phân bổ:
| Tỉ lệ cố định | Rải đều theo thời gian |
| Cách tính | Mỗi phiên trúng quà i với xác suất pi cấu hình | Chia quà thành quota theo khung 1 giờ chạy. Còn quota → trúng với pi; hết → tạm "hết" tới khung sau. Quota dư cộng dồn sang khung kế |
| Rủi ro | Đông người → hết quà ngày đầu | Đông người → tỉ lệ thực tế thấp hơn pi; thể lệ phải ghi "giải giới hạn theo khung giờ" |
| Dùng khi | Quà digital số lượng lớn, campaign ngắn | Quà giá trị cao, campaign nhiều ngày, booth nhiều điểm |
Ví dụ rải đều: 70 tai nghe, 7 ngày × 10 giờ = 70 khung → quota 1/khung. Khung 9:00 không ai trúng → khung 10:00 quota 2. Offline: quota tính riêng từng điểm.
Trường dữ liệu
Campaign
| Trường | Kiểu | Bắt buộc | Ràng buộc | Ghi chú |
| Mã campaign | Chuỗi | ✓ | Duy nhất, tự sinh CMP-0001 | |
| Tên nội bộ / hiển thị | Chuỗi | ✓ | ≤ 80 / ≤ 60 ký tự | |
| Loại | Chọn | ✓ | Offline · Online | Không đổi sau khi tạo |
| Vùng / chi nhánh | Tham chiếu | ✓ | | Phạm vi xem |
| Bắt đầu / kết thúc | Thời điểm | ✓ | Kết thúc > bắt đầu; ≤ 180 ngày | Giờ Việt Nam |
| Khung giờ chạy hằng ngày | Khoảng giờ | ✓ | Mặc định 8:00–21:00 | |
| Game mẫu / phiên bản / tham số | Tham chiếu | ✓ | BR-CMP-02 | |
| Kiểu trao thưởng | Chọn | ✓ | Theo danh sách ở Khung game | |
| Khi hết quà | Chọn | ✓ | Chơi tiếp không quà · Tự tạm dừng | BR-CMP-12 |
| Lượt mặc định/người/ngày | Số | ✓ | 0–20 | |
| Nguồn lượt thêm | Danh sách | — | Nguồn · số lượt · trần/ngày | Chia sẻ, nhiệm vụ, check-in, nhân viên cấp |
| Thể lệ | Văn bản định dạng | ✓ | ≤ 20.000 ký tự | BR-CMP-10 |
| Số đăng ký khuyến mại | Chuỗi + tệp | Theo BR-CMP-11 | | |
| Theme / banner / ảnh OG | Chọn / ảnh | ✓ | Banner WebP ≤ 300 KB; OG 1200×630 | |
Điểm activation
| Trường | Kiểu | Bắt buộc | Ràng buộc | Ghi chú |
| Mã, tên | Chuỗi | ✓ | Tự sinh VEN-0001; tên ≤ 60 ký tự | Kèm địa chỉ, tỉnh/thành, kho tại điểm; dùng lại nhiều campaign |
| Loại điểm | Chọn | ✓ | Cửa hàng FPT · Trường học · TTTM · Sự kiện · Khác | |
| Ngày giờ hoạt động (theo campaign) | Danh sách khoảng | ✓ | BR-CMP-09 | |
| Nhân viên booth · thiết bị | Tham chiếu nhiều | ✓ · — | ≥ 1 · đã đăng ký với điểm | Activation offline |
Dòng cơ cấu giải
| Trường | Kiểu | Bắt buộc | Ràng buộc | Ghi chú |
| Quà / biến thể | Tham chiếu | ✓ | Quà Đang dùng | |
| Số lượng | Số | ✓ | BR-CMP-03; offline chia theo điểm (BR-CMP-05) | |
| Tỉ lệ trúng | % | ✓ (quay) | 0,01–100; tổng theo BR-CMP-04 | |
| Chế độ phân bổ | Chọn | ✓ | Tỉ lệ cố định · Rải đều | |
| Giới hạn/ngày · /điểm · /người | Số | — | Trống = không giới hạn | BR-CMP-06 |
| Ngưỡng điểm / hạng | Số / khoảng | Theo kiểu trao | | Vd. hạng 1–3 |
Trạng thái campaign
Nháp→Chờ duyệt→Đã duyệt→Đang chạy⇄Tạm dừng→Kết thúc
| Từ | Sang | Ai / điều kiện |
| — | Nháp | Quản lý campaign tạo mới hoặc nhân bản |
| Nháp | Chờ duyệt | Quản lý campaign; không còn lỗi chặn; giữ chỗ quà thành công |
| Chờ duyệt | Nháp | Người duyệt trả về (ghi chú bắt buộc), hoặc người tạo rút lại |
| Chờ duyệt | Đã duyệt | Người duyệt, theo BR-CMP-01, BR-CMP-11 |
| Đã duyệt | Nháp | Người tạo sửa trước giờ bắt đầu → phải duyệt lại |
| Đã duyệt | Đang chạy | Hệ thống, đúng giờ bắt đầu |
| Đang chạy | Tạm dừng | Người có quyền (lý do bắt buộc); hệ thống theo BR-CMP-12, Chống gian lận, hoặc khi phiên bản game đang dùng bị tắt khẩn (BR-QLG-14) |
| Tạm dừng | Đang chạy | Người có quyền; còn trong thời gian chạy |
| Đang chạy, Tạm dừng | Kết thúc | Hệ thống đúng giờ kết thúc; hoặc người duyệt xác nhận kết thúc sớm |
Tạm dừng (mọi nguyên nhân): phiên đang chơi vẫn kết thúc và quay thưởng. Sửa khi Đang chạy không đổi trạng thái: bản sửa duyệt riêng, bản cũ chạy tới khi duyệt.
Ngoại lệ & lỗi
| Tình huống | Hệ thống xử lý | Thông báo hiển thị |
| Gửi duyệt nhưng tồn khả dụng đã giảm | Không giữ chỗ được → vẫn ở Nháp, đánh dấu dòng thiếu | "Áo thun M chỉ còn 35 khả dụng (đang gán 40)" |
| Tới giờ bắt đầu mà chưa duyệt | Không chạy; báo quản lý campaign và người duyệt | "CMP-0012 quá giờ bắt đầu nhưng chưa được duyệt" |
| Thiết bị offline không nhận lệnh tạm dừng | Tự dừng khi đồng bộ lại; trong lúc đó chỉ trao trong hạn mức offline | Chi tiết campaign hiện thiết bị "chưa nhận lệnh" |
| Vào campaign Tạm dừng / Kết thúc / chưa bắt đầu | Không tạo phiên | "Chương trình tạm dừng" · "Chương trình đã kết thúc" · "Bắt đầu lúc 9:00 ngày 20/11" |
Tiêu chí nghiệm thu
AC-CMP-01Cho campaign An tạo, khi An mở màn duyệt, thì nút "Duyệt" bị khoá.
AC-CMP-02Cho tổng tỉ lệ 101%, khi bấm tiếp ở bước 6, thì bị chặn.
AC-CMP-03Cho campaign Đã duyệt bắt đầu 9:00, thì từ 9:01 người chơi tạo được phiên.
AC-CMP-04Cho campaign Đang chạy, khi bấm "Tạm dừng", thì trong 30 giây mọi kênh online từ chối phiên mới, phiên đang chơi vẫn nhận kết quả.
AC-CMP-05Cho 70 quà rải đều trong 70 khung, khi giả lập gấp 10 lần lượng người dự kiến, thì không khung nào vượt quota tích luỹ và khung cuối còn quà.
AC-CMP-06Cho giới hạn 1 quà vật lý/người, khi SĐT đã trúng ở Q1 chơi tiếp ở Q7, thì không trúng quà vật lý.
AC-CMP-07Cho campaign Đang chạy, khi giảm tỉ lệ trúng hoặc đổi phiên bản game, thì hệ thống không cho lưu.
AC-CMP-08Cho bổ sung 50 voucher khi Đang chạy, thì trước duyệt vẫn quay theo bản cũ; sau duyệt, lượt trúng ghi số bản mới.
AC-CMP-09Cho nhân bản campaign đã kết thúc, thì bản mới ở Nháp, thời gian trống, số lượng quà kiểm lại theo tồn.
AC-CMP-10Cho campaign Kết thúc, thì quà giữ chỗ chưa trúng trở lại tồn khả dụng trong ≤ 5 phút.
AC-CMP-11Cho điểm có 70 áo, khi đặt hạn mức offline 2 kiosk là 40 + 40, thì bị chặn ở bước 5.
AC-CMP-12Cho phiên bản game bị tắt khẩn, thì campaign đang dùng chuyển Tạm dừng, phiên đang chơi vẫn nhận kết quả.
Câu hỏi mở
| # | Câu hỏi | Hỏi ai | Hạn | Trả lời |
| Q-CMP-01 | Campaign may rủi có phải đăng ký/thông báo khuyến mại với Sở Công Thương? Ngưỡng giá trị? Ai làm thủ tục? | Pháp chế | | |
| Q-CMP-02 | Có cần campaign lai (booth + online chung cơ cấu giải)? | FCM | | |
| Q-CMP-03 | Nhân viên booth có được tạm dừng điểm mình? | FCM / Vận hành vùng | | |
| Q-CMP-04 | Rải đều theo giờ, hay theo trọng số lượng khách (cao điểm nhiều quà hơn)? | FCM | | |
| Q-CMP-05 | Có công bố danh sách trúng giải? Bao lâu, che SĐT thế nào? | FCM / Pháp chế | | |
| Q-CMP-06 | Chi phí quà vượt ngưỡng nào cần cấp duyệt cao hơn? | FCM | | |
Lịch sử thay đổi
| Bản | Ngày | Người sửa | Nội dung |
| 0.1 | 2026-11-11 | PM | Nháp khởi tạo |