Search
Clear search
Close search
Google apps
Main menu

Merchant Promotions Feed Formatting and Attributes

This article provides answers to common questions about creating, submitting, and updating your promotion feed. 

Your Promotions feed tells Google which promotions to distribute on Product Shopping ads on Google.com and Google Shopping. 

What fields of the Promotions feed (feed attributes) are required?

Listed below are the required feed attributes:

  • promotion_id
  • product_applicability
  • offer_type
  • long_title
  • promotion_effective_dates
  • redemption_channel

Visit our Promotions feed specification for more details and guidelines.

Why am I getting a "server error" message when I'm uploading my Promotions feed?

There are 2 main reasons for “server error” messages:

  1. The promotion_effective_date attribute value is incorrect. For detailed information about the format of promotion start and end times, visit the Promotions feed specification article.
  2. The feed template is outdated. Use the current feed template.
How do I create a promotion?

Create a promotion with the Promotion tool in the Promotions dashboard of your Merchant Center or with a Promotions feed. See the page on how to create and submit promotions for more information and view a sample feed. Your Promotions feed must follow the Promotions feed specification, Editorial requirements, and Program policies

How do I change a promotion?

If your promotion policy status is still under review or has been disapproved for policy,  edit your promotion using one of these methods:

  1. Use the Promotion tool: Fill in the promotion form with the same promotion_id and the corrected promotion information, and then submit the form.
  2. Use your existing Promotions feed: Update your existing Promotions feed and re-upload the Promotions feed to your registered Promotions data feed in Merchant Center. Another option is to submit an additional Promotions feed with only the new promotions. There is no need to change the promotion_id.

If your promotion policy status is already approved: You can't edit a promotion that has already been approved during policy review and/or validation review. You must submit a new promotion with a new promotion_id

How does Google use the attributes in the feed?

Some attributes, like the generic_redemption_code, are directly reflected in the display of your promotion. Other attributes work in the background to determine where your promotion should be displayed, like the promotion_effective_dates and product_applicability attributes. When you create a feed, submit the required attributes, plus any conditional attributes that apply to your promotions. See the Merchant Promotions feed specifications for specific functions of each attribute.

Can I include multiple promotions for the same product in my products feed?

Yes, you may submit multiple promotions for each product in your products feed. Submit the values separated by commas in a tab-delimited file or as unique rows within your XML file. See examples in the table below:

Feed type Instructions Example
.txt To add multiple promotion_id's to an item, submit the values separated by commas in the promotion_id column. See example. Replace "PROMO1," "PROMO2," and "PROMO3" with the actual promotion_id's. PROMO1,PROMO2,PROMO3
XML To add multiple promotion_id's to an item, insert multiple lines. See example. Replace "PROMO1" and "PROMO2" with the actual promotion_id's. <g:promotion_id>PROMO1</g:promotion_id>
<g:promotion_id>PROMO2</g:promotion_id>
API To add multiple promotion_id's to an item, insert multiple lines. See example. Replace "PROMO1" and "PROMO2" with the actual promotion_id's. <sc:attribute name="promotion_id">PROMO1</sc:attribute>
<sc:attribute name="promotion_id">PROMO2</sc:attribute>

Note: Up to 10 promotion_ids can be mapped to one item in the products feed. Google Shopping shows up to 5 promotions per item. Promotions are prioritized by product_applicability such that SPECIFIC_PRODUCTS are prioritized before  ALL_PRODUCTS. Google.com only shows one promotion, by product_applicability.

How many promotions are displayed at one time?

Up to 10 promotion_ids can be mapped to one item in the products feed. Google Shopping shows up to 5 promotions per item. The order the promotions appear are organized by product_applicability; promotions with SPECIFIC_PRODUCTS product_applicability are prioritized before promotions with ALL_PRODUCTS product_applicability
Google.com will only show one promotion. The one that is shown is also prioritized by product_applicability

Can I recycle a promotion_id?

If the promotion was rejected during policy review and not stopped, the promotion_id may be reused. If the promotion is already approved for policy or is stopped, the promotion_id can't be reused. 
When do I need to add a promotion_id to the products feed?
If the promotion applies to SPECIFIC_PRODUCTS, add the promotion_id to the promotion_id column in the products feed for each product to which the promotion applies. The promotion will be rejected if the promotion_id is not mapped in the products feed.
What is the difference between the promotion_effective_dates and promotion_display_dates attributes and why is it beneficial to use both?
  • promotion_display_dates: when the promotion is available to the public
  • promotion_effective_dates: when the promotion can be tested on your website

Use both attributes to allow your promotion to go through the validation review in advance of its public display date. 


To use this method, specify a start time for the promotion_effective_dates attribute that’s earlier than the promotion_display_dates attribute. Google will start the test process on the date you specify in your promotion_effective_dates. Make sure your promotion can be tested and works on your website as described). If your promotion is approved, it’ll go live when the promotion_display_dates start time begins.

Note: The promotion_display_dates attribute can only be used for the Promotions feed. The Promotion tool can only use promotion_effective_dates.

Was this article helpful?
How can we improve it?