參與優惠整合服務的合作夥伴在開始之前,必須先完成商家或實體 (試用版) 的帳戶設定整合步驟。本指南將詳細說明如何導入、測試和推出優惠整合服務。在執行整合步驟之前,請詳閱這份總覽和優惠政策。
優惠
優惠整合服務可讓你在特定時間點, 轉發適用於特定服務的商家促銷及折扣相關的結構化資訊。「優惠」是由實際優惠 (折扣百分比、折扣價格等)、有效期 (具體時間、星期幾等),以及適用的用途 (像是優惠僅適用於特定服務) 所構成,也可能包含複雜的限制組合。
優惠範例:
- 12 月的星期三和星期四中午 12 點到下午 5 點,開胃菜五折
- 母親節晚上 6 點到 10 點晚餐時段,甜點買一送一
- 每週日上午 10 點到下午 2 點早午餐小菜折扣 NT$150 元
- 10% 的到店折扣,可與頂級訂閱者 5% 的折扣,以及透過應用程式付款時 5% 的折扣併用。
優惠必須符合技術資料模型,並達到 資格規定,才能納入整合服務中。請務必 詳閱我們的優惠政策, 確保您的整合作業符合規定,並瞭解 該如何處理不符合技術規定的優惠。
優惠導入作業
優惠整合服務包含兩種動態饋給,每天都會上傳,或以確保高準確度 (即減少過時) 的頻率上傳:
OfferFeed
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
data | 物件陣列(Offer) |
優惠
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
offer_id | 字串 | 必填 | 優惠的專屬 ID。 必填。 |
entity_ids | 字串陣列 | 參與這項優惠的商家清單。 | |
add_on_offer_applicable_to_all_entities | 布林值 | 如果為 true,這項優惠適用於匯總器下的所有實體。 僅適用於加購優惠。 | |
offer_source | enum(OfferSource) | 必填 | 優惠可能由集結網站、個別商家提供,甚至由第三方以加購形式提供。必填。 |
action_type | enum(ActionType) | 必填 | 提供優惠的服務。offer_id 只能屬於一個 action_type。如果優惠可跨多種服務類型共用,則預期會為每種服務類型建立具有專屬 ID 的重複優惠。必填。 |
offer_modes | 列舉陣列(OfferMode) | 必填 | 提供優惠的方式,例如親自前往、預約、線上等。必要。 |
offer_category | enum(OfferCategory) | 必填 | 優惠類別。 必填。 |
source_assigned_priority | 數字 | 非負整數 ([1-100],其中 1 代表最高優先順序),表示來源指派的方案優先順序。如果同一商家提供多項商品,這項屬性會成為商品排序的信號。0 代表未設定優先順序。 | |
offer_details | object(OfferDetails) | 必填 | 優惠詳細資料,例如折扣、預訂費用等。必要。 |
offer_restrictions | object(OfferRestrictions) | 必填 | 說明優惠限制,例如是否需要訂閱/付款工具、這項優惠是否可與其他優惠合併使用 (以及哪些類型) 等。 必要。 |
coupon | object(Coupon) | 優待券詳細資料。 如果 offer_category 為 OFFER_CATEGORY_ADD_ON_COUPON_OFFER,則為必填欄位。 | |
payment_instrument | object(PaymentInstrument) | 付款方式的詳細資料。 如果 offer_category 為 OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER,則為必填欄位。 | |
subscription | object(Subscription) | 訂閱詳細資料。 如果 offer_category 為 OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER,則為必填欄位。 | |
terms | object(Terms) | 必填 | 優惠條款及細則。 必填。 |
validity_periods | 物件陣列(ValidityPeriod) | 必填 | 優惠效期。說明優惠的有效時間範圍,包括開始和結束時間、星期幾等。為必填欄位。 |
offer_url | 字串 | 商家優惠頁面的網址。 如果 offer_category 為 OFFER_CATEGORY_BASE_OFFER,則為必填欄位。 | |
image_url | 字串 | 商家優惠圖片的網址。 |
OfferDetails
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
offer_display_text | 字串 | 必填 | 供應商希望在搜尋結果網頁上向消費者顯示的優惠文字。必填。 |
| oneOf(offer_specification) | 必填 | 這個 oneOf 中的欄位只能設定一個。 |
max_discount_value | object(Money) | 可享有的最高折扣。例如:最高可享 $100 美元的 9 折優惠。 | |
min_spend_value | object(Money) | 享有折扣的最低消費金額。 例如:總價滿 $100 美元可享 9 折優惠。 | |
booking_cost | object(Money) | 預訂這項優惠的費用。舉例來說,以 $15 美元的價格預訂座位,即可在結帳時享有 $100 美元的折扣。 | |
booking_cost_unit | enum(FeeUnit) | 預訂費用的單位。例如每人每筆交易。 | |
convenience_fee | object(Fee) | ||
booking_cost_adjustable | 布林值 | 預訂費用是否可調整,也就是從最終帳單中扣除預訂費用。例如: 預訂晚餐可享 7 折優惠。預訂費用為 $15 美元,這筆費用會計入最終帳單。因此最終帳單為:總支出 - 30% - $15 美元 | |
additional_fees | 物件陣列(AdditionalFee) | 向使用者收取的額外費用。 例如便利性、處理方式等。 |
金額
代表金額與其貨幣類型。
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
currency_code | 字串 | ISO 4217 定義的貨幣代碼,由 3 個字母組成。 | |
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。 |
費用
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
unit | enum(FeeUnit) | ||
type | enum(FeeType) | ||
| oneOf(cost) | 這個 oneOf 中的欄位只能設定一個。 |
MoneyRange
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
min_amount | object(Money) | ||
max_amount | object(Money) |
AdditionalFee
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
name | 字串 | 必填 | 額外費用的名稱。例如手續費、處理費等。 必填。 |
fee | object(Fee) |
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 | object(FoodOfferRestrictions) | 餐飲優惠的專屬限制。 |
OfferCondition
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
description | 字串 |
FoodOfferRestrictions
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
meal_types | 列舉陣列(MealType) | 可套用優惠的餐點類型,例如午餐或晚餐。 如未設定,優惠可套用至所有餐點類型。 | |
restricted_to_certain_courses | 布林值 | 優惠是否僅適用於特定課程。 |
優待券
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
text | 字串 | 優惠供應商想向使用者顯示的優待券文字。 | |
code | 字串 | 必填 | 必須使用優待券代碼才能兌換優惠。 必填。 |
PaymentInstrument
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
items | 物件陣列(PaymentInstrumentItem) | 必填 | 可用於兌換優惠的付款方式清單。 必填。 |
provider_name | 字串 | 必填 | 付款方式供應商名稱。可以是銀行合作夥伴、銀行名稱等。例如:American Express、HDFC、ICICI。必填。 |
PaymentInstrumentItem
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
type | enum(PaymentInstrumentType) | 必填 | 付款工具類型。 必填。 |
name | 字串 | 必填 | 付款方式項目的名稱,例如信用卡名稱。 例如:HDFC Infinia、American Express Platinum。 必填。 |
訂閱
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
name | 字串 | 必填 | 訂閱項目名稱。 必填。 |
subscription_auto_added | 布林值 | 使用者兌換這項優惠時,系統是否會自動新增訂閱項目 | |
cost | object(Money) | 必填 | 訂閱費用。 必填。 |
subscription_duration | object(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 | object(ValidityRange) | 優惠的有效開始和結束時間戳記。 這些時間必須代表不同日期,也就是說,開始時間必須是 00:00 (當天開始),結束時間必須是有效期限結束當天的 00:00 (不含)。 | |
time_of_day | 物件陣列(TimeOfDayWindow) | 指定特定日期的有效時間間隔,以及優惠適用的日期。例如:
週一:上午 10 點至下午 5 點
週二:上午 10 點至下午 2 點
週二:下午 5 點至晚上 7 點
週三、週四、週五、週六、週日:下午 3 點至晚上 7 點
如果未設定任何時段,表示優惠在 valid_period 內的所有時間都適用。 | |
time_exceptions | 物件陣列(ValidTimeException) | 指定上述 valid_period 和 valid_time_of_week 的例外狀況 |
ValidityRange
封閉式開放時間戳記範圍。
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
valid_from_time | object(Timestamp) | 必填 | 範圍的開始時間 (含)。 必填。 |
valid_through_time | object(Timestamp) | 範圍的結束時間 (不含)。 如未設定,表示這段期間永不結束。 選填。 |
時間戳記
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
seconds | 字串 | 代表自 Unix 紀元 (1970-01-01T00:00:00Z) 起算的世界標準時間秒數。必須介於 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z 之間 (含)。 | |
nanos | 數字 | 以奈秒為單位的非負秒數小數。如果秒數值為負數,且包含小數,奈秒值仍須為非負數,且時間會往前計算。值必須介於 0 到 999,999,999 之間 (含)。 |
TimeOfDayWindow
TimeWindow 物件是複合實體,用於說明使用者訂單可下單或完成的時段清單。
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
time_windows | object(TimeOfDayRange) | 必填 | 可下單/完成訂單的時間範圍。 必填。 |
day_of_week | 列舉陣列(DayOfWeek) | 時段適用的每週天數清單。 如未設定,則表示適用於一週的每一天。 選填。 |
TimeOfDayRange
封閉式開放時間範圍。
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
open_time | object(TimeOfDay) | 時間,表示範圍當天的開始時間 (含)。 如果未設定,則表示 00:00:00。 選填。 | |
close_time | object(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。 |
ValidTimeException
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
exceptional_period | object(ValidityRange) | 優惠無效的開始和結束時間戳記。 這些時間必須代表不同日期,也就是開始時間必須是 00:00 (當天開始),結束時間必須是例外狀況期間結束當天的 00:00 (不含)。 |
OfferSource
名稱 | 說明 |
---|---|
OFFER_SOURCE_UNSPECIFIED | |
OFFER_SOURCE_AGGREGATOR |
ActionType
名稱 | 說明 |
---|---|
ACTION_TYPE_UNSPECIFIED | |
ACTION_TYPE_DINING |
OfferMode
名稱 | 說明 |
---|---|
OFFER_MODE_OTHER | |
OFFER_MODE_WALK_IN | |
OFFER_MODE_FREE_RESERVATION | |
OFFER_MODE_PAID_RESERVATION | |
OFFER_MODE_ONLINE_ORDER |
OfferCategory
優惠類別。基本優惠是所有消費者都能使用的標準優惠,例如消費滿 $100 美元可享 9 折優惠。如果基本方案受到優待券或付款方式限制,系統會設定相應的欄位。我們也提供加購方案,例如 ADD_ON_PAYMENT_OFFER。這類優惠可與其他優惠併用,以獲得額外折扣。
名稱 | 說明 |
---|---|
OFFER_CATEGORY_UNSPECIFIED | |
OFFER_CATEGORY_BASE_OFFER | |
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER | |
OFFER_CATEGORY_ADD_ON_COUPON_OFFER | |
OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER |
FeeUnit
名稱 | 說明 |
---|---|
FEE_UNIT_UNSPECIFIED | |
FEE_UNIT_PER_GUEST | |
FEE_UNIT_PER_TRANSACTION |
FeeType
名稱 | 說明 |
---|---|
FEE_TYPE_UNSPECIFIED | |
FEE_TYPE_FIXED | |
FEE_TYPE_VARIABLE |
MealType
名稱 | 說明 |
---|---|
MEAL_TYPE_UNSPECIFIED | |
MEAL_TYPE_BREAKFAST | |
MEAL_TYPE_LUNCH | |
MEAL_TYPE_DINNER |
PaymentInstrumentType
名稱 | 說明 |
---|---|
PAYMENT_INSTRUMENT_TYPE_UNSPECIFIED | |
PAYMENT_INSTRUMENT_CREDIT_CARD | |
PAYMENT_INSTRUMENT_DEBIT_CARD | |
PAYMENT_INSTRUMENT_BANK_ACCOUNT | |
PAYMENT_INSTRUMENT_UPI | |
PAYMENT_INSTRUMENT_ONLINE_WALLET |
DayOfWeek
代表星期幾。
名稱 | 說明 |
---|---|
DAY_OF_WEEK_UNSPECIFIED | 未指定星期幾。 |
MONDAY | 星期一 |
TUESDAY | 週二 |
WEDNESDAY | 週三 |
THURSDAY | 週四 |
FRIDAY | Friday (週五) |
SATURDAY | Saturday (週六) |
SUNDAY | 星期日 |
offer_specification
折扣可以是百分比,也可以是從總值扣除的固定值。例如: 1. 最終結算金額可享 9 折優惠。 2. 訂單現折 $15 美元。 商家也可以透過相關規格欄位提供自訂折扣,例如「買一送一」。必填。
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
discount_percent | 數字 | 與 | 帳單的折扣百分比。 [0, 100] 如為適用於整餐的買一送一或半價優惠 (例如:買一送一自助餐、買一送一整筆帳單、買一送一套餐),這個值可以設為 50。 |
discount_value | object(Money) | 與 | 折扣的固定值。 |
other_offer_detail_text | 字串 | 與 | 自由輸入文字,說明折扣。 如果是特定 1+1 優惠 (例如買一送一飲料、加購主餐、買一送一指定菜單項目),請在此處說明這些詳細資料。 |
費用
欄位名稱 | 類型 | 規定 | 說明 |
---|---|---|---|
amount | object(Money) | 與 | |
amount_range | object(MoneyRange) | 與 |
動態饋給上傳
優惠動態饋給必須上傳至 Generic
動態饋給安全檔案傳輸通訊協定伺服器。請按照「如何使用一般動態饋給 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_BASE_OFFER
。- 視類型而定,必須設定
PaymentInstrument
、Subscription
或Coupon
的相關資料。 - 合作夥伴必須提供每項優惠的 2 份副本,以涵蓋同時做為基本優惠和加購優惠的情況。然後使用
entity_ids
或add_on_offer_applicable_to_all_entities
,為多間餐廳設定加購優惠文案。
- 視類型而定,必須設定
- 如果餐廳有多個可疊加的基本方案,所有基本方案都應標記為
OFFER_CATEGORY_BASE_OFFER
,且付款、訂閱或優待券基本方案應額外以相關加購方案類型傳送。 ValidityPeriod
應僅用於啟用加購優惠,做為基本優惠,前提是沒有有效的基本優惠。
情境示例:
餐廳提供特定信用卡付款 95 折優惠,以及使用特定優待券代碼可免費兌換飲料
- 5% 信用卡折扣優惠應以 2 份副本的形式傳送,其中一份標記為
OFFER_CATEGORY_BASE_OFFER
,另一份標記為OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
,並附上PaymentInstrument
詳細資料。 - 如果優惠是提供免費飲料,且須使用優待券代碼,請以
OFFER_CATEGORY_ADD_ON_COUPON_OFFER
形式傳送,並附上Coupon
詳細資料。
- 5% 信用卡折扣優惠應以 2 份副本的形式傳送,其中一份標記為
餐廳提供 9 折優惠給上門顧客,並提供 95 折優惠給使用特定信用卡付款的顧客,這兩項優惠可合併使用。
- 10% 的店內優惠應標記為
OFFER_CATEGORY_BASE_OFFER
。 - 信用卡 95 折優惠應有 2 份副本,其中一份標記為
OFFER_CATEGORY_BASE_OFFER
,另一份標記為OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
。
- 10% 的店內優惠應標記為
餐廳提供平日午餐 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
。
- 10% 折扣優惠應
開發與上線程序
在整個整合過程中,您都可以透過合作夥伴入口網站,依據自己的開發情況取得相關的資訊和意見回饋協助。開發程序會按以下流程進行:
- 先在沙箱環境中開發整合服務。您應該 在 Google 沙箱環境中使用產品匯出功能 (或甚至 直接使用產品資料)。這有助於確保您的開發作業涵蓋到所有邊緣情況,並讓 Google 評估資料品質,進而根據您的資料模型提供更好的協助。
- 當您開始持續將完整的每日「商家」、「服務」和「優惠」動態饋給 上傳到 Google 沙箱環境,Google 團隊就會評估您的 動態饋給。等 Google 團隊提供核准,您就可以將程式碼推送到正式環境,並開始將產品資料傳送到 Google 實際執行環境。
- 當您完整測試「正式版」整合服務後,Google 團隊也會進行測試。等所有測試都完成後,您的整合服務就可以上線。
監控
為確保使用者體驗良好,Google 會在發布前後檢查提供的優惠是否有效、正確且符合政策條件。為此,Google 會結合人工和自動化審查。審查結果會顯示在行動中心 (僅限正式版) 的方案資訊主頁中。這項監控的結果可能會影響商品排名的升降。
自動檢查 (檢索器)
Google 品質團隊會導入檢索器。檢索器是自動執行網頁瀏覽器指令碼,可點擊網頁並擷取產品資訊,僅供品質測試之用。
查詢次數
舉例來說,如果我們決定每天傳送 5000 次檢查,表示我們的檢索器每天會執行 5000 次使用者會執行的所有動作 (平均分配在一天內,大約每 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 快取說明文件。