如何利用 Google Shopping SERP 資料監控產品價格

商品價格一直在變。 某個商品早上可能是 $129,限時促銷時變成 $119,隔天又回到 $149。競品可能悄悄降價。Marketplace seller 可能突然開始提供 free shipping。某個商品也可能先在 Google Shopping 裡出現 discount badge,而你的團隊還沒注意到。 這就是 ecommerce teams 需要 price monitoring 的原因。 建立價格監控系統的一個實用方式,是使用 Shopping SERP data。你不需要人工檢查商品頁,而是收集結構化 Google Shopping search results,保存 price snapshots,比較變化,並在重要變動發生時觸發 alerts。 基本流程如下: 這篇會說明如何用 Shopping SERP data 設計一套價格監控系統。 什麼是 Shopping SERP data? Shopping SERP data 是從 shopping search results 中收集到的結構化商品數據。 以 Google Shopping-style results 來說,常見可用欄位包括 […]

TalorData
Last updated on
6 min read

商品價格一直在變。

某個商品早上可能是 $129,限時促銷時變成 $119,隔天又回到 $149。競品可能悄悄降價。Marketplace seller 可能突然開始提供 free shipping。某個商品也可能先在 Google Shopping 裡出現 discount badge,而你的團隊還沒注意到。

這就是 ecommerce teams 需要 price monitoring 的原因。

建立價格監控系統的一個實用方式,是使用 Shopping SERP data。你不需要人工檢查商品頁,而是收集結構化 Google Shopping search results,保存 price snapshots,比較變化,並在重要變動發生時觸發 alerts。

基本流程如下:

Product keywords
   ↓
Shopping SERP API
   ↓
Product titles, prices, sellers, ratings, reviews
   ↓
Price snapshots
   ↓
Change detection
   ↓
Alerts, dashboards, reports

這篇會說明如何用 Shopping SERP data 設計一套價格監控系統。

什麼是 Shopping SERP data?

Shopping SERP data 是從 shopping search results 中收集到的結構化商品數據。

以 Google Shopping-style results 來說,常見可用欄位包括 product title、product link、source 或 seller、price、extracted price、old price、delivery information、rating、reviews、snippet、thumbnail、tag、badge 和 ranking position。這些都是 Google Shopping result APIs 常見會提供的欄位。

對價格監控系統來說,最重要的是這些欄位:

FieldWhy it matters
Product title識別搜尋中出現的商品
Price當前可見價格
Extracted price用於比較的數值價格
Old price幫助識別 discount signals
Seller / source顯示誰在銷售該商品
Product link連到商品頁
Rating信任訊號
Review count熱度與信心訊號
Delivery infoShipping 會影響實際價格
Position顯示 shopping visibility
TimestampPrice history 必需

沒有 timestamps,就不是 monitoring,只是一堆沒有時鐘的商品數據。

為什麼用 Shopping SERP data 做價格監控?

很多團隊一開始只追蹤自己的 product pages。這有用,但不完整。

Shopping SERP data 顯示的是搜尋者看到的市場。

Monitoring questionShopping SERP data helps answer
這個 keyword 下有哪些 sellers?Seller / source
今天哪個 product 最便宜?Extracted price
哪些 competitors 有折扣?Old price + current price
哪些 products 排名更高?Position
哪些 listings 的信任訊號更強?Rating + review count
哪些 products 有 free delivery?Delivery field
哪些 prices 和昨天不同?Snapshot comparison

Google 的 product structured data 文件也指出,product information 例如 price、availability、review ratings 和 shipping information,可以在 Google Search experiences 中以更豐富的方式呈現。

所以,search-visible product data 不只適合 feed management,也適合 ecommerce monitoring。

Shopping SERP API vs Merchant API

設計系統前,要先區分兩種不同 API。

Shopping SERP API 用於收集可見 shopping search results,幫你監控使用者在搜尋中看到什麼。

Merchant API 用於管理自己的 Merchant Center product data。Google 將 Merchant API 描述為管理 Merchant Center accounts 的方式,而 Merchant Products API 可讓 merchants insert、update、retrieve 和 delete product data。

API typeMain purposeBest for
Shopping SERP API收集可見 shopping search resultsPrice monitoring、competitor tracking、market research
Merchant API管理自己的 Merchant Center product dataProduct feed management、inventory updates

如果你要監控 competitors 和 sellers 的價格,需要 Shopping SERP data。

如果你要管理自己的 product catalog,使用 Merchant API。

系統架構

一套輕量價格監控系統通常有六個部分。

Keyword list
   ↓
SERP collection job
   ↓
Raw response storage
   ↓
Product parser
   ↓
Price snapshot database
   ↓
Change detection + alerts

每個模組的作用:

ModuleJob
Keyword list定義要追蹤的 products、brands、categories、markets
SERP collection job定時呼叫 Shopping SERP API
Raw response storage保存原始 API response,方便 debug
Product parser提取 title、price、seller、rating、reviews、links
Snapshot database每次收集保存一批 product result rows
Alert engine檢測 price drops、seller changes、ranking changes

一開始不需要做得很複雜。先用 daily CSV 或 database table 跑起來,等數據穩定後再加 dashboards 和 alerts。

Step 1:定義要監控什麼

不要先寫 code。先定義 monitoring target。

你需要明確:

QuestionExample
哪些 products?wireless headphones、standing desk、baby bottle
哪些 brands?自有品牌、競品品牌
哪些 markets?US、UK、Japan
哪種 language?English、Chinese、Japanese
多久收集一次?Daily、hourly、weekly
哪些變化重要?Price drop、price increase、new seller、lost visibility

一份乾淨 tracking list 可以長這樣:

[
  {
    "keyword": "wireless noise cancelling headphones",
    "country": "us",
    "language": "en",
    "currency": "USD",
    "monitoring_group": "headphones"
  },
  {
    "keyword": "standing desk",
    "country": "us",
    "language": "en",
    "currency": "USD",
    "monitoring_group": "office furniture"
  }
]

Keyword list 是方向盤。沒有它,系統只是在瓶子裡收集亮粉。

Step 2:收集 Shopping SERP data

Shopping SERP API request 通常會包含 query、country、language、currency 和 result type。

簡化後的 request 可以長這樣:

{
  "engine": "google_shopping",
  "q": "wireless noise cancelling headphones",
  "country": "us",
  "language": "en",
  "currency": "USD",
  "device": "desktop",
  "no_cache": true
}

在 TalorData 中,這類 workflow 對應 Google Shopping SERP data use case:收集 real-time Google Shopping data,包括 product prices、sellers、ratings、reviews、offers 和 shopping visibility。

輸出建議保存兩種形式:

Storage typeWhy
Raw JSONDebug、reprocessing、schema changes
Parsed tableReporting、alerts、dashboards

早期一定要保留 raw responses。Parser 會進化。

Step 3:解析商品欄位

Parser 需要從 shopping results 中提取標準化欄位。

先從這些開始:

{
  "query": "wireless noise cancelling headphones",
  "country": "us",
  "language": "en",
  "collected_at": "2026-07-06T09:00:00Z",
  "position": 1,
  "title": "Wireless Noise Cancelling Headphones",
  "seller": "Example Store",
  "price": "$129.99",
  "extracted_price": 129.99,
  "old_price": "$159.99",
  "extracted_old_price": 159.99,
  "currency": "USD",
  "rating": 4.6,
  "reviews": 1280,
  "delivery": "Free delivery",
  "product_link": "https://example.com/product",
  "thumbnail": "https://example.com/image.jpg"
}

最重要的 normalization 是 price。

你需要數值型 extracted_price,而不只是 $129.99 這種文字。

Raw valueNormalized value
$129.99129.99
US$1,299.001299.00
€89,9989.99
Free0 或 null,取決於規則

Raw price 和 normalized price 都要保存。Raw price 方便 audit,normalized price 方便計算。

Step 4:保存 price snapshots

Price monitoring 依賴 snapshots。

Snapshot 的意思是:

在某個 query、market、seller、product 和 time 下,當時可見價格是什麼。

簡單 database table 可以這樣設計:

ColumnTypePurpose
idstringUnique row ID
querystringSearch keyword
countrystringMarket
languagestringLanguage
currencystringPrice currency
collected_atdatetimeSnapshot time
positionintegerShopping result position
titlestringProduct title
sellerstringStore or source
product_linkstringProduct URL
pricestringRaw price
extracted_pricedecimalNumeric price
old_pricestringRaw old price
ratingdecimalProduct rating
reviewsintegerReview count
deliverystringShipping message

第一版可以用 PostgreSQL、MySQL、BigQuery,甚至 daily CSV files。

不要太早過度設計。每天穩定跑的小表,比永遠沒上線的大系統更有價值。

Step 5:匹配同一個商品

這是比較難的部分。

同一個 product 可能會以不同 title、seller、link 或 price 出現。

可以使用這些 matching strategy:

Matching methodReliability
Product IDHigh
Product linkHigh
Seller + normalized titleMedium
Title + price + thumbnailMedium
Fuzzy title matchingLower, but useful
Manual product mappingBest for important SKUs

實用的 product key 可以是:

normalized_title + seller + country

對高價值 products,可以建立 manual mapping table:

Internal SKUSearch title patternSellerProduct group
SKU-001wireless noise cancelling headphonesExample StoreHeadphones
SKU-002ergonomic standing deskExample StoreOffice furniture

這能避免系統把相似商品混在一起。

Step 6:檢測價格變化

有了 snapshots,價格變化檢測就很直接。

常見 rules:

RuleExample
Price dropped by 10%Alert pricing team
Price increased by 15%Flag possible stock or demand change
Competitor is cheaperAdd to competitor report
Old price appearsMark discount signal
Seller disappearsPossible availability issue
New seller appearsNew marketplace competitor
Position improvesProduct visibility increased
Position dropsProduct visibility decreased

簡單 price drop formula:

price_change_percent = (current_price - previous_price) / previous_price * 100

範例:

Previous priceCurrent priceChange
159.99129.99-18.75%

可以設定 alert:

If price_change_percent <= -10:
    send price drop alert

Step 7:建立 alerts

先從簡單 alerts 開始,再慢慢變聰明。

常見 alert types:

AlertTrigger
Price drop alertPrice decreases beyond threshold
Price increase alertPrice increases beyond threshold
Competitor cheaper alertCompetitor price below your product
New seller alertNew seller appears for tracked keyword
Discount alertOld price appears with lower current price
Visibility alertProduct position moves into or out of top results
Missing product alertTracked product disappears from results

好的 alert 應該包含 context:

{
  "alert_type": "price_drop",
  "keyword": "wireless noise cancelling headphones",
  "seller": "Example Store",
  "title": "Wireless Noise Cancelling Headphones",
  "previous_price": 159.99,
  "current_price": 129.99,
  "change_percent": -18.75,
  "country": "us",
  "collected_at": "2026-07-06T09:00:00Z"
}

不要只發「price changed」。那像沒有港口名字的霧笛。

Step 8:建立 dashboards

價格監控 dashboard 應該快速回答實際問題。

Dashboard sectionWhat it shows
Lowest price by keywordCheapest visible seller
Price trendPrice over time
Competitor price tableSeller-by-seller comparison
Discount productsProducts with old price and lower current price
Seller visibilityWhich sellers appear most often
Ranking movementPosition changes over time
Data freshnessLast collection time and success rate

對 ecommerce teams 來說,最有用的視圖通常是:

Keyword → top products → seller → current price → previous price → change → position

Dashboard 要能幫人今天做決策,而不是只展示漂亮圖表。

Step 9:決定收集頻率

不是每個商品都需要 hourly monitoring。

Product typeSuggested frequency
High-volume consumer electronicsHourly or daily
Seasonal productsDaily during peak season
Long-tail productsWeekly
Competitor SKUsDaily
Flash-sale categoriesHourly
Stable B2B productsWeekly or monthly

Frequency 會影響 cost、storage 和 alert noise。

建議先 daily。只有對價格變動很敏感的 products,再提高頻率。

TalorData 在系統中的位置

TalorData 可以作為這個 workflow 的 search data collection layer。

你不需要自己維護 browser automation、selectors、proxies 和 CAPTCHA handling。系統只需要發送 Shopping SERP requests,接收 structured search result data。

TalorData SERP API 支援 SEO monitoring、AI agents、RAG、competitor tracking 和 market research 等 structured search result workflows;Google Shopping SERP API 則圍繞 real-time product prices、sellers、ratings、reviews、offers 和 shopping visibility。

在價格監控系統中,TalorData 位於這裡:

Tracked product keywords
   ↓
TalorData Shopping SERP API
   ↓
Structured product results
   ↓
Price snapshot database
   ↓
Change detection and alerts

常見錯誤

只追蹤 price

Price 不夠。還要保存 seller、delivery、rating、reviews、position、country、language 和 timestamp。

忽略 shipping

低價格但高運費,實際上未必更便宜。

混合不同 markets

US 和 UK shopping results 不應直接混在一起,除非你做了 currency 和 market context normalization。

不保存 raw responses

如果 parser 出問題或 fields 變化,raw JSON 可以幫你重新處理歷史數據。

Product matching 太粗

相似 titles 可能是不同商品。重要 SKUs 應使用 product links、seller names、IDs 或 manual mapping。

Alerts 太多

Alert fatigue 很真實。要設 thresholds、grouping 和 daily summaries。

結語

價格監控系統不需要一開始就是巨大平台。

先從 keyword list 開始,收集 Shopping SERP data,解析 product titles、sellers、prices、ratings、reviews 和 delivery fields,然後保存 daily snapshots。

當數據穩定後,再加入 price change detection、competitor comparisons、alerts 和 dashboards。

Shopping SERP data 給團隊一個 search-visible market view。它不只告訴你自己的商品價格,也告訴你使用者在比較 products、sellers 和 offers 時看到什麼。

這時,price monitoring 就不只是 spreadsheet,而是一個帶牙齒的小型市場雷達。

FAQ

什麼是 Shopping SERP data?

Shopping SERP data 是從 shopping search results 中收集的結構化商品數據,可包含 product titles、prices、sellers、ratings、reviews、delivery information、thumbnails、product links 和 positions。

Shopping SERP data 如何用於價格監控?

你可以定時收集 product results,保存 price snapshots,比較 current 和 previous prices,並在 prices、sellers、discounts 或 positions 變化時觸發 alerts。

Price monitoring 最先應保存哪些欄位?

建議先保存 query、country、language、timestamp、product title、seller、price、extracted price、old price、product link、rating、review count、delivery 和 position。

Shopping SERP API 和 Merchant API 一樣嗎?

不一樣。Shopping SERP API 收集可見 shopping search results。Merchant API 用於管理自己的 Merchant Center product data。

多久收集一次價格數據?

Daily 是好的起點。對 fast-moving categories、flash sales 或 high-value competitor products,可以使用 hourly collection。

Scale Your Data
Operations Today.

Join the world's most robust proxy network.

Start Free Trial