In short. Describe the program with MemberProgram under Organization, list its MemberProgramTier objects, and connect product benefits through validForMemberTier.
Definition: A merchant loyalty program is described with
MemberProgramstructured data nested under the business'sOrganizationmarkup. ItsMemberProgramTierobjects describe membership levels, their benefits and their joining requirements.
Key facts
- As of 17 October 2026, Google's loyalty program documentation requires
name,descriptionandhasTiersfor a program, plusnameandhasTierBenefitfor each tier. A program has at least one tier. - Schema.org's
MemberProgramTierdefinition describes a tier within a loyalty program and provideshasTierRequirementfor joining conditions such as a periodic fee or minimum spending. - Google's merchant listing documentation places product-specific member prices and points in
UnitPriceSpecificationobjects under anOffer, which describes a product offer.
Where does the program markup go?
Google's technical guidelines place MemberProgram under Organization on the page describing the business's administrative details and policies. The hasMemberProgram property connects the business to its program; hasTiers contains the membership levels.
JSON-LD expresses structured data as JSON in a page's script element. This adapted version of Google's example retains its silver tier and points rate, with a shortened description. The example names and URLs are placeholders for the merchant's actual details.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "OnlineStore",
"hasMemberProgram": {
"@type": "MemberProgram",
"name": "Membership Plus",
"description": "Members earn loyalty points.",
"url": "https://www.example.com/membership-plus",
"hasTiers": [
{
"@type": "MemberProgramTier",
"@id": "#plus-tier-silver",
"name": "silver",
"url": "https://www.example.com/membership-plus-silver",
"hasTierBenefit": [
"https://schema.org/TierBenefitLoyaltyPoints"
],
"membershipPointsEarned": 5
}
]
}
}
</script>
At tier level, membershipPointsEarned describes points earned per currency unit spent. The example therefore describes five points per currency unit.
Which tier properties does Google support?
Google's tier property definitions require hasTierBenefit to identify the benefit. Supported values are TierBenefitLoyaltyPoints and TierBenefitLoyaltyPrice; the full schema.org URLs and short names are accepted. A tier can list multiple benefits. For a points benefit, the documentation also instructs merchants to supply membershipPointsEarned.
The recommended hasTierRequirement property describes eligibility. Google specifies these value types:
| Type | Joining requirement |
|---|---|
CreditCard | The shopper signs up for the named card. |
MonetaryAmount | The shopper meets a minimum spending amount. |
UnitPriceSpecification | The shopper pays a periodic membership fee. |
Text | Another requirement is described in words. |
When hasTierRequirement is omitted, Google interprets the tier as free for anyone to join. The recommended tier url points to its signup page and accepts a single URL.
How do product benefits connect to a tier?
Google's member pricing guidance uses validForMemberTier inside a product's UnitPriceSpecification to identify the applicable tier. For a tier defined on the business information page, its @id supplies the reference. The product offer also supplies the current regular price through price or priceSpecification.
For product-specific rewards, membershipPointsEarned records the whole number of points earned with that purchase and is used together with validForMemberTier. Google labels this product-level points property as beta.
Related terms
FAQ
Can I configure the program in Merchant Center?
Yes. Google's loyalty program guide offers Merchant Center as an alternative to markup. If you provide both, Google uses the Merchant Center settings.
Must I provide a program signup URL?
Google recommends a single program url. If you omit it, Google assumes the URL of the page containing the MemberProgram markup.
How do I check the implementation?
Google's implementation workflow directs you to validate with the Rich Results Test and fix critical errors. After deployment, use URL Inspection to check Google's access, including robots.txt restrictions, noindex and login requirements.
Sources
- Google Search Central, "Loyalty program (MemberProgram) structured data", 8 September 2026
- Google Search Central, "Merchant listing (Product, Offer) structured data", 8 September 2026
- Schema.org, "MemberProgramTier", undated
Check how a page reads to answer engines. Open the GEO score analyzer