Shared catalog trên Magento khiến AI shopping agent đọc sai giá

Jump to section›
Tóm tắt nhanh: Một buyer sỉ nhờ assistant nhập lại một sản phẩm theo điều kiện quen thuộc của họ. Nó trả về một mức giá — mức sai. Agent không nói dối. Nó chỉ đọc đúng cái giá duy nhất mà bạn cho nó thấy. Trên Magento 2, hai tính năng làm cho bán sỉ chạy được — shared catalog và customer-group pricing — đều phân giải sau khi đăng nhập. AI agent vào như khách vãng lai, nên nó đọc con số public, hoặc "call for price", hoặc không gì cả. Tier có biên lợi nhuận tốt nhất của bạn lại là tier ít cấu trúc máy-đọc-được nhất. Cách sửa không phải là rebuild.
#Hai cơ chế, một điểm mù
Magento B2B tính giá đúng cho con người nhờ hai cơ chế phối hợp với nhau, và cả hai đều tắt ngóm ngay khi cái đọc trang là máy chứ không phải người.
Shared catalog quyết định một company thấy những SKU nào. Một shared catalog scope tập hàng của bạn theo company hoặc website — tài khoản buyer này thấy nhóm sản phẩm này, tài khoản kia thấy nhóm khác. Việc phân giải chạy dựa trên session đã đăng nhập. Với một khách vãng lai, scope public là bất cứ gì bạn để mở, mà thường là một tập con của catalog thật, đôi khi rỗng. Một AI agent thì luôn là khách vãng lai. Nên nó đọc một catalog hẹp hơn thực tế bạn bán, và coi cái khung hẹp đó là toàn bộ store.
Customer-group pricing quyết định giá nào cho nhóm nào. Tier price và customer-group price gắn với nhóm của buyer đã đăng nhập. Bề mặt public hiện một base price, hoặc một placeholder "đăng nhập để xem giá", hoặc không gì cả. Agent lấy bất cứ con số public nào nó tìm được và coi đó là giá của store — con số nó sẽ quote và đem so sánh thay cho buyer. Con số đó gần như không bao giờ là cái buyer sỉ của bạn thực sự trả.
Không cái nào trong hai cái này là cấu hình sai. Đó chính là toàn bộ tinh thần của B2B trên Magento: đúng buyer thấy đúng con số, và người khác không thấy. Vấn đề là "người khác" bây giờ bao gồm cả con agent đang đi mua hàng thay cho buyer.
#Ba chỗ nó thực sự gãy
Những điều dưới đây nói ở mức cơ chế — cùng những pattern lặp lại mà chúng tôi thấy khi đọc các storefront public, không phải số đo trên một Magento install cụ thể nào.
#1. Giá public không phải giá thật
Khi con số duy nhất trên trang là base price hay giá lẻ, agent itemise offer của bạn bằng một con số mà buyer của bạn sẽ không bao giờ trả. Rồi nó xếp bạn cạnh một marketplace hiển thị một mức giá phẳng, máy-đọc-được. Ngay cả khi bạn thực sự rẻ hơn ở tier của buyer, bạn vẫn hiện ra là đắt hơn — hoặc đơn giản là mờ hơn — trong mắt cái máy đang so sánh. Cái tier thắng deal ngoài đời thực lại là cái tier agent không thấy, nên nó thua ở cuộc so sánh mà nó thấy.
#2. "Call for price" là một khoảng trắng máy-đọc-được
Giấu con số bằng "call for price" hay "đăng nhập để xem giá" giải quyết một vấn đề của con người và tạo ra một vấn đề của máy. Không có PriceSpecification, không có Offer với một mức giá agent parse được — chỉ có một khoảng trắng ở chỗ đáng ra là giá. Agent không đọc khoảng trắng đó thành "có giá tốt hơn nằm sau login". Nó đọc thành không có giá, và một sản phẩm không có giá là sản phẩm nó loại hẳn khỏi so sánh. Bạn không bảo vệ được giá của mình; bạn tự loại mình khỏi shortlist.
#3. SKU sỉ vắng mặt ở scope guest
Nếu một SKU chỉ phân giải bên trong một shared catalog, thì một khách vãng lai — và do đó một agent — có thể không thấy nó trên bề mặt public chút nào. Agent kết luận bạn không bán sản phẩm đó và đẩy buyer sang một cái tên nó đã tin sẵn. Đây đúng là cái seller-authority gap khiến một reseller được ủy quyền thua sale vào tay một marketplace: khi một cái máy không xác nhận được là bạn có bán món hàng đó, sự mập mờ được giải quyết theo hướng bất lợi cho bạn. Chúng tôi đã đào sâu động lực này trong Catalog B2B trên Magento 2 của bạn vô hình với AI agent; shared-catalog scoping là một trong những cơ chế cụ thể đứng sau nó.
#Đừng expose giá gated — nhưng cũng đừng để khoảng trắng
Đây là ranh giới quan trọng: bạn không bao giờ cần publish giá gated để sửa bất cứ điều nào ở trên.
Gate giá thật là đúng. Cái không đúng là để lại một khoảng trắng máy-đọc-được ở chỗ đáng ra phải có tín hiệu. Bề mặt public vẫn có một việc phải làm — nói với cả con người lẫn agent ba điều mà không làm lộ con số bí mật nào:
- SKU này tồn tại — sản phẩm là thật và bạn có bán nó, ngay cả khi giá bị scope.
- Bạn là seller được ủy quyền — liên kết thương hiệu là một tín hiệu, không phải một điều ngầm hiểu.
- Có một cánh cửa dẫn tới giá thật — một tài khoản trade, một form đăng ký sỉ, một đường "yêu cầu báo giá" với một URL ổn định để agent bám vào.
Đó là khác biệt giữa việc agent đưa buyer tới cửa trade-account của bạn và việc agent đưa họ tới một marketplace vì trang của bạn trông trống rỗng. Đây cũng chính là tín hiệu "B2B discovery" trong checklist 5 tín hiệu agent-readiness — cái mà hầu hết store B2B bỏ sót.
#Cách sửa, không cần rebuild
Không cái nào trong số này đụng tới logic checkout, ERP, hay catalog gated của bạn. Đó là structured-data và discovery nằm trên tầng theme, metafield và attribute mà bạn đã có sẵn:
Product+Offermáy-đọc-được ở scope public — khai báo rằng SKU tồn tại cùng tình trạng còn hàng của nó, với ý định B2B được báo hiệu (eligibleCustomerType/businessFunction) ngay cả khi giá thật vẫn nằm sau login. Một sản phẩm parse được luôn thắng một khoảng trắng.- Một tín hiệu seller-authority — đánh dấu store của bạn là seller hoặc distributor được ủy quyền trong structured data, để một agent vãng lai xác nhận được là bạn có bán món hàng đó thay vì mặc định là không.
- Một discovery route tới cửa sỉ — một URL public, ổn định cho điểm vào trade hoặc sỉ mà agent tìm được và đi theo, thay vì một ngõ cụt nằm sau tường login.
PriceSpecificationdạng "starting at" hoặc "tier exists", khi hợp lệ — khi bạn có thể hợp pháp báo hiệu rằng có giá tier hoặc MOQ mà không publish con số gated, hãy làm. Nó nói với agent rằng ở đây có một cấu trúc giá — không phải một khoảng trắng.
Tất cả ship trong vài ngày chứ không phải vài tháng, và để catalog gated của bạn vẫn gated y như cũ. Cái thay đổi là con agent đọc store của bạn cuối cùng có đủ tín hiệu đúng, có cấu trúc để đưa buyer tới cửa của bạn thay vì cửa của người khác.
Bạn không cần expose giá gated để sửa chuyện này. Bạn cần ngừng để lại một khoảng trắng ở chỗ đáng ra phải có tín hiệu. Nếu bạn chạy B2B trên Magento — bạn có biết một AI agent đang quote mức giá nào cho bạn ngay lúc này không?
Gửi một URL store Magento B2B, chúng tôi sẽ chạy một async AI-correctness read miễn phí — chúng tôi hỏi các AI agent thật về sản phẩm của bạn rồi gửi lại một punch-list nêu tên chính xác chỗ chúng đang đọc sai giá hoặc sai scope: luma-e.com/ai-readiness. Không cần call.