優惠動態饋給整合

優惠

透過這項整合功能,你可以轉送商家促銷活動和折扣的結構化資訊,這些資訊會套用至特定時間的特定服務。優惠包含實際優惠 (折扣百分比、折扣金額等)、有效期限 (特定時間、星期幾等)、適用用途 (優惠只能用於特定服務),以及複雜的限制組合。

優惠範例:

  • 12 月的星期三和星期四中午 12 點到下午 5 點,開胃菜五折
  • 母親節晚餐 (下午 6 點至晚上 10 點) 買一送一
  • 每週日上午 10 點到下午 2 點早午餐小菜折扣 NT$150 元
  • 10% 的到店優惠,可與 Premium 訂閱者 5% 的折扣,以及透過應用程式付款的 5% 折扣併用。

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

優惠導入作業

整合方案包含兩個動態饋給,每天或以確保高準確度 (即減少過時) 的頻率上傳:

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)

必填

說明優惠限制,例如是否需要訂閱/付款方式、這項優惠是否可與其他優惠併用 (以及哪些類型) 等。必要。
coupon物件
(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)

可享有的最高折扣。例如:最高可享 $100 美元折扣,折扣上限為 10%。
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_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 折優惠。如果基本方案受到優待券或付款方式限制,系統會設定相應的欄位。我們也提供加購 x 優惠,例如 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表示優惠即將用完。建議使用者在兌換完畢前兌換。 我們日後可能會新增「中」和「高」設定。

offer_specification

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

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

與「discount_value」、「other_offer_detail_text」互斥

帳單的折扣百分比。 [0, 100] 如果買一送一或 5 折優惠適用於整餐 (例如買一送一自助餐、買一送一整筆帳單、買一送一套餐),這個值可以設為 50。
discount_value物件
(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 動態饋給安全檔案傳輸通訊協定伺服器。請參閱「如何使用一般動態饋給安全檔案傳輸通訊協定伺服器教學課程」的操作說明,並在描述元檔案中將 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 只有在沒有有效基本方案時,才應使用此方法啟用加購方案。
  • 依付款方式合併相同優惠:如果多種付款方式提供完全相同的折扣值 (例如信用卡、簽帳金融卡和網路銀行都提供 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。
    • 信用卡 95 折優惠應有 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 搜尋開始,然後點選合作夥伴連結。
  • 尋找優惠資訊。
  • 如果優惠需要預訂,系統會繼續執行預訂流程,確認優惠在指定時間是否適用 (不會進行預訂)。

網頁資料擷取器偵測

為確保網頁擷取器不會遭到禁止 (這可能導致系統判定優惠不適用),請確認系統允許網頁擷取器隨時查詢你的網頁。如何辨識我們的網頁抓取工具:

  • 網路刮除工具 User-Agent 會包含「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 快取說明文件。