Add checkout to your products on Google Merchant Center

Topic summary

Google Merchant Center now allows merchants to add direct checkout/cart links to product listings, requiring a specific URL structure. The discussion centers on determining the correct format for Shopify stores.

Recommended URL Structure:

  • Most commonly successful: https://yourdomain.com/cart/{id}:1
  • Alternative that works for some: https://www.yourdomain.com/cart?item_id={id}
  • The {id} placeholder should remain as-is in Google Merchant Center UI; Google automatically populates it with variant IDs
  • The variant ID is the last segment of Shopify product IDs (format: shopify_US_123456789_123456789)

Common Issues & Solutions:

  • “Missing required parameter: {id}” error often occurs when testing with actual variant IDs instead of leaving {id} as placeholder
  • Adding www. to the domain resolves issues for some users
  • Products must be in stock for validation to succeed
  • Installing the Google & YouTube sales channel app and connecting via API helps establish proper connection
  • If default structure fails, merchants may need to manually submit checkout URLs in the product feed

Current Status:
While many users report success with domain.com/cart/{id}:1, others continue experiencing validation errors. The issue appears related to product ID format, inventory status, or account configuration rather than a universal solution. Some users report blank pages or redirect issues even when Google’s test function passes.

Summarized with AI on October 31. AI used: claude-sonnet-4-5-20250929.

The checkout URL’s work correctly. If it does not work, that means the ID is wrong.

The ID needs to be the variant ID.

Or if you are submitting a Shopify ID, that looks like shopify_US_12345678_123456789, then Google will automatically choose the last part of the id for the cart.

I have set this up with many shopify accounts, so if it doesn’t work, it generally means you have not done something correct or the id is not a SHopify ID, but an SKU instead.