แนวทางปฏิบัติแนะนำ

คู่มือนี้เน้นข้อกำหนดและตัวอย่างข้อเสนอการสั่งอาหาร

การมีสิทธิ์และนโยบาย

ส่วนนี้จะเน้นเกณฑ์การมีสิทธิ์ที่สำคัญซึ่งพาร์ทเนอร์ต้องปฏิบัติตามเมื่อให้ข้อเสนอ คุณต้องทดสอบข้อเสนอทุกประเภทที่คุณวางแผนจะเปิดตัวระหว่างการทดสอบฟีดในแซนด์บ็อกซ์ หากไม่แน่ใจว่าข้อเสนอมีสิทธิ์หรือไม่ โปรดติดต่อ POC ของ Google

ยกเว้นข้อเสนอที่ปรับเปลี่ยนตามโปรไฟล์ของผู้ใช้และข้อเสนอแบบใช้ครั้งเดียว

พาร์ทเนอร์ต้องไม่ รวมข้อเสนอที่จำกัดไว้สำหรับผู้ใช้บางกลุ่มย่อยเพื่อให้มั่นใจว่าผู้ใช้จะได้รับประสบการณ์การใช้งานที่มีคุณภาพสูงและสอดคล้องกัน ข้อเสนอที่ปรับเปลี่ยนตามโปรไฟล์ของผู้ใช้ซึ่งสร้างขึ้นสำหรับผู้ใช้บางรายเท่านั้นจะไม่มีสิทธิ์ เราอนุญาต ข้อเสนอระดับแพลตฟอร์มที่มีสิทธิ์สำหรับผู้ใช้ทุกคน เช่น ผู้ใช้ที่ใช้เป็นครั้งแรกหรือสั่งซื้อที่ร้านอาหารแห่งหนึ่งเป็นครั้งแรก ตราบใดที่ข้อเสนอแสดงในหน้า Landing Page ของข้อเสนอสำหรับผู้ใช้ทุกคน คุณต้องระบุเงื่อนไขของข้อเสนออย่างชัดเจนในชื่อข้อเสนอและในหน้า Landing Page ของ URL ข้อเสนอ ข้อเสนอต้องปรากฏในหน้า Landing Page ของข้อเสนอสำหรับผู้ใช้ทุกคนเมื่อออกจากระบบหรือเข้าสู่ระบบเว็บไซต์หรือแอป

ข้อเสนอที่มีรหัสคูปอง

ข้อเสนอบางรายการกำหนดให้ผู้ใช้ต้องป้อนรหัสคูปอง เช่น "ใช้รหัส SAVE20 เพื่อรับส่วนลด 20% จากยอดรวม" โปรดทราบว่า Google จะไม่แสดงรหัสคูปองจากคำจำกัดความของคูปอง พาร์ทเนอร์อาจรวมข้อมูลนี้ไว้ใน OfferDetails.offer_display_text เพื่อแสดงต่อผู้ใช้ โดยทั่วไปแล้ว ข้อเสนอที่อิงตามคูปองจะแบ่งออกเป็น 2 หมวดหมู่ ดังนี้

  • ข้อเสนอที่ระบบจะแสดงคูปองโดยอัตโนมัติเมื่อชำระเงินต่อผู้ใช้ทุกคนที่มาจาก Google ซึ่งได้รับอนุญาต
  • ข้อเสนอที่กำหนดให้ผู้ใช้ต้องป้อนรหัสคูปองเมื่อชำระเงิน แต่ไม่มีวิธีการใช้รหัสคูปองในหน้า Landing Page ของ URL ข้อเสนอ หรือไม่ใช้คูปองโดยอัตโนมัติเมื่อทำตาม URL ข้อเสนอ จะไม่ได้รับอนุญาต

เนื้อหาและโครงสร้างของข้อเสนอ

ส่วนนี้จะอธิบายรายละเอียดข้อกำหนดสำหรับเนื้อหาและโครงสร้างของข้อเสนอที่ระบุไว้ในฟีด รวมถึงตัวอย่างข้อมูลเมตาที่มีโครงสร้าง

ข้อความที่แสดงของข้อเสนอและข้อกำหนดของข้อเสนอ

OfferDetails.offer_display_text เป็นช่องบังคับที่ทำหน้าที่เป็นบรรทัดแรกที่กระชับเพื่อให้มองเห็นได้ทันทีในส่วนข้อเสนอใน Google Search เช่น "$10 off" หรือ "Save 15%"

OfferDetails.offer_specification เป็นช่องบังคับ "one of" ภายใน OfferDetails ซึ่งหมายความว่าคุณต้องระบุช่องใดช่องหนึ่งใน 3 ช่องต่อไปนี้เพื่อระบุดีล

  • discount_value
  • discount_percent
  • other_offer_detail_text

ช่อง OfferDetails.other_offer_detail_text เป็นช่องข้อความอิสระที่ใช้เพื่อเสริม offer_display_text เมื่อไม่สามารถแสดงข้อเสนอเป็นมูลค่าส่วนลดคงที่หรือเปอร์เซ็นต์ได้ หาก offer_display_text เพียงพอที่จะสื่อสารข้อมูลที่จำเป็นทั้งหมดเกี่ยวกับข้อเสนอแล้ว ช่อง other_offer_detail_text ควรมีข้อความเดียวกันกับ offer_display_text อย่างไรก็ตาม สำหรับดีลที่ซับซ้อน ช่องนี้ควรระบุคำอธิบายที่เฉพาะเจาะจงเกี่ยวกับรางวัล

ช่องข้อมูลเมตาที่มีโครงสร้าง

พาร์ทเนอร์ต้องระบุข้อมูลเมตาของข้อเสนอในช่องที่มีโครงสร้างที่เกี่ยวข้องเพื่อปรับปรุงความชัดเจนของข้อเสนอ รวมถึงช่วยให้การจัดอันดับและการกรองดีขึ้น คุณต้องระบุ ข้อกำหนด เราขอแนะนำให้ตั้งค่าช่อง terms.terms_and_conditions ด้วยข้อกำหนดโดยละเอียดที่จะแสดงต่อผู้ใช้ในหน้า Landing Page ของข้อเสนอ

ข้อเสนอสำหรับยอดรวมคำสั่งซื้อและข้อเสนอสำหรับสินค้าบางรายการ

ข้อเสนอสำหรับสินค้าบางกลุ่มย่อยต้องใช้ offer_restrictions.inclusions และ offer_restrictions.exclusions ช่องเพื่อกำหนดสินค้าที่มีสิทธิ์ หากข้อเสนอมีไว้สำหรับสินค้าบางรายการ คุณควรระบุชื่อสินค้าใน offer_display_text เมื่อระบุชื่อสินค้าใน offer_display_text แล้ว คุณไม่จำเป็นต้องตั้งค่า offer_restrictions.inclusions

หากไม่ได้ตั้งค่า offer_restrictions.inclusions หรือไม่ได้ระบุชื่อสินค้าใน offer_display_text ระบบจะถือว่าข้อเสนอใช้ได้กับยอดรวมคำสั่งซื้อ

ข้อเสนอค่าจัดส่ง

ข้อเสนอค่าจัดส่งต้องใช้ offer_category OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER ซึ่งจะช่วยให้ข้อเสนอแสดงได้เฉพาะเมื่อรวมกับข้อเสนอพื้นฐานอื่นสำหรับสถานที่นั้น ข้อเสนอค่าจัดส่งจะไม่แสดงเป็นข้อเสนอพื้นฐาน

ตัวอย่าง JSON ของข้อเสนอ

ส่วนลดคงที่ $20

ตัวอย่าง: ส่วนลดคงที่ $20 จากยอดรวมคำสั่งซื้อในวันอังคารเมื่อใช้จ่ายขั้นต่ำ $15

{
  "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"
}

ส่วนลด 50% สำหรับสมูทตี้เบอร์รี

ตัวอย่าง: ข้อเสนอระดับสินค้าลด 50%

{
  "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": "50% off on Berry Smoothie",
    "discount_percent": 50.0
  },
  "validity_periods": [
    {
      "valid_period": {
        "valid_from_time": { "seconds": 1768953600 },
        "valid_through_time": { "seconds": 1795219200 }
      }
    }
  ],
  "offer_restrictions": {
    "combinable_with_other_offers": true,
    "inclusions": [
      {"description":"Berry Smoothie"}
    ]
  },
  "terms": {
    "terms_and_conditions": "For use only at the participating restaurant location on qualifying delivery or takeout orders. Single use per order."
  },
  "entity_ids": ["dining-1"],
  "offer_url": "https://www.example-restaurant.com/offer/base_offer_1"
}

ข้อเสนอซื้อ 1 แถม 1

ตัวอย่าง: ข้อเสนอซื้ออาหารเรียกน้ำย่อย 1 รายการ แถมฟรีอีก 1 รายการ ใช้ได้ตั้งแต่วันจันทร์ถึงวันพฤหัสบดี

{
  "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"
}

ข้อเสนอจัดส่งฟรี

ตัวอย่าง: จัดส่งฟรีเป็นส่วนเสริมของข้อเสนอพื้นฐาน ข้อเสนอค่าจัดส่ง $0 จะแสดงพร้อมกับข้อเสนอพื้นฐานสำหรับสถานที่นั้น

[
  {
    "offer_id": "offerId1",
    "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": "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_DELIVERY",
    "offer_modes": ["OFFER_MODE_ONLINE_ORDER"],
    "offer_category": "OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER",
    "offer_details": {
      "offer_display_text": "$0 Delivery Fee",
      "other_offer_detail_text": "Free dellivery"
    },
    "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": "Delivery is free 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"
  }
]

การดำเนินการตามคำสั่งซื้อและข้อจำกัด

ส่วนนี้จะอธิบายรายละเอียดข้อกำหนดและแนวทางปฏิบัติแนะนำที่เกี่ยวข้องกับข้อกำหนดการดำเนินการตามคำสั่งซื้อและข้อจำกัดที่เกี่ยวข้อง

โหมดการดำเนินการตามคำสั่งซื้อ (การจัดส่งและการรับสินค้าเอง)

หากดีลเดียวใช้ได้กับการจัดส่งและการรับสินค้าเอง คุณต้องระบุข้อเสนอ 2 รายการในฟีด โดยแต่ละรายการต้องมี ActionType เฉพาะ ดังนี้

  • ACTION_TYPE_FOOD_DELIVERY
  • ACTION_TYPE_FOOD_TAKEOUT

ซึ่งจะช่วยให้ผู้ใช้ที่เข้าชมเว็บไซต์ของพาร์ทเนอร์เห็นบริบทการดำเนินการตามคำสั่งซื้อที่ถูกต้อง

กรอบเวลา

ข้อเสนอควรแสดงในหน้า Landing Page ของข้อเสนอสำหรับผู้ใช้ทุกคนเมื่อ ออกจากระบบหรือเข้าสู่ระบบเว็บไซต์หรือแอป หากข้อเสนอใช้ได้ในช่วงเวลาที่ เฉพาะเจาะจง คุณต้องระบุช่อง validity_periods.valid_period เพื่อระบุช่วงเวลาที่ใช้ได้ ซึ่งจะป้องกันไม่ให้ข้อเสนอแสดงนอกช่วงเวลาดังกล่าว นอกจากนี้ คุณต้องตั้งค่ากรอบเวลาด้วยหากข้อเสนอแสดงใน URL ของข้อเสนอในช่วงเวลาใดเวลาหนึ่งของวัน เช่น หากหน้า Landing Page ไม่แสดงข้อเสนอเมื่อร้านอาหารปิด คุณต้อง ระบุเวลาเปิดและปิดของ TimeOfDayWindow

จัดการกรอบเวลาที่ข้ามเที่ยงคืน

ข้อเสนอที่ข้ามเที่ยงคืน (เช่น ใช้ได้ตั้งแต่วันอังคารเวลา 22:00 น. ถึงวันพุธเวลา 02:00 น.) ต้องแบ่งออกเป็นส่วนๆ เพื่อให้ไปป์ไลน์การนำเข้าประมวลผลได้อย่างถูกต้อง ข้อกำหนด: ใช้ช่อง TimeOfDayWindow เพื่อแบ่งหน้าต่างออกเป็น 2 ส่วนที่แตกต่างกัน ดังนี้

  • ส่วนที่ 1: ตั้งแต่เวลา 22:00 น. ถึง 23:59:59 น. ของวันเริ่มต้น (เช่น วันอังคาร)
  • ส่วนที่ 2: ตั้งแต่เวลา 00:00 น. ถึง 02:00 น. ของวันถัดไป (เช่น วันพุธ)

ซึ่งจะช่วยให้ระบบแสดงความถูกต้องของข้อเสนอได้อย่างถูกต้องตลอดทั้งช่วงเวลา

ข้อกำหนดค่าธรรมเนียม

คุณระบุค่าธรรมเนียมสำหรับการจัดส่งและการรับสินค้าเองได้โดยใช้ช่อง OfferDetails.additional_fees ส่วนค่าธรรมเนียมความสะดวกควรระบุโดยใช้ OfferDetails.convenience_fee ใช้ค่าช่วงค่าธรรมเนียมสำหรับค่าธรรมเนียมผันแปร เช่น หากค่าจัดส่งเปลี่ยนแปลงตามสถานที่ของผู้ใช้