Store Builder

Mã khuyến mãi

Ba loại giảm giá, hai cách áp dụng, và bốn trạng thái quyết định mã có dùng được hay không.

Quản lý → Khuyến mãi (en: Manage → Discounts). Danh sách hiện Mã, Loại, Giá trị, Lượt dùng, Trạng thái.

Ba loại giảm giá

Loại en Giá trị bạn nhập
Phần trăm Percentage Số phần trăm được giảm
Số tiền cố định Fixed Số tiền được trừ
Miễn phí vận chuyển Free shipping Không nhập gì — phí vận chuyển về 0

Hai cách áp dụng

Mã nhập (en: Code) — khách gõ mã khi thanh toán, ví dụ SUMMER20. Mã được lưu dưới dạng chữ hoa, nên khách gõ thường hay hoa đều được.

Nhưng khách chỉ gõ được nếu có ô để gõ, và ô đó không tự có: thêm Mã giảm giá (en: Discount code) vào form đặt hàng — trình dựng form → nhóm Cơ bản. Không có ô đó thì mã nhập không có đường nào vào đơn hàng, và chỉ những mã tự động bên dưới mới chạy.

Mã sai thì đơn không được ghi: khách thấy báo lỗi ngay tại ô vừa gõ. Đó là chủ ý — khách gõ mã chính là để trả ít đi, nên một đơn trôi qua mà bỏ mã sẽ thu đủ tiền trong khi trang cảm ơn nói mọi thứ ổn.

Tự động (en: Automatic) — không cần mã. Giảm giá tự áp khi đơn hàng thoả điều kiện.

Đừng nhầm với Thẻ quà tặng: mã giảm giá làm hàng rẻ đi, còn thẻ quà tặng trả tiền cho hàng nguyên giá. Một đơn dùng được cả hai.

Muốn khách thấy mã ngay trên trang — một danh sách mã bấm là dùng, hay đồng hồ đếm ngược cho flash sale — xem Flash sale và khuyến mãi trên trang.

Áp dụng cho cái gì

Toàn đơn hàng Áp lên tổng đơn
Sản phẩm cụ thể Chỉ các sản phẩm bạn chọn
Danh mục cụ thể Chỉ các danh mục bạn chọn

Với hai lựa chọn sau, một ô chọn hiện ra để bạn tìm và tick các mục.

Điều kiện và giới hạn

Đơn tối thiểu — giá trị đơn hàng tối thiểu để mã có hiệu lực. Để 0 là không yêu cầu.

Giới hạn lượt dùng — tổng số lần mã được dùng, trên toàn cửa hàng. Để 0 là không giới hạn. Cột Lượt dùng trong danh sách hiện Đã dùng 12 / 100, hoặc chỉ Đã dùng 12 nếu không giới hạn.

Bắt đầu / Kết thúc — khoảng thời gian mã chạy. Để trống cả hai là không giới hạn thời gian.

Đang chạy — công tắc bật/tắt. "Chỉ mã đang chạy mới dùng được."

Bốn trạng thái, và chúng được suy ra

Trạng thái trong danh sách không phải một trường bạn chọn — nó là kết quả của công tắc Đang chạy cộng với lịch thời gian:

Trạng thái Nghĩa là
Đang chạy (Active) Đang bật và đang trong khoảng thời gian hiệu lực
Tắt (Inactive) Công tắc đang tắt
Đã lên lịch (Scheduled) Đang bật, nhưng ngày bắt đầu chưa tới
Hết hạn (Expired) Ngày kết thúc đã qua

Một mã "không chạy" thì câu hỏi đầu tiên luôn là: nó đang ở trạng thái nào trong bốn cái trên. Đã lên lịch và Hết hạn trông giống hệt nhau với khách, nhưng cách sửa khác hẳn.

Trùng mã

Nếu bạn đặt một mã đã tồn tại, biểu mẫu báo "Đã có mã khuyến mãi trùng. Vui lòng chọn mã khác." Mỗi mã là duy nhất trong một cửa hàng.

Tên nội bộ

Ô Tên (en: Title) là nhãn nội bộ, không bắt buộc, khách không thấy — để khi có hai mươi mã bạn vẫn nhớ SUMMER20 là chiến dịch nào.

Xoá

Xoá một khuyến mãi là vĩnh viễn và không hoàn tác được.

Với một mã bạn chỉ muốn dừng, hãy tắt công tắc Đang chạy thay vì xoá. Mã tắt thì khách không dùng được nữa, nhưng lượt dùng và bản ghi của nó vẫn còn — điều này quan trọng khi bạn cần đối chiếu doanh thu của một chiến dịch đã kết thúc.

Vì sao mã giảm giá không có trong API công khai

discounts có trong bộ từ vựng scope, nhưng chưa có endpoint /api/v1 cho nó. Lý do là mỗi tài nguyên công khai cần một hình dạng đóng băng riêng, chứ không được phơi thẳng cấu trúc nội bộ ra — vì một cấu trúc hôm nay serialise được thì ngày mai sẽ công bố mọi trường nó mọc thêm. Xem Những gì chưa có ở đây.

Trong lúc chờ, việc tiêu một mã vẫn diễn ra bình thường trong quy trình thanh toán — đó là nơi duy nhất một mã được tiêu, dưới một khoá, với giới hạn lượt dùng được kiểm tra thật.

Cập nhật 26/9/2026