Các phương pháp hay nhất

Hướng dẫn này nêu bật các yêu cầu và ví dụ về ưu đãi Đặ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 về điều kiện 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 ưu đãi mà bạn dự định ra mắt trong quá trình kiểm thử nguồn cấp dữ liệu hộp cát. Nếu bạn không chắc chắn về việc 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ệ (POC) của bạn tại Google.

Loại trừ các ưu đãi được cá nhân hoá 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, đối tác không được đưa ra các ưu đãi chỉ dành cho một số nhóm người dùng cụ thể. Các ưu đãi được cá nhân hoá chỉ dành cho một số người dùng cụ thể không đủ điều kiện. Các ưu đãi trên toàn nền tảng dành cho tất cả người dùng, chẳng hạn như người dùng mới hoặc người dùng đặt hàng lần đầu tại một nhà hàng cụ thể được phép, 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. Các điều kiện của ưu đãi phải được nêu rõ trong tiêu đề ưu đãi và trên trang đích của URL ưu đãi. Ưu đãi phải xuất hiện 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.

Ưu đãi có mã phiếu giảm giá

Một số ưu đãi yêu cầu người dùng nhập mã phiếu giảm giá, chẳng hạn như "Áp dụng mã SAVE20 để được giảm 20% trên tổng hoá đơn". Bạn cần lưu ý rằng Google không hiển thị mã phiếu giảm giá trong định nghĩa phiếu giảm giá. Đố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. Các ưu đãi dựa trên phiếu giảm giá thường thuộc 2 danh mục:

  • Ưu đãi tự động xuất hiện phiếu giảm giá tại trang thanh toán cho mọi người dùng truy cập từ Google. Những ưu đãi này được phép.
  • Những ưu đãi yêu cầu người dùng nhập mã phiếu giảm giá tại trang thanh toán nhưng không hướng dẫn cách áp dụng mã phiếu giảm giá trên trang đích của URL ưu đãi hoặc không tự động áp dụng phiếu giảm giá khi người dùng truy cập URL ưu đãi thì không được phép.

Nội dung và cấu trúc ưu đãi

Phần này trình bày chi tiết các yêu cầu về nội dung và cấu trúc của các ưu đãi đượ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ị ưu đãi và Quy cách ưu đãi

OfferDetails.offer_display_text là một trường bắt buộc đóng vai trò là 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 10 đô la" hoặc "Tiết kiệm 15%".

OfferDetails.offer_specification là một trường "một trong số" bắt buộc trong OfferDetails. Điều này có nghĩa là bạn phải cung cấp chính xác một trong 3 trường sau để chỉ định giao dịch:

  • discount_value
  • discount_percentage
  • other_offer_details_text

Trường OfferDetails.other_offer_details_text là một trường văn bản dạng tự do dùng để bổ sung cho offer_display_text khi ưu đãi không thể được biểu thị dưới dạng giá trị hoặc tỷ lệ phần trăm giảm giá cố định. Nếu offer_display_text đã đủ để truyền tải mọi thông tin cần thiết về ưu đãi, thì bạn nên điền vào trường other_offer_details_text cùng một văn bản với 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 ưu đãi và cho phép xếp hạng và lọc hiệu quả hơn, đối tác phải cung cấp siêu dữ liệu ưu đãi trong các trường có cấu trúc tương ứng. Bạn phải cung cấp trường terms.terms_and_conditions. Giá trị này phải bao gồm các điều kiện về cách đổi ưu đãi. Ví dụ: bạn có thể điền vào trường này các điều khoản chi tiết xuất hiện cho người dùng trên trang đích của ưu đãi.

Các ưu đãi dành riêng cho một số mặt hàng phải sử dụng trường terms.terms_and_conditions hoặc các trường offer_restrictions.inclusionsoffer_restrictions.exclusions để xác định các mặt hàng đủ điều kiện.

Ví dụ về JSON ưu đãi

Giảm giá cố định 20 đô la

Ví dụ: Giảm giá cố định 20 đô la vào thứ Ba khi chi tiêu tối thiểu 15 đô la

{
  "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 một tặng một

Ví dụ: Ưu đãi mua một món khai vị tặng một món khai vị, áp dụng 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 giảm giá theo tỷ lệ phần trăm

Ví dụ: Giảm 25% cho tất cả 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 all Sandwiches",
    "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,
    "combinable_offer_ids": ["offer-example-4-delivery"],
    "inclusions": [
      "Sandwiches"
    ]
  },
  "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ên 30 đô la. Phí giao hàng là 7 đô la nếu không đủ điều kiện.

{
  "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 kèm ư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% vào mọi thời điểm 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"
  }
]

Quy trình thực hiện 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 đến ưu đãi đó.

Chế độ thực hiện (Giao hàng và Mua mang về)

Nếu một giao dịch áp dụng cho cả giao hàng và mua mang về, thì giao dịch đó phải có 2 ưu đãi trong nguồn cấp dữ liệu. Mỗi mục phải có một ActionType riêng:

  • ACTION_TYPE_FOOD_DELIVERY
  • ACTION_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 đúng bối cảnh thực hiện.

Cửa sổ thời gian

Ưu đãi phải xuất hiện 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. Việc này giúp ngăn ưu đãi xuất hiện ngoài khoảng thời gian đó. Bạn cũng phải đặt cửa sổ 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 kéo dài qua nửa đêm

Các ưu đãi kéo dài qua nửa đêm (ví dụ: có hiệu lực từ 10:00 tối thứ Ba đến 2:00 sáng thứ Tư) phải được phân đoạn để quy trình tiếp nhận xử lý chính xác. 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: 10:00 tối đến 11:59:59 tối vào ngày bắt đầu (ví dụ: thứ Ba).
  • Phân đoạn 2: 12:00 sáng đến 2:00 sáng vào ngày hôm sau (ví dụ: thứ Tư).

Điều này đảm bảo tính hợp lệ của ưu đãi được phản ánh chính xác trong toàn bộ khoảng thời gian.

Quy cách về phí

Bạn có thể chỉ định phí giao hàng và mua mang về bằng trường OfferDetails.additional_fees. Bạn nên chỉ định phí phụ thu bằng OfferDetails.convenience_fee. Sử dụng giá trị phạm vi phí cho các khoản phí thay đổi, ví dụ: nếu phí giao hàng thay đổi dựa trên vị trí của người dùng.