Google Shopping

Version v2.14.0
Platform Magento 2
Last Updated 21 May 2026

Loyalty Program Feed for Google Shopping

Looking for Magento 2 Google Shopping feed? View the full Magento 2 Google Shopping feed page to explore features, configuration options, and pricing.

How to add Google Merchant Center loyalty program pricing to your feed with the Google Shopping Feed extension. Show member-only prices and loyalty points on your Shopping ads so logged-in members see the deals they qualify for. This guide explains what the loyalty program node is, how the configuration grid works, and how to map your member pricing to product attributes.

What Is a Loyalty Program in Google Shopping?

Google Merchant Center lets you advertise member-only benefits next to your regular Shopping ads. When a product carries loyalty data, the feed includes a <g:loyalty_program> node that tells Google:

  • The program and tier a benefit belongs to (for example "Silver" members)
  • A member price that differs from the regular price
  • The number of loyalty points the product earns
  • The date range the member price is valid for

Members who are signed in to your loyalty program then see the member price and points directly in Shopping results.

Requirements

Before the feed data has any effect:

  1. Google Merchant Center account with products approved
  2. Loyalty program set up in Merchant Center - Under Growth → Loyalty program, create your program and its tiers
  3. Matching labels - The program and tier names you enter in Magento must match exactly what you configured in Merchant Center
  4. Product data - The products that should carry a benefit need attributes holding the member price and/or loyalty points

For Google's policy and field reference, see Google's loyalty program documentation.

How It Works

The loyalty feature uses a configuration grid. Each row defines one loyalty tier and is split into two kinds of fields:

  • Static labels - The Program Label and Tier Label are typed once and are the same for every product the row applies to.
  • Mapped attributes - The member price, loyalty points and effective date are read per product from the attribute you choose, so each product can carry its own values.

A <g:loyalty_program> node is only added to a product when that product actually has a benefit - that is, it has a value in the mapped member price or loyalty points attribute. Products with no member benefit are left untouched, so you can configure a single row for your whole catalog and only the products with member pricing get the node.

Configuration

Location: Stores → Configuration → Magmodules → Google Shopping → Additional Configuration → Loyalty Program

This setting is per store view, so configure it on the same scope you generate the feed for.

Click Add to create a row and fill in the columns:

Column What it is Goes into feed as
Program Label The program ID exactly as set in Merchant Center g:program_label
Tier Label The tier ID exactly as set in Merchant Center g:tier_label
Member Price Attribute Product attribute holding the member price g:price
Loyalty Points Attribute Product attribute holding the loyalty points g:loyalty_points
Member Price Effective Date Attribute Product attribute holding the validity range g:member_price_effective_date

Program Label and Tier Label are required - rows missing either are dropped when you save. Add more rows if you run multiple tiers (for example Silver and Gold), then Save Config.

Preparing Product Attributes

The price, points and date columns reference existing product attributes by their code. Decide which attribute holds each value, then make sure those attributes exist and are populated on the relevant products.

Value Suggested attribute type Notes
Member price Price or decimal The raw number, for example 19.99. The currency is added automatically.
Loyalty points Text or integer Exported as-is, for example 150.
Effective date Text Use Google's date-range format (see below).

You can reuse stock attributes (for example cost) or create dedicated ones under Stores → Attributes → Product. Only products that have a value in the member price or loyalty points attribute receive a loyalty node.

Effective Date Format

The effective date is a start/end range separated by a slash, using ISO 8601 timestamps:

2025-01-01T00:00:00+0000/2025-12-31T23:59:59+0000

The value is exported exactly as stored, so enter it in this format on the product.

Example Feed Output

A product with member pricing produces a node like this inside its item:

<g:loyalty_program>
  <g:program_label>my_loyalty_program</g:program_label>
  <g:tier_label>silver</g:tier_label>
  <g:price>19.99 EUR</g:price>
  <g:loyalty_points>150</g:loyalty_points>
  <g:member_price_effective_date>2025-01-01T00:00:00+0000/2025-12-31T23:59:59+0000</g:member_price_effective_date>
</g:loyalty_program>

The member price is formatted with the store's feed currency automatically. If a product has only points (no member price), the g:price line is omitted, and the other way around - only the values that exist are written.

Best Practices

Do's

✅ Match the Program Label and Tier Label to Merchant Center exactly, including case
✅ Store the member price as a plain number and let the feed add the currency
✅ Use a dedicated attribute for member price so it never clashes with regular pricing
✅ Keep the effective date in the slash-separated ISO 8601 range format
✅ Configure the grid on the store view you actually export

Don'ts

❌ Don't include a currency symbol in the member price attribute
❌ Don't expect a node on products that have no member price or points - that is by design
❌ Don't leave Program Label or Tier Label blank, the row will be dropped on save
❌ Don't rename the mapped attribute without updating the grid

Common Scenarios

Single Tier for the Whole Catalog

Use case: One membership level, member prices set on a handful of products.

Configuration:

  • Program Label: your program ID
  • Tier Label: your single tier ID
  • Member Price Attribute: your member price attribute

Result: Every product that has a member price gets a node; everything else is skipped.

Multiple Tiers

Use case: Silver and Gold members with different pricing.

Configuration:

  • Row 1: Tier Label silver, mapped to a silver-price attribute
  • Row 2: Tier Label gold, mapped to a gold-price attribute

Result: Products carrying values for both attributes get two loyalty nodes, one per tier.

Troubleshooting

No Loyalty Node in the Feed

Symptoms: Products you expected to carry a benefit have no <g:loyalty_program> node.

Solution:

  1. Confirm the product has a value in the mapped member price or loyalty points attribute - a node is only emitted when one of these exists
  2. Check the configuration was saved on the store view you generate the feed for
  3. Flush the configuration cache and regenerate the feed
  4. Verify the attribute is included in the attribute set assigned to the product

Prevention: Populate the member price attribute before generating the feed.

Member Price Missing but Points Show

Symptoms: The node appears with points but no g:price.

Solution: The member price attribute is empty for that product. Add a numeric value to it. The price line is only written when a member price exists.

Merchant Center Rejects the Loyalty Data

Symptoms: Loyalty pricing is disapproved or ignored in Merchant Center.

Solution:

  1. Make sure the Program Label and Tier Label match your Merchant Center program and tier exactly
  2. Confirm the loyalty program is active in Merchant Center
  3. Check the effective date uses the correct ISO 8601 range format

Wrong Currency on the Member Price

Symptoms: g:price shows an unexpected currency.

Solution: The currency follows the store's feed currency. Store only the number in the attribute and let the feed format it; adjust the store currency if needed.

Loyalty Program Checklist

Before submitting:

  • Loyalty program and tiers created in Merchant Center
  • Program Label and Tier Label match Merchant Center exactly
  • Member price attribute populated with plain numbers
  • Loyalty points attribute populated where relevant
  • Effective date uses the slash-separated ISO 8601 range
  • Configuration saved on the correct store view
  • Feed regenerated and node verified

Need More Help?

Documentation:

Support:

For a complete overview of features and configuration options, see Magento 2 Google Shopping feed.

Article Updated:
star star star star star
star star star star star
Gaaf - digital agency
We have tried the integration with SnelStart through several different providers, and this is the only solution that simply works. We needed support on two occasions, and it was provided quickly and professionally. We do recommend this company!
Google 12 May 2026
star star star star star
star star star star star
Andrew Velikiy
Great vendor with handy modules and quick support!
Google 13 Apr 2026
star star star star star
star star star star star
Alexandru-Manuel Carabus
Magmodules sets the bar for Magento module quality and support—we check their catalog first for client feature requests, and they’re our first choice for licenses.
Google 11 Nov 2025
star star star star star
star star star star star
Matt Austin
Possibly the fastest support response times of any Magento Extension vendor. Great extensions too!
Google 09 Sep 2025
star star star star star
star star star star star
Jan Privé
Dankzij de heldere uitleg en snelle reactie van Magmodules kon mijn vraag, en dus mijn Magento-probleem, binnen enkele uren worden beantwoord. Doeltreffend, zonder moeilijke termen, gewoon zo als het zou moeten zijn.... Bedankt!
Google 05 Sep 2025
star star star star star
star star star star star
Denis Metzler
To evaluate a provider, it is not enough to consider only the product offered, but also its after-sales service, such as support and troubleshooting. Magmodules has been extremely satisfactory at all levels on multiple occasions and sets the bar at the top when comparing the competition.
Google 02 Sep 2025
star star star star star
star star star star star
Bleijenberg winkelinrichting en materialen
Goed bereikbaar, reageren snel en denken oplossingsgericht. Een aanrader.
Google 30 Jul 2025
star star star star star
star star star star star
Patrick Verduijn
Magmodules biedt plugins aan die van hoge kwaliteit zijn tegen een goede prijs, waar dit bedrijf in uitblinkt is de bereidheid om de zeldzame feedback & problemen met de plugins te willen onderzoeken, mee te willen denken in het debuggen van problemen en goede oplossingen toe te passen. In mijn decennium ervaring met Magento & 3th parties is Magmodules absoluut een uniqum binnen de markt.
Google 25 Jul 2025
star star star star star
star star star star star
Erik de Groot
Magemodules heeft hele sterke Magento extensies en een proactieve support. Al jaren heel erg tevreden over jullie service en producten!
Google 18 Jul 2025
star star star star star
star star star star star
René Zeuner
We are using the Mollie Magento extension from Magmodules. It works excellently without flaws. Very fast, competent and friendly support. Thanks!
Google 30 Jun 2025