要点
一、全店通用的退货政策、运费政策和会员计划,写在 Organization 标记下,分别用 hasMerchantReturnPolicy、hasShippingService、hasMemberProgram 三个属性。Google 建议把这些标记放在一个说明企业行政信息和政策的页面上(例如退货政策页或关于我们页),不需要每页都放。电商站的类型建议用 Organization 的子类型 OnlineStore。
下面是一个可直接改的片段,三个政策都带 @id,方便商品页引用。数值、国家和网址按店铺实际政策替换。
{
"@context": "https://schema.org",
"@type": "OnlineStore",
"@id": "https://www.example.com/#org",
"name": "Example Store",
"url": "https://www.example.com",
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"@id": "https://www.example.com/policies/refund-policy#return_us",
"applicableCountry": ["US"],
"returnPolicyCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn",
"refundType": "https://schema.org/FullRefund",
"itemCondition": ["https://schema.org/NewCondition"],
"returnPolicySeasonalOverride": {
"@type": "MerchantReturnPolicySeasonalOverride",
"startDate": "2026-11-20",
"endDate": "2026-12-31",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 60
}
},
"hasShippingService": [
{
"@type": "ShippingService",
"@id": "https://www.example.com/policies/shipping-policy#standard_us",
"name": "Standard shipping",
"fulfillmentType": "https://schema.org/FulfillmentTypeDelivery",
"handlingTime": {
"@type": "ServicePeriod",
"cutoffTime": "14:00:00-05:00",
"businessDays": [
"https://schema.org/Monday", "https://schema.org/Tuesday",
"https://schema.org/Wednesday", "https://schema.org/Thursday",
"https://schema.org/Friday"
],
"duration": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 1, "unitCode": "DAY" }
},
"shippingConditions": [
{
"@type": "ShippingConditions",
"shippingDestination": { "@type": "DefinedRegion", "addressCountry": "US" },
"orderValue": { "@type": "MonetaryAmount", "minValue": 0, "maxValue": 34.99, "currency": "USD" },
"shippingRate": { "@type": "MonetaryAmount", "value": 5.99, "currency": "USD" },
"transitTime": {
"@type": "ServicePeriod",
"duration": { "@type": "QuantitativeValue", "minValue": 3, "maxValue": 5, "unitCode": "DAY" }
}
},
{
"@type": "ShippingConditions",
"shippingDestination": { "@type": "DefinedRegion", "addressCountry": "US" },
"orderValue": { "@type": "MonetaryAmount", "minValue": 35, "currency": "USD" },
"shippingRate": { "@type": "MonetaryAmount", "value": 0, "currency": "USD" },
"transitTime": {
"@type": "ServicePeriod",
"duration": { "@type": "QuantitativeValue", "minValue": 3, "maxValue": 5, "unitCode": "DAY" }
}
}
]
}
],
"hasMemberProgram": {
"@type": "MemberProgram",
"name": "Example Rewards",
"description": "Members earn points on every order and get member-only prices.",
"url": "https://www.example.com/pages/rewards",
"hasTiers": [
{
"@type": "MemberProgramTier",
"@id": "https://www.example.com/pages/rewards#tier_member",
"name": "member",
"hasTierBenefit": [
"https://schema.org/TierBenefitLoyaltyPrice",
"https://schema.org/TierBenefitLoyaltyPoints"
],
"membershipPointsEarned": 1
}
]
}
}
二、MerchantReturnPolicy 的必填项有两种写法,二选一。
- 写法 A:
applicableCountry(适用国家,ISO 3166-1 两位代码,最多 50 个)加returnPolicyCategory。returnPolicyCategory取MerchantReturnFiniteReturnWindow(有固定天数)、MerchantReturnNotPermitted(不可退)、MerchantReturnUnlimitedWindow(不限期)之一;取固定天数时merchantReturnDays变成必填,天数从送达日起算。 - 写法 B:只写
merchantReturnLink,指向退货政策页面,可以是第三方退货服务的政策页。
推荐属性里和费用有关的规则:returnFees 取 FreeReturn 或 ReturnFeesCustomerResponsibility(顾客自付运费)时不写 returnShippingFeesAmount;取 ReturnShippingFees(商家向顾客收退货运费)时要用 returnShippingFeesAmount 写出非零金额。另外可以按退货原因分开写:customerRemorseReturnFees(不想要了)和 itemDefectReturnFees(质量问题),以及对应的标签来源和运费金额。returnPolicyCountry 写退货要寄往的国家,可以和发货国家不同。节假日改退货期用 returnPolicySeasonalOverride,可以写多段,每段带 startDate、endDate、returnPolicyCategory。
三、ShippingService 的必填项只有 shippingConditions,一个服务可以写多组条件。几条容易忽略的规则:
- 同一商品同时满足多组条件时,Google 取运费最低的一组展示;运费相同则取时效最快的。
- 某组条件没写
shippingDestination,就适用于全球所有目的地。 DefinedRegion.addressRegion(州、省代码,不带国家前缀)只支持美国、澳大利亚、日本;postalCode只支持澳大利亚、加拿大、美国;同一个区域不要同时写州和邮编。加拿大站要按地区区分运费,只能用邮编。- 按订单金额比例收运费用
ShippingRateSettings的orderPercentage(0 到 1 之间);固定运费直接用MonetaryAmount;免运费写value: 0。 - 某条件下不发货,写
doesNotShip: true,同时不写shippingRate和transitTime。 - 处理时间
handlingTime和在途时间transitTime都用ServicePeriod;cutoffTime只用于处理时间,过了截单时间的订单,预计送达时间加一天。天数用非负整数,unitCode写DAY或d。 - 只在某段时间有效的运费条件(例如节假日)在
ShippingConditions里用seasonalOverride,类型是OpeningHoursSpecification,validFrom、validThrough至少写一个。 - 会员专享运费在 ShippingService 上加
validForMemberTier;用了它,还要至少再提供一个非会员的运费服务。
四、MemberProgram 的必填项是 name、description、hasTiers(至少一个等级);每个等级 MemberProgramTier 必填 name 和 hasTierBenefit。hasTierBenefit 只有两个取值:TierBenefitLoyaltyPoints(积分,同时写 membershipPointsEarned,表示每消费一个货币单位得多少分)和 TierBenefitLoyaltyPrice(会员价)。付费会员、消费门槛等加入条件写在 hasTierRequirement,可以是 CreditCard、MonetaryAmount(最低消费额)、UnitPriceSpecification(周期会费)或文字;不写表示免费加入。url 只写一个网址,不写时默认为标记所在页面。
会员计划信息在 Google 搜索中的展示范围是澳大利亚、巴西、加拿大、法国、德国、墨西哥、英国、美国,桌面和移动端都有。会员计划也可以不写标记,直接在 Merchant Center 里配置。各商品的会员价和积分写在商品页 Offer 里,详见《商品价格标记,促销价、划线价、会员价与商品分类》。
五、商品页的 Offer 层政策只用来覆盖全店政策。Organization 和 Offer 两层都写时,Google 默认用 Offer 层的退货政策。Offer 层支持的属性是 Organization 层的子集:退货只支持 applicableCountry、returnPolicyCategory、merchantReturnDays、returnFees、returnMethod、returnShippingFeesAmount;运费用 OfferShippingDetails,每个 OfferShippingDetails 只能有一个 shippingRate,运费币种要和商品价格币种一致。
商品页不需要覆盖时,可以只用 @id 引用政策页里的定义:
"offers": {
"@type": "Offer",
"price": 129.99,
"priceCurrency": "USD",
"hasMerchantReturnPolicy": {
"@id": "https://www.example.com/policies/refund-policy#return_us"
},
"shippingDetails": {
"@type": "OfferShippingDetails",
"hasShippingService": {
"@id": "https://www.example.com/policies/shipping-policy#standard_us"
}
}
}
六、标记和 Merchant Center、Search Console 设置同时存在时,按优先级取一处,标记的优先级最低。例如政策页写了退货标记,Search Console 里也设置了退货政策,Google 只用 Search Console 的设置。完整优先级顺序详见《商品类搜索结果外观与 Search Console 数据》。
容易误解的地方
- 以为在 Offer 层写一套完整退货政策和在 Organization 层写效果一样。Offer 层只支持上面列出的子集,季节覆盖、按原因区分费用、退款类型都要写在 Organization 层。
- 改了网站上的政策标记,搜索结果里的退货和运费信息不变。先查 Merchant Center 和 Search Console「设置 > 购物」里有没有已配置的政策,有的话标记不会被使用。
returnFees写FreeReturn,同时又写了returnShippingFeesAmount。免费退货和顾客自付两种情况都不写金额。- 给加拿大站写
addressRegion区分省份。Google 只在美国、澳大利亚、日本支持州省代码,加拿大要用邮编。 - 只写会员运费,没有普通运费。用了
validForMemberTier的运费服务,旁边要有至少一个非会员服务。 - 以为欧洲子站加了会员计划标记就能展示。展示范围内的欧洲国家只有法国、德国和英国。
怎么检查
一、用富媒体搜索结果测试检查政策页,确认 OnlineStore 下的 MerchantReturnPolicy、ShippingService、MemberProgram 被识别且没有严重错误。
二、在商品页源代码里找 hasMerchantReturnPolicy 和 shippingDetails,确认引用的 @id 与政策页上的 @id 逐字一致,包括协议、域名和 # 后缀。
三、打开 Merchant Center 的退货和运费设置、Search Console「设置 > 购物」,记下已配置的政策。已有设置的国家,标记只作为备用;要改展示内容,改设置而不是改标记。
四、对照政策页正文核对标记里的天数、费用、门槛金额,标记要与页面上写的政策一致。
来源
- Merchant return policy (MerchantReturnPolicy) structured data,https://developers.google.com/search/docs/appearance/structured-data/return-policy(2026-10-05 核对)
- Merchant shipping policy (ShippingService) structured data,https://developers.google.com/search/docs/appearance/structured-data/shipping-policy(2026-10-05 核对)
- Loyalty program (MemberProgram) structured data,https://developers.google.com/search/docs/appearance/structured-data/loyalty-program(2026-10-05 核对)
- Organization (Organization) structured data,https://developers.google.com/search/docs/appearance/structured-data/organization(2026-10-05 核对)
- Merchant listing (Product, Offer) structured data,https://developers.google.com/search/docs/appearance/structured-data/merchant-listing(2026-10-05 核对)
- Latest documentation updates(2025-06-10、2025-06-17、2025-07-11、2025-11-12 条目),https://developers.google.com/search/updates(2026-10-05 核对)
