On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

hasMemberProgram

hasMemberProgram · Recommended

Appears in

Organization

What is it?

hasMemberProgram describes a loyalty or membership program offered by an organization. It links an Organization to a MemberProgram node that captures the program name and any associated membership tiers.

Google lists this field as recommended for Organization markup, which means it actively uses this information in search features. Examples include airline frequent flyer programs, retail rewards clubs, and subscription-based membership programs.

Why this matters for AEO

Loyalty program membership is a topic users ask about directly in both search and AI assistant contexts. "Does Costco have a membership program?" or "what are the benefits of the Amazon Prime membership?" are exactly the kinds of queries where an AI engine pulls from structured data first. An organization with hasMemberProgram markup gives the AI a structured, authoritative answer rather than requiring inference from unstructured marketing copy.

For retail, hospitality, airlines, and subscription businesses, loyalty programs are a significant differentiator. Structured markup ensures AI engines can accurately describe your membership offering and tier structure to users comparing options.

What the specs say

Schema.org:hasMemberProgram expects a MemberProgram value. A MemberProgram offered by an Organization, for example an eCommerce merchant or an airline. [Source: https://schema.org/hasMemberProgram]

Google: Recommended. "A member (loyalty) program that you provide, if applicable." [Source: https://developers.google.com/search/docs/appearance/structured-data/organization]

MemberProgram structure

A MemberProgram node should include:

  • @type"MemberProgram"
  • name — Program name (e.g., "Amazon Prime")
  • url — Program landing page
  • hasTier — One or more MemberProgramTier nodes

A MemberProgramTier node includes:

  • @type"MemberProgramTier"
  • name — Tier name (e.g., "Gold", "Silver")
  • url — Tier-specific landing page

How to find your value

  • Use your loyalty program's official name exactly as marketed.
  • Include tier names only if the program has distinct membership levels with different benefits.
  • Link to the official program enrollment or overview page.

Format and code

Simple program (no tiers)

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "REI",
  "hasMemberProgram": {
    "@type": "MemberProgram",
    "name": "REI Co-op Membership",
    "url": "https://www.rei.com/membership"
  }
}

Program with tiers (airline example)

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "United Airlines",
  "hasMemberProgram": {
    "@type": "MemberProgram",
    "name": "MileagePlus",
    "url": "https://www.united.com/ual/en/us/fly/mileageplus.html",
    "hasTier": [
      {
        "@type": "MemberProgramTier",
        "name": "Premier Silver",
        "url": "https://www.united.com/ual/en/us/fly/mileageplus/premier/silver.html"
      },
      {
        "@type": "MemberProgramTier",
        "name": "Premier Gold",
        "url": "https://www.united.com/ual/en/us/fly/mileageplus/premier/gold.html"
      },
      {
        "@type": "MemberProgramTier",
        "name": "Premier Platinum",
        "url": "https://www.united.com/ual/en/us/fly/mileageplus/premier/platinum.html"
      },
      {
        "@type": "MemberProgramTier",
        "name": "Premier 1K",
        "url": "https://www.united.com/ual/en/us/fly/mileageplus/premier/1k.html"
      }
    ]
  }
}

Retail rewards program

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Sephora",
  "hasMemberProgram": {
    "@type": "MemberProgram",
    "name": "Beauty Insider",
    "url": "https://www.sephora.com/beauty/loyalty-program",
    "hasTier": [
      {
        "@type": "MemberProgramTier",
        "name": "Insider"
      },
      {
        "@type": "MemberProgramTier",
        "name": "VIB"
      },
      {
        "@type": "MemberProgramTier",
        "name": "Rouge"
      }
    ]
  }
}

Multiple programs

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Amazon",
  "hasMemberProgram": [
    {
      "@type": "MemberProgram",
      "name": "Amazon Prime",
      "url": "https://www.amazon.com/prime"
    },
    {
      "@type": "MemberProgram",
      "name": "Amazon Business Prime",
      "url": "https://www.amazon.com/b2b/prime"
    }
  ]
}

Webflow implementation

Static pages

Add hasMemberProgram to the Organization JSON-LD block in Page Settings > Custom Code. Since loyalty programs typically have stable names and tiers, hardcoding is appropriate. Update the block if you add or rename tiers.

CMS template pages

For organizations that manage multiple brand loyalty programs through a CMS, create a Programs collection. In the organization's page template, reference the collection item and inject program name and tiers dynamically into the JSON-LD block via a custom code embed.

In Schema HQ

The hasMemberProgram field configures hasmemberprogram in the organization editor as a recommended field. enter the program name and url. tier data can be added as nested entries. schema hq serializes the complete memberprogram structure into valid json-ld. is supported

Real examples

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Marriott International",
  "url": "https://www.marriott.com",
  "hasMemberProgram": {
    "@type": "MemberProgram",
    "name": "Marriott Bonvoy",
    "url": "https://www.marriott.com/loyalty.mi",
    "hasTier": [
      {
        "@type": "MemberProgramTier",
        "name": "Member"
      },
      {
        "@type": "MemberProgramTier",
        "name": "Silver Elite"
      },
      {
        "@type": "MemberProgramTier",
        "name": "Gold Elite"
      },
      {
        "@type": "MemberProgramTier",
        "name": "Platinum Elite"
      },
      {
        "@type": "MemberProgramTier",
        "name": "Titanium Elite"
      },
      {
        "@type": "MemberProgramTier",
        "name": "Ambassador Elite"
      }
    ]
  }
}

Related fields

FAQ

What counts as a member program?

Any structured loyalty, rewards, or membership system qualifies. This includes airline frequent flyer programs, retail points programs, subscription memberships like Amazon Prime, co-op memberships like REI, and tiered professional programs. A simple newsletter signup does not qualify.

Should I include free membership tiers alongside paid tiers?

Yes. Free entry-level tiers (like Sephora's "Insider" or United's basic MileagePlus membership) are part of the program structure and should be included. They are often the most relevant tier for users deciding whether to sign up.

Is hasMemberProgram required for e-commerce organizations?

No. Google marks it as recommended rather than required, and only applies it when the field is applicable. Organizations without a formal loyalty program should omit the field rather than leave it empty or add a placeholder value.

On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
Generate schema for your site with Schema HQ

Get Early Access

Get Early Access

Need help with schema on your site?

We implement structured data for Webflow sites — from audit to deployment.

Work with us

Work with us