Missing Subscription Cost
subscription_cost is a structured attribute for products sold on a subscription basis. It tells Google the billing period (month, year, week) and the recurring cost. Without it, shoppers see only the first payment amount and may be surprised by recurring charges — a trust-breaking experience. Google uses subscription_cost to properly display 'Starting at $X/month' or 'From $X/year' in Shopping results, setting correct expectations before shoppers click.
Missing value [subscription_cost]Impact: Missing subscription_cost on subscription products causes pricing confusion and can lead to disapproval. Without clear subscription pricing, Google can't display accurate total costs to shoppers, and your products may be shown with unclear recurring charges. For subscription-based businesses (SaaS, boxes, memberships), this is critical for trust and conversion.
Root Causes
- 1Your feed submits the initial price but doesn't include subscription_cost structure for recurring products.
- 2Products sold via subscription apps (Recharge, Bold Subscriptions, Stripe Billing) have recurring pricing logic in the app but this isn't extracted into the feed.
- 3Subscription products are treated as one-time purchases in the feed, missing the recurring nature entirely.
- 4No structured data for billing period (monthly, yearly) is captured in the product metadata.
- 5Mixed catalog with both one-time and subscription products — feed doesn't differentiate.
Fix by Platform
- 1For Shopify stores with subscriptions via Shop Pay Installments or subscription apps (Recharge, Bold, Appstle): the subscription data usually lives in the app.
- 2Add subscription_cost metafield: Settings → Custom data → Products → Add definition. Namespace: 'google', Key: 'subscription_cost', Type: Multi-line text. Format: 'period_length:1, period:month, amount:29.99 USD'.
- 3Set values per subscription product. The structure is period_length (number), period (month/year/week/day), amount (price with currency).
- 4In your feed app: map subscription_cost to this metafield. For Simprosys: Attribute Mapping → subscription_cost → Metafield.
- 5For mixed catalogs: only set subscription_cost on subscription products. Leave blank for one-time products.
{% if product.metafields.google.subscription_cost %}
subscription_cost:
period: {{ product.metafields.google.subscription_cost.period }}
period_length: {{ product.metafields.google.subscription_cost.period_length }}
amount: {{ product.metafields.google.subscription_cost.amount }}
{% endif %}When This Doesn't Apply
Check your store now
Free compliance scan — 47 rules checked in minutes.
Frequently Asked Questions
What's the correct format for subscription_cost?+
A nested structure with three fields: period (string: 'month', 'year', 'week', 'day'), period_length (integer: 1, 2, 3, etc.), and amount (price with currency: '29.99 USD'). In XML: <g:subscription_cost><g:period>month</g:period><g:period_length>1</g:period_length><g:amount>29.99 USD</g:amount></g:subscription_cost>. In CSV: 'period_length:1, period:month, amount:29.99 USD'.
How do I handle free trials with subscriptions?+
Free trials are complex in Shopping. Google's subscription_cost represents the ongoing recurring charge. If you offer a free trial, the initial 'price' attribute should still reflect the first-charge price (what shoppers pay after trial), not $0. Use your product description to clearly explain the trial: 'Free 14-day trial, then $29.99/month'. Never submit a free trial price as the main price — it's misleading.
What if my subscription has multiple tiers (monthly, yearly)?+
Submit each billing tier as a separate product in your feed with its own ID. Both share the same item_group_id (so Google groups them). Each has its own subscription_cost and its own price. Example: 'SaaS Basic Monthly' (price: $29.99, subscription_cost: 1 month $29.99 USD) and 'SaaS Basic Yearly' (price: $299, subscription_cost: 1 year $299 USD) — shoppers can select the billing cycle.
Does Google Shopping support subscription ads?+
Yes, Google supports subscription-based product ads via Shopping. The subscription_cost attribute is specifically designed for this use case. Google displays 'Starting at $29.99/month' or 'From $299/year' in Shopping results, making it clear to shoppers that the product is a recurring subscription before they click. This transparency improves both conversion rate and post-purchase trust.