Gắn mã chiến dịch với dữ liệu đổi khi làm mã QR khuyến mãi

Gắn mã chiến dịch với dữ liệu đổi khi làm mã QR khuyến mãi
Gắn mã chiến dịch với dữ liệu đổi khi làm mã QR khuyến mãi

“Phiếu này em dùng chiều qua rồi, sao máy vẫn nhận?” chị Linh hỏi. Minh nhìn hàng khách trước quầy trà sữa rồi đáp: “File của ca sáng chưa kịp nhập, chị cho em kiểm tra lại.”

Đó là ngày thứ ba của chương trình mua hai ly tặng topping tại cửa hàng Bùi Viện. Voucher được gửi dưới dạng một ảnh chung, còn nhân viên ghi lượt đổi vào bảng tính cuối ca. Chỉ sau 17 giờ, sáu ảnh đã được dùng lại và báo cáo lệch 11 lượt.

Buổi sáng chị Linh phát hiện voucher chung không có dấu vết

Buổi sáng chị Linh phát hiện voucher chung không có dấu vết
Buổi sáng chị Linh phát hiện voucher chung không có dấu vết

Chiến dịch dự kiến phát 1.200 phiếu trong hai tuần. Khách mua tại quầy nhận ảnh qua Zalo, mỗi ảnh nhìn giống hệt nhau. Nội dung QR chỉ là dòng “TOPPING0D”, không kèm mã người nhận hay số phát hành.

Máy quét ở quầy xác nhận chuỗi đúng, rồi nhân viên bấm nút giảm giá trên POS. Hệ thống không biết ảnh vừa quét thuộc phiếu nào. Một khách chụp màn hình gửi sang nhóm bạn vẫn được chấp nhận vì mọi bản sao có cùng dữ liệu.

Chị Linh thử đối chiếu 84 hóa đơn với file ghi tay. Có 73 dòng đánh dấu đã đổi, trong khi POS tính 79 phần topping miễn phí. Khoảng chênh xuất hiện ở ca giao nhau, lúc nhân viên chiều nhận quầy nhưng file sáng còn nằm trên máy tính văn phòng.

Đến trưa, đội kỹ thuật tạo mã QR khuyến mãi theo số phát hành

Đến trưa, đội kỹ thuật tạo mã QR khuyến mãi theo số phát hành
Đến trưa, đội kỹ thuật tạo mã QR khuyến mãi theo số phát hành

Minh đề xuất chuỗi định danh theo dạng TS0826-000847-X7. Phần đầu nhận diện chiến dịch tháng 8, cụm số giữa là thứ tự voucher, hai ký tự cuối dùng để kiểm tra lỗi nhập. Cơ sở dữ liệu giữ ngày phát, điều kiện áp dụng và trạng thái của từng chuỗi.

Khi tạo mã QR khuyến mãi, cửa hàng có thể nhập URL chứa định danh vào tạo mã QR ngay trên trình duyệt. Công cụ miễn phí, tải được PNG hoặc SVG, hỗ trợ gắn logo và có cả VietQR. Minh chọn SVG để ghép tự động vào 1.200 mẫu voucher mà chữ vẫn sắc khi xuất file in.

Logo ly trà được đặt nhỏ ở giữa. Vùng trắng quanh mã rộng đủ bốn ô, nền dùng màu kem rất nhạt còn các ô vẫn là xanh đậm. Minh in thử trên máy Epson L3250, quét bằng điện thoại Samsung A13 và iPhone 11 trước khi duyệt cả lô.

Mỗi URL mở một trang xác nhận do cửa hàng quản lý. Trang này hiển thị đúng tên ưu đãi, ngày hết hạn và nút “Xác nhận đổi” cho tài khoản nhân viên. Khách tự quét chỉ xem được điều kiện, không thể tự chuyển trạng thái.

Danh sách nhập vào hệ thống có thêm cột sản phẩm áp dụng, mức giảm và số lần được đổi. Voucher topping không thể dùng cho ưu đãi giảm 20.000 đồng vì máy chủ đối chiếu mã chiến dịch trước khi xác nhận. Nếu khách đưa nhầm phiếu, màn hình ghi rõ món cần chọn thay vì chỉ báo một lỗi chung chung.

Minh tạo hai tài khoản thử nghiệm giống quyền của thu ngân. Một tài khoản thuộc Bùi Viện, tài khoản kia thuộc Nguyễn Trãi. Phiếu giới hạn tại Bùi Viện bị từ chối trên máy Nguyễn Trãi, nhờ vậy quy định theo điểm bán được kiểm tra trước giờ chạy thật.

Ca chiều chặn lượt đổi thứ hai ngay tại máy POS

Ca chiều chặn lượt đổi thứ hai ngay tại máy POS
Ca chiều chặn lượt đổi thứ hai ngay tại máy POS

15 giờ 42, khách mang voucher số 000847 đến quầy. Nhân viên quét bằng máy Android gắn cạnh POS, hệ thống thấy trạng thái chưa dùng và hiện nút xác nhận màu xanh. Sau cú chạm, bản ghi lưu thời gian, cửa hàng, hóa đơn và mã nhân viên.

Mười phút sau, một ảnh chụp cùng voucher xuất hiện ở quầy bên phải. Màn hình lần này báo “Đã đổi lúc 15:42, hóa đơn BV-3918”. Nhân viên giải thích theo thông tin sẵn có, không phải chạy vào kho hỏi quản lý.

Để tránh hai quầy cùng nhận trong một khoảnh khắc, thao tác kiểm tra và đổi trạng thái được khóa trong một giao dịch. Yêu cầu đến trước nhận kết quả thành công. Yêu cầu đến sau đọc trạng thái đã dùng, dù khoảng cách giữa hai lần chỉ vài mili giây.

Minh còn đặt giới hạn một tài khoản chỉ xác nhận tại cửa hàng được phân công. Nếu máy quét mất mạng, ứng dụng không cho đổi voucher rồi lưu tạm tùy ý. Ca trưởng có mã dự phòng riêng và mọi lần dùng mã đó đều vào danh sách cần kiểm tra.

Màn hình phản hồi dùng chữ lớn vì nhân viên chỉ có vài giây nhìn qua. Màu xanh kèm số hóa đơn cho lượt hợp lệ, màu cam dành cho phiếu hết hạn và màu đỏ báo đã đổi. Mỗi màu luôn đi cùng chữ để người bị rối loạn nhận biết màu vẫn xử lý đúng.

Cuối ca, quyền xác nhận tự hết hiệu lực trên máy dùng chung. Nhân viên sau phải đăng nhập bằng tài khoản của mình, tránh nhật ký ghi mọi thao tác dưới tên ca trưởng. Máy quét cũng xóa ảnh chụp tạm để voucher của khách không nằm trong thư viện thiết bị.

Ngày hôm sau, dữ liệu đổi chỉ ra chỗ chiến dịch bị lệch

8 giờ sáng, chị Linh mở báo cáo và thấy 312 voucher đã phát, 96 voucher đã đổi, 4 lượt bị từ chối vì dùng lại. Báo cáo chia theo giờ cho thấy 52 lượt đổi rơi vào khung 17 đến 19 giờ. Cửa hàng bổ sung topping và thêm một máy quét trước ca tối.

Mỗi dòng báo cáo nối về hóa đơn POS. Nếu nhân viên xác nhận nhưng quên bấm ưu đãi trên hóa đơn, cột trạng thái sẽ lệch và hiện cảnh báo. Ca trưởng sửa trong ngày thay vì đợi cuối tháng mới dò kho nguyên liệu.

Mã chiến dịch cũng giúp so kênh phát. Voucher bắt đầu bằng ZA đến từ Zalo, RC nằm trên hóa đơn giấy, còn TB phát tại bàn. Sau năm ngày, nhóm RC có tỷ lệ đổi 18%, nhóm ZA đạt 7%, vì khách cầm hóa đơn nhìn lại ưu đãi lúc trả tiền.

Chị Linh không lấy số lượt quét làm số lượt đổi. Một người có thể mở trang điều kiện nhiều lần trước khi đến quầy. Hệ thống tách lượt xem, yêu cầu xác nhận, lượt đổi thành công và lượt bị chặn; bốn con số trả lời bốn câu vận hành khác nhau.

Báo cáo còn có danh sách thao tác hủy. Nếu nhân viên bấm đổi trước khi khách chọn món rồi cần hoàn tác, ca trưởng phải ghi lý do và số hóa đơn. Bản ghi cũ vẫn được giữ, tạo đủ dấu vết cho lần đối soát nguyên liệu vào sáng hôm sau.

Ở báo cáo theo ngày, cột giá trị ưu đãi được tính từ loại voucher tại thời điểm phát. Cách lưu này tránh việc sửa giá topping hôm sau làm sai tổng chi phí của ngày trước. Chị Linh vì vậy đọc được cả số phiếu lẫn khoản ngân sách đã dùng.

Cuối đợt, chị Linh giữ lại quy trình cho chiến dịch sau

Sau 14 ngày, cửa hàng phát 1.184 voucher và ghi nhận 286 lượt đổi hợp lệ. Có 19 lần dùng lại bị chặn, trong đó 14 lần đến từ ảnh được chuyển tiếp. Tổng topping trên POS khớp dữ liệu đổi sau khi loại hai hóa đơn nhân viên thao tác nhầm.

Nhóm vận hành lưu một tờ quy ước gồm tên chiến dịch, mẫu định danh, ngày hiệu lực, quyền xác nhận và cách xử lý mất mạng. Mỗi chiến dịch mới nhận tiền tố khác. Chuỗi cũ vẫn tra được để giải quyết khiếu nại nhưng không còn quyền đổi.

Trước khi in hoặc gửi hàng loạt, họ thử năm tình huống: phiếu mới, phiếu hết hạn, phiếu đã dùng, hai máy quét cùng lúc và tài khoản sai cửa hàng. Ảnh chụp màn hình kết quả được gắn vào tài liệu bàn giao ca. Nhân viên mới nhìn một lượt là biết màu nào cho qua, màu nào cần gọi ca trưởng.

Khâu tạo mã QR khuyến mãi vì thế bắt đầu từ một mã chiến dịch có cấu trúc và kết thúc ở bản ghi đổi rõ ràng. Voucher riêng giúp cửa hàng chặn lần dùng thứ hai ngay khi khách đưa máy, còn báo cáo cuối ngày khớp với hóa đơn và lượng quà đã xuất. Chị Linh đã bỏ hẳn file đánh dấu thủ công từ đợt giảm giá kế tiếp.