Use the returns [returns] attribute to configure your return policy at the product level rather than your account level. You can use this attribute to override any account-level return policy you have set in Merchant Center or to specify return details directly in your product feed.
On this page
When to use
Optional for each product, but highly recommended.
Merchant Center supports up to 100 return policy overrides per offer. If you create offer-level returns, you don’t need to configure an account-level return policy for those offers. Providing accurate return information improves the coverage of your return window and return cost across Google, leading to increased customer trust and quality merchant growth.
Sub-attributes
The returns [returns] attribute is complex and consists of several sub-attributes:
- Country
[country](Required): String, the country code for which this return policy applies, for example, “US”. - Item condition
[item_condition](Required): String, the condition of the product that’s accepted for return.- Supported values: New
NEW, like newLIKE_NEW, usedUSED, defective onlyDEFECTIVE_ONLY
- Supported values: New
- Window days
[window_days](Optional, Required if[window_type]isFINITE_RETURN_WINDOW): Integer, the number of days a customer has to return the product. - Window type
[window_type](Optional): String, the type of return window available for a product.- Supported values: Finite return window
FINITE_RETURN_WINDOW, no returnsNO_RETURNS, lifetimeLIFETIME - Note: If not set, the default return window type is
FINITE_RETURN_WINDOW.
- Supported values: Finite return window
- Method
[method](Required): String, how the item is physically returned.- Supported values: By mail
BY_MAIL, in storeIN_STORE, at a kioskAT_A_KIOSK, drop off locationDROP_OFF_LOCATION
- Supported values: By mail
- Outcome
[outcome](Optional): String, the outcome of the return. For example, a customer is given store credit.- Supported values: Refund
REFUND, exchangeEXCHANGE, store creditSTORE_CREDIT
- Supported values: Refund
- Shipping fee
[shipping_fee](Required): String, the cost of return shipping for the product. Numeric cost + valid ISO 4217 currency.- Note: If not set, the default return shipping cost is 0.
- Shipping fee type
[shipping_fee_type](Optional, Required if[shipping_fee]is submitted): String, how the return shipping fee is paid.- Supported values: Deducted from refund
DEDUCTED_FROM_REFUNDwhen shipping cost is deducted from the refund amount, customer responsibilityCUSTOMER_RESPONSIBILITYwhen customers are responsible for paying out of pocket for shipping
- Supported values: Deducted from refund
- Restocking fee
[restocking_fee](Optional): String, any restocking fee associated with the return. Numeric cost + valid ISO 4217 currency.- Note: If not set, the default restocking fee is 0. Submit only one of
restocking_feeorrestocking_percentage_fee.
- Note: If not set, the default restocking fee is 0. Submit only one of
- Restocking percentage fee
[restocking_percentage_fee](Optional): Float, the percentage of the return deducted as a restocking fee.- Note: Submit only one of
restocking_feeorrestocking_percentage_fee.
- Note: Submit only one of
- Policy url
[policy_url](Optional): String, the url linking the exact return policy for the product. The url must be included on the product description page for the associated product.
Format
Follow these formatting guidelines to make sure Google understands the data you're submitting. Learn more on how to Submit attributes and attribute values.
| File format | Example value |
| Text feeds |
Note: TSV (tab separated) text file is recommended. Header: Format the attribute header by including the sub-attributes you’re submitting. Include returns Value: Format the value by submitting the value of each sub-attribute listed in the same order as in the header and separated by a colon ( For example, to submit country, window days, method, and outcome: Header: Possible value: If you name the sub-attributes you're using in the header, you can give them to us in any order. However, if you don’t name them (and only provide the attribute name), we’ll assume that your attribute values include the required sub-attributes in this order:
For example, to only submit country, window days, item condition, method, and shipping fee: Header: Possible value: If you don’t need to provide an optional sub-attribute for some products or attribute values, then still add a colon ( Header: Possible values: Note: Always provide the same number of sub-attributes as you are submitting in the header. Missing sub-attributes in the header will lead to formatting errors and you will find a warning "Invalid format for sub-attributes |
| XML feeds | <g:returns> |
Minimum requirements
These are the requirements you'll need to meet to show your product. If you don't follow these requirements, we'll disapprove your product and let you know in your Merchant Center account.
- Submit accurate values: Make sure the values provided exactly match the return policies as indicated on your website.
- Don’t exceed the 100 overrides limit: You can submit up to 100 offer-level return overrides per product. Don’t exceed this limit.
- Use supported formats: Carefully format prices with numeric values and correct ISO 4217 currency codes. Follow exact capitalization for categorical text strings.
Best practice
This best practice can help you go beyond the basic requirements to optimize your product data for performance.
- Use offer-level overrides sparingly: While you can override return policies at the offer level, configuring return policies at the account level in Merchant Center will be easier to manage for large portions of your catalog.
Examples
Text formatting
For a product return policy with a return window of 90 days for all product conditions, no return shipping fee, available for in-store and mail returns, that provides either a refund or an exchange:
| Attribute name | returns(country:window_days:method:method:outcome:outcome) |
| Possible value | US:90:IN_STORE:BY_MAIL:REFUND:EXCHANGE |
Note: The shipping_fee isn't included, which indicates a value of 0.00 USD.
For a product return policy with a return window of 90 days for new or damaged items, free in-store returns, providing refunds, and store credit:
| Attribute name | returns(country:window_days:item_condition:item_condition:method:outcome:outcome) |
| Possible value | US:90:NEW:DEFECTIVE_ONLY:IN_STORE:REFUND:STORE_CREDIT |
For a product return policy with a return window of 30 days for new items, mail-in returns, a shipping fee, and a restocking fee:
| Attribute name | returns(country:window_days:item_condition:method:shipping_fee:shipping_fee_type:restocking_fee:outcome) |
| Possible value | DE:30:NEW:BY_MAIL:8.00 EUR:DEDUCTED_FROM_REFUND:5.00 EUR:REFUND |
For a product return policy with a return window of 30 days for new items, free in-store returns, a shipping fee for mail-in returns, and a restocking fee:
| Attribute name | returns(country:window_days:item_condition:method:shipping_fee:shipping_fee_type:restocking_fee:outcome) |
| Possible values |
|