優惠動態饋給整合

優惠

透過優惠整合功能,您可以傳遞結構化資訊,說明在特定時間套用至特定服務的商家促銷活動和折扣。優惠由實際優惠 (百分比折扣、金額折扣等)、有效期限 (特定時間、星期幾等) 和適用用途 (優惠只能用於特定服務) 以及複雜的限制組合組成。

優惠範例:

  • 12 月的星期三和星期四中午 12 點到下午 5 點,開胃菜五折
  • 母親節晚餐 (下午 6 點至晚上 10 點) 買一送一
  • 每週日上午 10 點到下午 2 點早午餐小菜折扣 NT$150 元
  • 10% off as walk-in offer combinable with 5% off for premium subscribers and 5% off if the user pays through your app.

如要將方案納入整合服務,方案必須符合技術資料模型,並符合資格規定。請務必詳閱優惠政策,確保整合符合規定,並瞭解如何處理不符合技術相關規定的優惠。

優惠導入作業

優惠整合包含兩個動態饋給,每天或定期上傳,確保高準確度 (即減少過時):

OfferFeed

欄位名稱類型規定說明
data物件陣列
(Offer)

優惠

欄位名稱類型規定說明
offer_id字串

必填

優惠的專屬 ID。必填。
entity_ids字串陣列

參與這項優惠的商家清單。
add_on_offer_applicable_to_all_entities布林值

如果為 true,這項優惠適用於匯總器下的所有實體。 僅適用於加購優惠。
offer_sourceenum
(OfferSource)

必填

優惠可由集結網站、個別商家,甚至是第三方提供,做為附加項目。必填。
action_typeenum
(ActionType)

必填

提供優惠的服務。一個 offer_id 只能屬於一個 action_type。如果優惠可跨多種服務類型共用,則應為每種服務類型建立具有專屬 ID 的重複優惠。必填。
offer_modes列舉陣列
(OfferMode)

必填

提供優惠的方式,例如親自前往、預約、線上等。 必要。
offer_categoryenum
(OfferCategory)

必填

優惠類別。 必填。
source_assigned_priority數字

非負整數 ([1-100],其中 1 代表最高優先順序),表示來源指派的方案優先順序。如果同一商家有多項優惠,系統會根據這項信號為優惠排名。0 代表未設定優先順序。
offer_details物件
(OfferDetails)

必填

優惠詳情,例如折扣、預訂費用等。必填。
offer_restrictions物件
(OfferRestrictions)

必填

說明優惠限制,例如是否需要訂閱/付款工具、這項優惠是否可與其他優惠合併使用 (以及哪些類型) 等。必填。
couponobject
(Coupon)

優惠券詳細資料。 offer_category 為 OFFER_CATEGORY_ADD_ON_COUPON_OFFER 時,此為必填欄位。
payment_instrument物件
(PaymentInstrument)

付款方式的詳細資料。 offer_category 為 OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER 時,必須提供這項屬性。
subscription物件
(Subscription)

訂閱方案詳細資料。 如果 offer_category 為 OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER,則為必填。
terms物件
(Terms)

必填

優惠條款及細則。 必填。
validity_periods物件陣列
(ValidityPeriod)

必填

優惠有效期限。說明優惠的有效時間範圍,包括開始和結束時間、星期幾等。必要。
offer_url字串

商家優惠頁面的網址。offer_category 為 OFFER_CATEGORY_BASE_OFFER 時,必須提供這項資訊。
tags列舉陣列
(OfferTag)

與優惠相關聯的特殊標記。這項屬性可用來識別「節慶」、「評價最高」、「預訂次數最多」等特別優惠。
brand_id字串

用於識別與優惠相關聯的品牌。如未設定,系統會使用預設品牌。
availability_levelenum
(AvailabilityLevel)

優惠的供應情形。

OfferDetails

欄位名稱類型規定說明
offer_display_text字串

必填

優惠供應商想在搜尋結果網頁上向顧客顯示的優惠文字。請注意,這可能與向使用者顯示的內容不完全相同,我們可能會使用其他中繼資料來重寫/改寫。必填。
oneOf
(offer_specification)

必填

這個 oneOf 只能設定一個欄位。
max_discount_value物件
(Money)

可享有的最高折扣。例如 9 折優惠,最高折抵 $100 美元。
min_spend_value物件
(Money)

可享折扣的最低消費金額。例如:總價滿 $100 美元可享 9 折優惠。
booking_cost物件
(Money)

預訂這項優惠的費用。例如,預訂桌位費用為 $15 美元,最終帳單可折抵 $100 美元。
booking_cost_unitenum
(FeeUnit)

預訂費用的單位。例如每人、每筆交易。
convenience_fee物件
(Fee)

booking_cost_adjustable布林值

預訂費用是否可調整,也就是從最終帳單中扣除預訂費用。例如:預訂晚餐可享 7 折優惠。預訂費用為 $15 美元,將計入最終帳單。因此最終帳單金額為:總支出 - 30% - $15 美元
additional_fees物件陣列
(AdditionalFee)

向使用者收取的額外費用。例如:便利費、處理費、運費、包裝費、服務費等。
offer_discount_typeenum
(OfferDiscountType)

折扣類型。
gift_card_info物件
(GiftCardInfo)

禮物卡特惠專屬詳細資料。

金額

代表金額與其貨幣類型。

欄位名稱類型規定說明
currency_code字串

ISO 4217 定義的三碼貨幣代碼。
units數字

金額的整數單位。舉例來說,如果 currencyCode 為 "USD",則 1 個單位為 1 美元。
nanos數字

金額的奈米 (10^-9) 單位數量。這個值必須介於 -999,999,999 和 +999,999,999 (含) 之間。 如果 units 為正值,nanos 必須為正值或零。如果 units 為零,則 nanos 可為正值、零或負值。 如果 units 為負值,nanos 就必須為負值或零。 例如,$-1.75 美元的表式方式為 units=-1 和 nanos=-750,000,000。

費用

欄位名稱類型規定說明
unitenum
(FeeUnit)

typeenum
(FeeType)

oneOf
(cost)

這個 oneOf 中的欄位只能設定一個。

MoneyRange

欄位名稱類型規定說明
min_amount物件
(Money)

max_amount物件
(Money)

AdditionalFee

欄位名稱類型規定說明
name字串

必填

額外費用的名稱。例如:手續費、處理費等。必填。
fee物件
(Fee)

GiftCardInfo

欄位名稱類型規定說明
oneOf
(denomination_type)

這個 oneOf 只能設定一個欄位。

FixedDenominations

欄位名稱類型規定說明
amounts物件陣列
(Money)

所有可用離散面額的清單 (例如 [100, 500, 1000])。

OfferRestrictions

欄位名稱類型規定說明
combinable_with_other_offers布林值

這項優惠是否可與其他優惠併用。 如果設為 true,合作夥伴可以指定這項優惠可與哪些優惠合併使用。如果同時設定 combinable_offer_categories 和 combinable_offer_ids,則符合上述任一條件的優惠皆可合併。
combinable_offer_categories列舉陣列
(OfferCategory)

這項優惠可與哪些類型的優惠合併使用。舉例來說,這項優惠可能可與其他優待券併用。如果 combinable_with_other_offers 為 true,且未設定這個欄位,則所有類型皆可合併。
combinable_offer_ids字串陣列

可與這項優惠合併使用的 offer_id 清單。部分優惠可能只能與特定其他 offer_id (可視為父項優惠) 合併使用。如果 combinable_with_other_offers 為 true,且未設定這個欄位,所有優惠 ID 都能合併使用。
inclusions物件陣列
(OfferCondition)

優惠生效的條件清單 (例如不含酒精的飲料、食物)。
exclusions物件陣列
(OfferCondition)

會使優惠失效的條件清單 (例如自助餐、套餐優惠和雞尾酒)。
min_guest數字

可享優惠的最低人數門檻。 注意:這個欄位僅適用於餐廳預訂,不應用於其他產業。
food_offer_restrictions物件
(FoodOfferRestrictions)

美食優惠專屬限制。
max_redemption_count數字

這項優惠的使用次數限制。如果值為 0,則表示沒有限制。舉例來說,如果值為 3,代表使用者可以使用這項優惠 3 次。
max_total_discount_value物件
(Money)

這項優惠在多筆交易中可享有的折扣上限。
special_conditions字串陣列

必須向使用者顯示的優惠特殊條件。 例如:「僅適用於在 [區域] 付款」、「不適用於線上付款」、「特價期間可使用禮物券」。

OfferCondition

欄位名稱類型規定說明
description字串

FoodOfferRestrictions

欄位名稱類型規定說明
meal_types列舉陣列
(MealType)

優惠適用的餐點類型,例如午餐或晚餐。如未設定,優惠可套用至所有餐點類型。
restricted_to_certain_courses布林值

優惠是否只能套用至特定課程。

優惠券

欄位名稱類型規定說明
text字串

優惠提供者想向使用者顯示的優待券文字。
code字串

必填

須有優惠碼才能兌換優惠。必填。

PaymentInstrument

欄位名稱類型規定說明
items物件陣列
(PaymentInstrumentItem)

必填

可用於兌換優惠的付款方式清單。必填。
provider_name字串

付款方式供應商的名稱。可以是銀行合作夥伴、銀行名稱等。例如:American Express、HDFC、ICICI。

PaymentInstrumentItem

欄位名稱類型規定說明
typeenum
(PaymentInstrumentType)

必填

付款方式類型。必填。
name字串

必填

付款方式項目的名稱,例如信用卡名稱。例如:HDFC Infinia、American Express Platinum。 必填。

訂閱

欄位名稱類型規定說明
name字串

必填

訂閱項目的名稱。必填。
subscription_auto_added布林值

使用者兌換這項優惠時,是否會自動加購訂閱方案
cost物件
(Money)

必填

訂閱費用。 必填。
subscription_duration物件
(Duration)

必填

以 subscription_cost 訂閱的效期。必填。
terms_and_conditions_url字串

合作夥伴與這項訂閱方案相關的條款及細則網址。

時間長度

欄位名稱類型規定說明
seconds數字

時間範圍的簽署秒數。必須介於 -315,576,000,000 至 +315,576,000,000 之間 (含)。注意:這些界限是根據以下公式計算得出: 60 秒/分 * 60 分/時 * 24 時/天 * 365.25 天/年 * 10000 年
nanos數字

時間範圍內以奈秒解析度表示的有正負號秒數分數。如果時間長度不到一秒,系統會以 0 seconds 欄位和正數或負數 nanos 欄位表示。如果時間長度為一秒以上,nanos 欄位的非零值必須與 seconds 欄位具有相同的正負號。必須介於 -999,999,999 至 +999,999,999 (含) 之間。

條款

欄位名稱類型規定說明
url字串

合作夥伴條款及細則的網址。
restricted_to_certain_users布林值

優惠是否僅限特定使用者。
terms_and_conditions字串

合作夥伴提供的主要條款及細則文字。
additional_terms_and_conditions字串陣列

除了合作夥伴的主要條款及細則外,還須遵守其他條款及細則。

ValidityPeriod

欄位名稱類型規定說明
valid_period物件
(ValidityRange)

優惠的有效開始和結束時間戳記。這些時間必須代表不同的日期,也就是說,開始時間必須是 00:00 (當天開始),結束時間必須是有效期限結束當天的 00:00 (不含)。
time_of_day物件陣列
(TimeOfDayWindow)

指定特定日期和優惠適用的有效時間間隔。如果時間範圍跨越午夜 (例如晚上 10 點到凌晨 2 點),請為每天設定不同的時間範圍:一個在晚上 11:59:59 結束,另一個在隔天凌晨 12:00 開始。例如: 週一:上午 10 點至下午 5 點 週二:上午 10 點至下午 2 點 週二:下午 5 點至晚上 7 點 週三、週四、週五、週六、週日:下午 3 點至晚上 7 點 如果未設定任何時間,表示優惠在 valid_period 內隨時適用。
time_exceptions物件陣列
(ValidTimeException)

指定上述 valid_period 和 valid_time_of_week 的例外狀況
date_exceptions物件陣列
(Date)

指定上述 valid_period 和 time_of_day 的例外日期
validity_scopeenum
(ValidityScope)

指定有效期限的範圍。
validity_duration_in_days數字

代金券/優待券的有效天數 (以天為單位)。

ValidityRange

封閉式開放時間戳記範圍。

欄位名稱類型規定說明
valid_from_time物件
(Timestamp)

必填

範圍的開始時間 (含)。 必填。
valid_through_time物件
(Timestamp)

範圍的結束時間 (不含)。如未設定,表示這個時段不會結束。 選用項目。

時間戳記

欄位名稱類型規定說明
seconds數字

代表自 Unix 紀元 1970-01-01T00:00:00Z 起算的世界標準時間秒數。必須介於 -62135596800 和 253402300799 之間 (含),對應至 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59Z。
nanos數字

以奈秒解析度表示的非負分數秒。這個欄位是時間長度的奈秒部分,而非秒數的替代值。含有分數的負秒值仍須具有非負奈秒值,且時間會向前計算。必須介於 0 至 999,999,999 之間 (含)。

TimeOfDayWindow

TimeWindow 物件是複合實體,用於說明使用者訂單可下單或完成的時段清單。

欄位名稱類型規定說明
time_windows物件
(TimeOfDayRange)

必填

可下單/完成訂單的時間範圍。 必填。
day_of_week列舉陣列
(DayOfWeek)

套用時段的一週天數清單。如未設定,則表示適用於一週中的所有日子。選用項目。
day_of_month物件陣列
(DayOfMonthRange)

套用時段的日期 (以月為單位)。如未設定,則表示適用於當月的所有日期。 選用項目。

TimeOfDayRange

封閉式開放時間範圍。

欄位名稱類型規定說明
open_time物件
(TimeOfDay)

時間,表示範圍當天的開始時間 (含)。 如未設定,則代表 00:00:00。選用項目。
close_time物件
(TimeOfDay)

時間,表示範圍中一天的結束時間 (不含該時間)。 如未設定,則預設為 23:59:59。選用項目。

TimeOfDay

欄位名稱類型規定說明
hours數字

以 24 小時制表示一天的小時數。必須大於或等於 0,且通常必須小於或等於 23。API 可能會允許「24:00:00」值,用於商家關門時間等情境。
minutes數字

一小時中的分鐘。必須大於或等於 0,且小於或等於 59。
seconds數字

一分鐘內的第幾秒。必須大於或等於 0,且通常必須小於或等於 59。如果 API 允許閏秒,則可能允許值 60。
nanos數字

以奈秒為單位的秒數分數。必須大於或等於 0,且小於或等於 999,999,999。

DayOfMonthRange

適用於一年中所有月份的日期範圍。

欄位名稱類型規定說明
valid_from_day數字

必填

範圍的開始日期 (含)。 必填。
valid_through_day數字

範圍的結束日期 (含)。如未設定,代表這個範圍只有一天 (valid_from_day)。選用項目。

ValidTimeException

欄位名稱類型規定說明
exceptional_period物件
(ValidityRange)

優惠無效的開始和結束時間戳記。 這些時間必須代表不同日期,也就是開始時間必須是 00:00 (當天開始),結束時間必須是例外狀況結束當天的 00:00 (不含)。

日期

欄位名稱類型規定說明
year數字

日期年份。必須介於 1 到 9999 之間,或設為 0 來指定不含年份的日期。
month數字

一年中的月份。必須介於 1 到 12 之間,或為 0,表示指定年份,但不指定月份和日期。
day數字

當月第幾天。必須介於 1 到 31 之間,且為有效的年月,或 0 (指定年份本身,或指定年月,但不指定日期)。

OfferSource

名稱說明
OFFER_SOURCE_UNSPECIFIED
OFFER_SOURCE_AGGREGATOR

ActionType

代表優惠的兌換模式。如果優惠可透過多種出貨模式提供,則應為每種出貨模式建立重複的優惠。

名稱說明
ACTION_TYPE_UNSPECIFIED
ACTION_TYPE_FOOD_DELIVERY這項優惠適用於餐點外送服務。
ACTION_TYPE_FOOD_TAKEOUT這項優惠適用於外帶或自取訂單。
ACTION_TYPE_DINING優惠適用於餐廳內用。
ACTION_TYPE_APPOINTMENT這項優惠適用於預約服務。
ACTION_TYPE_SHOPPING_IN_STORE這項優惠適用於離線店內購物交易。

OfferMode

指定使用者可透過哪種方法或管道兌換優惠。

名稱說明
OFFER_MODE_OTHER用於其他特定模式未涵蓋的出貨方式。
OFFER_MODE_WALK_IN這項優惠適用於現場造訪,不需事先預約。
OFFER_MODE_FREE_RESERVATION使用者預訂時,如果不需要預付費用,則適用這項優惠。
OFFER_MODE_PAID_RESERVATION使用者預約時必須預先付款,才能享有這項優惠。
OFFER_MODE_ONLINE_ORDER這項優惠適用於透過網站或數位平台下單的訂單。
OFFER_MODE_GIFT_CARD_PURCHASE表示購買禮物卡是取得優惠的主要步驟。

OfferCategory

優惠類別。基本優惠是所有顧客都能享有的標準優惠,例如消費滿 $100 美元可享 9 折優惠。如果基本優惠受優待券或付款工具限制,系統會設定相應欄位。我們也提供 ADD_ON_PAYMENT_OFFER 等外掛程式優惠。這類優惠可與其他優惠合併使用,以獲得額外折扣。

名稱說明
OFFER_CATEGORY_UNSPECIFIED請勿在動態饋給中使用 UNSPECIFIED 或預設列舉值。
OFFER_CATEGORY_BASE_OFFER
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
OFFER_CATEGORY_ADD_ON_COUPON_OFFER
OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER
OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER

FeeUnit

名稱說明
FEE_UNIT_UNSPECIFIED動態饋給中不應使用 UNSPECIFIED 或預設列舉值。
FEE_UNIT_PER_GUEST
FEE_UNIT_PER_TRANSACTION

FeeType

名稱說明
FEE_TYPE_UNSPECIFIED請勿在動態饋給中使用 UNSPECIFIED 或預設列舉值。
FEE_TYPE_FIXED
FEE_TYPE_VARIABLE

OfferDiscountType

名稱說明
OFFER_DISCOUNT_TYPE_UNSPECIFIED
OFFER_DISCOUNT_TYPE_INSTANT_DISCOUNT
OFFER_DISCOUNT_TYPE_CASHBACK
OFFER_DISCOUNT_TYPE_REWARD_POINT

MealType

名稱說明
MEAL_TYPE_UNSPECIFIED請勿在動態饋給中使用 UNSPECIFIED 或預設列舉值。
MEAL_TYPE_BREAKFAST
MEAL_TYPE_LUNCH
MEAL_TYPE_DINNER

PaymentInstrumentType

名稱說明
PAYMENT_INSTRUMENT_TYPE_UNSPECIFIED請勿在動態饋給中使用 UNSPECIFIED 或預設列舉值。
PAYMENT_INSTRUMENT_CREDIT_CARD
PAYMENT_INSTRUMENT_DEBIT_CARD
PAYMENT_INSTRUMENT_BANK_ACCOUNT
PAYMENT_INSTRUMENT_UPI
PAYMENT_INSTRUMENT_ONLINE_WALLET
PAYMENT_INSTRUMENT_NETBANKING

DayOfWeek

代表星期幾。

名稱說明
DAY_OF_WEEK_UNSPECIFIED未指定星期幾。
MONDAY星期一
TUESDAY週二
WEDNESDAY週三
THURSDAY週四
FRIDAYFriday (週五)
SATURDAYSaturday (週六)
SUNDAY星期日

ValidityScope

有效期限的範圍,也就是這段有效期限適用於哪些動作。

名稱說明
VALIDITY_SCOPE_UNSPECIFIED
VALIDITY_SCOPE_CLAIM
VALIDITY_SCOPE_REDEEM

OfferTag

名稱說明
OFFER_TAG_UNSPECIFIED動態饋給中不應使用 UNSPECIFIED 或預設列舉值。
OFFER_TAG_NEW_YEAR_SPECIAL
OFFER_TAG_VALENTINES_SPECIAL

AvailabilityLevel

指出商品的庫存或供應情形。

名稱說明
AVAILABILITY_LEVEL_UNSPECIFIED
AVAILABILITY_LEVEL_LOW表示優惠即將用完。建議使用者在獎勵兌換完畢前兌換。 我們日後可能會新增 MEDIUM 和 HIGH。

offer_specification

折扣可以是從總價值中扣除的百分比或固定值。例如: 1. 最終帳單可享 9 折優惠。 2. 訂單可折抵 $15 美元。 商家也可以透過相關規格欄位提供自訂折扣,例如「買一送一」。必填。

欄位名稱類型規定說明
discount_percent數字

與 discount_value、other_offer_detail_text 互斥

帳單折扣百分比。[0, 100] 如果買一送一或 5 折優惠適用於整餐 (例如買一送一自助餐、買一送一整筆帳單、買一送一套餐),這個值可以設為 50。
discount_valueobject
(Money)

與「discount_percent」、「other_offer_detail_text」互斥

折扣的固定值。
other_offer_detail_text字串

與「discount_percent」、「discount_value」互斥

說明折扣的任意格式文字。 如果是特定的買一送一優惠 (例如買一送一飲料、加一主菜、買一送一指定菜單品項),請在這裡說明這些詳細資料。

費用

欄位名稱類型規定說明
amount物件
(Money)

與 amount_range 互斥

amount_range物件
(MoneyRange)

與 amount 互斥

denomination_type

欄位名稱類型規定說明
fixed_denominations物件
(FixedDenominations)

與 custom_range 互斥

禮物卡提供特定固定金額時使用。
custom_range物件
(MoneyRange)

與 fixed_denominations 互斥

當品牌允許使用者在定義範圍內選擇自訂 (彈性) 錶面值時使用。

動態饋給上傳

優惠動態饋給必須上傳至 Generic 動態饋給 SFTP 伺服器。請按照如何使用一般動態饋給 SFTP 伺服器教學課程中的操作說明,並在描述元檔案中將 name 設為 google.offer。

上傳頻率

一般來說,Google 每天會上傳 1 個動態饋給。視貴商家更新優惠的頻率而定,上傳頻率可能會增加或減少,確保準確度維持在高水準。請洽詢 Google 聯絡窗口。

資料需要幾小時才會顯示在 Google 上。

優惠分類

  • OFFER_CATEGORY_BASE_OFFER:可單獨領取,不與其他優惠合併使用的優惠。包括:
    • 整筆帳單固定折扣 (例如 8 折)
    • 訂閱優惠 (例如:會員可免費獲得甜點)
    • 餐廳沒有其他基本優惠時,可提供付款優惠
    • 注意:全平台免手續費或手續費減免優惠不應設為基本優惠。
  • 加購優惠:必須先領取基本優惠,才能領取這類優惠。包括:
    • OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER (例如:使用特定信用卡可享額外 9 折優惠)
    • OFFER_CATEGORY_ADD_ON_COUPON_OFFER (例如:使用特定優惠碼可免費兌換飲料)
    • OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER (例如:訂閱者可享額外 9 折優惠)
    • OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER (例如免運費或運費折扣)

其他考量項目:

  • 全平台免手續費或減免優惠不應設為基本優惠 (OFFER_CATEGORY_BASE_OFFER),而應設為 OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER,做為其他有效基本優惠的補充。
  • 如果餐廳未設定基本優惠,就不會顯示加購優惠。 如果沒有基本優惠,則任何可領取且不需新增至其他優惠的付款、訂閱或優待券優惠,都必須標記為 OFFER_CATEGORY_BASE_OFFER。
    • 視類型而定,必須設定 PaymentInstrument、Subscription 或 Coupon 的相關資料。
    • 合作夥伴必須提供 2 份這類優惠,以涵蓋同時做為基本優惠和加購優惠的情況。接著,您可以使用 entity_ids 或 add_on_offer_applicable_to_all_entities,為多間餐廳設定加購優惠文案。
  • 如果餐廳有多項可堆疊的基本優惠,所有基本優惠都應標記為 OFFER_CATEGORY_BASE_OFFER,而屬於付款、訂閱或優待券優惠的基本優惠,則應另外以相關加購優惠類型傳送。
  • ValidityPeriod只有在沒有有效的 Base Offer 時,才應使用此方法啟用加購優惠做為 Base Offer。
  • 依付款方式合併相同優惠:如果多種付款方式共用完全相同的折扣價值 (例如信用卡、簽帳金融卡和 Net Banking 都提供 5% 折扣),請將這些方式歸入單一合併的 Offer 物件,不要傳送重複的優惠。如要這麼做,請在 payment_instrument.items 清單中填入所有適用的付款方式。這可減少 Google 介面的版面配置雜亂,並避免因過多重複限制而導致排名下降。

情境示例:

  • 餐廳提供特定信用卡 95 折優惠,以及使用特定優惠碼可享免費飲料

    • 信用卡 5% 折扣優惠應傳送 2 份,一份標記為 OFFER_CATEGORY_BASE_OFFER,另一份標記為 OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER,並附上 PaymentInstrument 詳細資料。
    • 使用優惠碼兌換免費飲料的優惠應以 OFFER_CATEGORY_ADD_ON_COUPON_OFFER 形式傳送,並附上 Coupon 詳細資料。
  • 某餐廳提供現場候位 9 折優惠,以及使用特定信用卡付款可享 95 折優惠,這兩項優惠可合併使用。

    • 10% 現場候位優惠應標記為 OFFER_CATEGORY_BASE_OFFER。
    • 信用卡 5% 折扣優惠應有 2 個副本,一個標記為 OFFER_CATEGORY_BASE_OFFER,另一個標記為 OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER。
  • 餐廳提供平日午餐 9 折優惠,以及使用特定信用卡付款時的 95 折優惠。

    • 10% 折扣優惠應設為ValidityPeriod,表示僅限平日午餐時段提供。
    • 信用卡 95 折優惠應以 2 份副本的形式傳送。
      • 其中一個副本應標記為 OFFER_CATEGORY_BASE_OFFER,並包含 PaymentInstrument 詳細資料。ValidityPeriod 應設為排除平日午餐時段,以啟用午餐 9 折優惠
      • 其中一份應標記為 OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER,並包含 PaymentInstrument 詳細資料。
    • 這間餐廳的所有其他付款優惠都應標記為 OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER。

開發與上線程序

在整合過程中,合作夥伴入口網站會根據您的開發進度,提供資訊和意見回饋。開發程序會遵循以下流程:

  • 先在沙箱環境中開發整合服務。您應該在 Google 沙箱環境中使用正式版匯出資料 (或直接使用正式版資料)。這有助於確保開發作業能涵蓋所有極端案例,並讓 Google 評估資料品質,根據資料模型提供更完善的協助。
  • 當您開始持續將完整的每日「商家」、「服務」和「優惠」動態饋給 上傳到 Google 沙箱環境,Google 團隊就會評估您的 動態饋給。Google 團隊核准後,您就可以將程式碼推送至正式環境,並開始將正式資料傳送至 Google 正式環境。
  • 當您完整測試「正式版」整合服務後,Google 團隊也會進行測試。完成所有測試後,整合項目就會正式推出。

監控

為確保良好的使用者體驗,Google 會在推出前後,檢查提供的優惠是否有效、正確,且符合政策標準。為此,Google 會結合人工和自動化審查。您可以在行動中心 (僅限正式環境) 的方案資訊主頁中查看這些審查結果。這項監控結果可能會影響優惠的排名。

請確認網頁在 5 秒內完全載入,否則會視為失敗,並標記為 Bad link。

自動檢查 (檢索器)

Google 品質團隊會導入檢索器。檢索器是指令碼,可自動執行網路瀏覽器,執行一些點擊並擷取商品資訊,僅用於品質測試。

查詢次數

舉例來說,如果我們決定每天傳送 5,000 次檢查,這表示每天有 5,000 次 (平均分配在一天內,大約每 17 秒一次),我們的檢索器會執行一般使用者會執行的所有下列動作:

  • 從 Google 搜尋開始,然後點選合作夥伴連結。
  • 查看優惠資訊。
  • 如果優惠需要預訂,系統會繼續進行預訂流程,確認優惠在指定時間可用 (不會進行預訂)。

網路抓取工具偵測

為確保網路抓取工具不會遭到封鎖 (這可能導致工具判定商品/服務無法提供),請確認系統允許網路抓取工具隨時查詢網頁。如何辨識我們的網頁抓取工具:

  • 網路抓取工具使用者代理程式會包含「Google-Offers」字串:
    • 範例:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google-Offers) Chrome/104.0.5112.101 Safari/537.36
  • 您也可以按照「驗證 Googlebot 和其他 Google 檢索器的身分」一文的建議,使用反向 DNS 檢查呼叫是否來自 Google。在我們的特定案例中,反向 DNS 解析會遵循以下模式:google-proxy-***-***-***-***.google.com。

技術行為

快取

為減少合作夥伴網站的負載,我們的檢索器通常會設定為遵循回應中顯示的所有標準 HTTP 快取標頭。也就是說,如果網站設定正確,我們就不會重複擷取不常變更的內容 (例如 JavaScript 程式庫)。如要進一步瞭解如何實作快取,請參閱這份 HTTP 快取說明文件。