Hướng dẫn này nêu bật các yêu cầu và ví dụ về sản phẩm Đặt món ăn.
Điều kiện và chính sách
Phần này nêu bật các tiêu chí quan trọng mà đối tác phải tuân thủ khi cung cấp ưu đãi. Bạn cần kiểm thử tất cả các loại mặt hàng mà bạn dự định ra mắt trong quá trình kiểm thử nguồn cấp dữ liệu trong hộp cát. Nếu bạn không chắc chắn liệu một ưu đãi có đủ điều kiện hay không, vui lòng liên hệ với đầu mối liên hệ của bạn tại Google.
Loại trừ các ưu đãi dành riêng cho bạn và ưu đãi dùng một lần
Để đảm bảo trải nghiệm nhất quán và chất lượng cao cho người dùng, các đối tác không được đưa ra những ưu đãi chỉ dành cho một nhóm nhỏ người dùng cụ thể. Ưu đãi được cá nhân hoá chỉ dành cho một số người dùng cụ thể sẽ không đủ điều kiện. Bạn được phép cung cấp ưu đãi trên toàn nền tảng cho tất cả người dùng, chẳng hạn như người dùng lần đầu hoặc người dùng đặt hàng lần đầu tại một nhà hàng cụ thể, miễn là ưu đãi đó xuất hiện trên trang đích của ưu đãi cho tất cả người dùng. Bạn phải nêu rõ các điều kiện của ưu đãi trong tiêu đề ưu đãi và trên trang đích của URL ưu đãi. Tất cả người dùng đều phải thấy được các ưu đãi trên trang đích của ưu đãi khi họ đăng xuất hoặc đăng nhập vào trang web hoặc ứng dụng của bạn.
Sản phẩm có mã giảm giá
Một số ưu đãi yêu cầu người dùng nhập mã giảm giá, chẳng hạn như "Áp dụng mã TIETKIEM20 để được giảm 20% tổng hoá đơn". Bạn cần lưu ý rằng Google không hiển thị mã giảm giá từ định nghĩa coupon. Các đối tác có thể đưa thông tin này vào OfferDetails.offer_display_text để hiển thị cho người dùng. Khuyến mãi dựa trên phiếu giảm giá thường thuộc 2 danh mục:
- Ưu đãi mà phiếu giảm giá được tự động xuất hiện ở bước thanh toán cho bất kỳ người dùng nào truy cập từ Google. Những trường hợp này được phép.
- Bạn không được phép đăng những mặt hàng yêu cầu người dùng nhập mã giảm giá khi thanh toán nhưng không cung cấp hướng dẫn về cách áp dụng mã giảm giá trên trang đích của URL mặt hàng hoặc không tự động áp dụng mã giảm giá khi người dùng truy cập vào URL mặt hàng.
Nội dung và cấu trúc của đề nghị
Phần này trình bày chi tiết các yêu cầu đối với nội dung và cấu trúc của các sản phẩm được cung cấp trong nguồn cấp dữ liệu, bao gồm cả ví dụ về siêu dữ liệu có cấu trúc.
Văn bản hiển thị của ưu đãi và Quy cách của ưu đãi
OfferDetails.offer_display_text là một trường bắt buộc đóng vai trò là dòng tiêu đề ngắn gọn để hiển thị ngay lập tức trong phần ưu đãi trên Google Tìm kiếm, chẳng hạn như "Giảm giá 100.000 VND" hoặc "Tiết kiệm 15%".
OfferDetails.offer_specification là một trường bắt buộc "một trong" trong OfferDetails. Điều này có nghĩa là bạn phải cung cấp đúng một trong 3 trường sau để chỉ định ưu đãi:
discount_valuediscount_percentageother_offer_details_text
Trường OfferDetails.other_offer_details_text là một trường văn bản tự do được dùng để bổ sung cho offer_display_text khi không thể biểu thị ưu đãi dưới dạng giá trị chiết khấu cố định hoặc tỷ lệ phần trăm. Nếu offer_display_text đã đủ để truyền tải tất cả thông tin cần thiết về mặt hàng, thì bạn nên điền cùng một văn bản vào trường other_offer_details_text như trường offer_display_text. Tuy nhiên, đối với các giao dịch phức tạp, trường này phải cung cấp nội dung mô tả cụ thể về phần thưởng.
Trường siêu dữ liệu có cấu trúc
Để cải thiện độ rõ ràng của mặt hàng và cho phép xếp hạng cũng như lọc hiệu quả hơn, đối tác phải cung cấp siêu dữ liệu của mặt hàng trong các trường có cấu trúc tương ứng. Bạn phải điền vào trường terms.terms_and_conditions. Giá trị này phải có các điều kiện về cách sử dụng ưu đãi. Ví dụ: bạn có thể điền sẵn trường này bằng các điều khoản chi tiết mà người dùng nhìn thấy trên trang đích của sản phẩm.
Ví dụ về JSON của sản phẩm
Giảm giá cố định 20 USD
Ví dụ: Giảm giá cố định 200.000 VND vào các ngày thứ Ba với mức chi tiêu tối thiểu là 150.000 VND
{ "offer_id": "offer-example-1-takeout", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_TAKEOUT", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_BASE_OFFER", "offer_details": { "offer_display_text": "$20 off on Tuesdays", "discount_value": { "currency_code": "USD", "units": 20 }, "min_spend_value": { "currency_code": "USD", "units": 15 } }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } }, "time_of_day": [ { "time_windows": { "open_time": { "hours": 9 }, "close_time": { "hours": 20, "minutes": 59, "seconds": 59 } }, "day_of_week": ["TUESDAY"] } ] } ], "offer_restrictions": { "combinable_with_other_offers": false }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders with $15 minimum spend. Single use per order. Offer may not be combined with any other offers, discounts, or promotions. Valid only on Tuesdays." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/base_offer_1" }
Ưu đãi Mua 1 tặng 1
Ví dụ: Mua một món khai vị, tặng một món khai vị, có hiệu lực từ thứ Hai đến thứ Năm
{ "offer_id": "offer-example-2-delivery", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_DELIVERY", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_BASE_OFFER", "offer_details": { "offer_display_text": "Buy one appetizer, get one free", "other_offer_detail_text": "Buy one appetizer, get one free" }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } }, "time_of_day": [ { "time_windows": { "open_time": { "hours": 10 }, "close_time": { "hours": 23, "minutes": 59, "seconds": 59 } }, "day_of_week": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY"] } ] } ], "offer_restrictions": { "combinable_with_other_offers": true, "inclusions": [ { "description": "appetizers" } ] }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Single use per order. Valid on all menu appetizers. Offer may be combined with any other offers, discounts, or promotions. Valid Monday through Thursday." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/base_offer_4" }
Ưu đãi chiết khấu theo tỷ lệ phần trăm
Ví dụ: Giảm giá 25% cho bánh mì kẹp
{ "offer_id": "offer-example-3-delivery", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_DELIVERY", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_BASE_OFFER", "offer_details": { "offer_display_text": "25% off on Sandwitches", "discount_percent": 25.0 }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } } } ], "offer_restrictions": { "combinable_with_other_offers": true }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Applies to specific items only. Single use per order. May be combined with any other offers, discounts, or promotions." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/base_offer_2" }
Ưu đãi giao hàng miễn phí
Ví dụ: Giao hàng miễn phí cho đơn đặt hàng trị giá trên 300.000 VND. Nếu không, phí giao hàng là 70.000 VND.
{ "offer_id": "offer-example-4-delivery", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_DELIVERY", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_BASE_OFFER", "offer_details": { "offer_display_text": "Free delivery on orders over $30", "discount_value": { "currency_code": "USD", "units": 7 }, "min_spend_value": { "currency_code": "USD", "units": 30 } }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } } } ], "offer_restrictions": { "combinable_with_other_offers": true }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery orders with $30 minimum spend. Delivery is $7.00 otherwise. Single use per order. May be combined with any other offers, discounts, or promotions." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/base_offer_3" }
Ví dụ về ưu đãi cơ bản có ưu đãi bổ sung
Ví dụ: Một nhà hàng chỉ giảm giá 10% cho bữa trưa vào các ngày trong tuần và giảm giá 5% bất cứ lúc nào khi thanh toán bằng một thẻ tín dụng cụ thể.
[ { "offer_id": "offerId1", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_TAKEOUT", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_BASE_OFFER", "offer_details": { "offer_display_text": "10% off", "discount_percent": 10.0 }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } }, "time_of_day": [ { "day_of_week": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY"] } ] } ], "offer_restrictions": { "combinable_with_other_offers": true, "combinable_offer_categories": ["OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER"] }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Single use per order. Offer may be combined with any other offers, discounts, or promotions." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/base_offer_5" }, { "offer_id": "offerId2", "offer_source": "OFFER_SOURCE_AGGREGATOR", "action_type": "ACTION_TYPE_FOOD_TAKEOUT", "offer_modes": ["OFFER_MODE_ONLINE_ORDER"], "offer_category": "OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER", "offer_details": { "offer_display_text": "5% off", "discount_percent": 5.0 }, "validity_periods": [ { "valid_period": { "valid_from_time": { "seconds": 1768953600 }, "valid_through_time": { "seconds": 1795219200 } }, "time_of_day": [ { "day_of_week": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY"] } ] } ], "offer_restrictions": { "combinable_with_other_offers": true, "combinable_offer_ids": ["offerId1"] }, "payment_instrument": { "items": [ { "type": "PAYMENT_INSTRUMENT_CREDIT_CARD", "name": "Participating Credit Card" } ], "provider_name": "Card Provider" }, "terms": { "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Single use per order. Offer may be combined with any other offers, discounts, or promotions." }, "entity_ids": ["dining-1"], "offer_url": "https://www.example-restaurant.com/offer/addon_offer_1" } ]
Thực hiện đơn hàng và các ràng buộc
Phần này trình bày chi tiết các yêu cầu và phương pháp hay nhất liên quan đến quy cách thực hiện ưu đãi và các ràng buộc liên quan.
Chế độ thực hiện đơn hàng (Giao hàng và Lấy hàng)
Nếu một giao dịch duy nhất áp dụng cho cả dịch vụ giao hàng và mang đi, thì giao dịch đó phải có 2 mặt hàng trong nguồn cấp dữ liệu. Mỗi mục nhập phải có một ActionType riêng:
ACTION_TYPE_FOOD_DELIVERYACTION_TYPE_FOOD_TAKEOUT
Điều này đảm bảo rằng người dùng truy cập vào trang web của đối tác sẽ thấy được bối cảnh thực hiện chính xác.
Cửa sổ thời gian
Bạn phải hiển thị ưu đãi trên trang đích của ưu đãi cho tất cả người dùng khi họ đăng xuất hoặc đăng nhập vào trang web hoặc ứng dụng của bạn. Nếu ưu đãi có hiệu lực trong một khoảng thời gian cụ thể, bạn phải thêm trường validity_periods.valid_period để chỉ định khoảng thời gian có hiệu lực. Điều này ngăn không cho mặt hàng xuất hiện bên ngoài khoảng thời gian đó. Bạn cũng phải đặt khung thời gian nếu ưu đãi xuất hiện trên URL ưu đãi trong một số giờ nhất định trong ngày. Ví dụ: nếu trang đích không hiển thị ưu đãi khi nhà hàng đóng cửa, bạn phải thêm thời gian mở và đóng cửa TimeOfDayWindow.
Xử lý khung thời gian qua nửa đêm
Những ưu đãi kéo dài qua nửa đêm (ví dụ: có hiệu lực từ 22:00 thứ Ba đến 2:00 thứ Tư) phải được phân đoạn để quy trình tiếp nhận xử lý đúng cách. Yêu cầu: Sử dụng trường TimeOfDayWindow để chia cửa sổ thành 2 phân đoạn riêng biệt:
- Phân đoạn 1: Từ 22:00 đến 23:59:59 vào ngày bắt đầu (ví dụ: thứ Ba).
- Phân đoạn 2: 00:00 đến 02:00 ngày hôm sau (ví dụ: thứ Tư).
Điều này đảm bảo rằng thời hạn hiệu lực của ưu đãi được phản ánh chính xác trong toàn bộ thời gian.
Quy cách về phí
Bạn có thể chỉ định phí giao hàng và phí mang đi bằng trường OfferDetails.additional_fees. Bạn nên chỉ định phí phụ thu bằng cách sử dụng OfferDetails.convenience_fee. Sử dụng giá trị phạm vi phí cho các khoản phí linh hoạt, ví dụ: nếu phí giao hàng thay đổi dựa trên vị trí của người dùng.