# Upload Product Promotion Files

The *Product Promotions* feature lets you share special offers and promotions with partners. These offers appear in partner product feeds, product APIs, and impact.com’s product marketplace, where a *Special offer* tag displayed directly on the product tile in search results.

{% hint style="warning" %}
**Important:** You'll need to have an active product catalog before you can begin. For help creating your first product upload, see [Add Product Catalogs](/brand/what-would-you-like-to-learn-about/platform-features/product-catalogs/add-product-catalogs-as-a-brand.md).
{% endhint %}

#### Upload a promotion file

{% tabs %}
{% tab title="Direct Upload" %}

1. From the left navigation menu, select ![](/files/CDnwOBeIdds9r3Z6zTnO) **\[Engage] → Content → Products → Product Promotions**.
2. In the upper-right corner, select **Upload Promotion File**.
3. Enter your **Promotion File Name**.
4. Select the ![](/files/euLscWwm8UMCxhYcoHCx) **\[Radio button]** **Direct Upload** method.
5. Select the file **Format**.
   * impact.com only supports *Google Merchant Center (TXT format)* i.e. `.txt` and *Google Merchant Center (CSV format)* i.e. `.csv` files.
   * Refer to the [*Product promotion feed field reference*](#para-idm73509110741608) below for more information on these fields.
6. Select **Choose File**.
   * Locate the file you want to upload from your computer.
7. Select your preferred **Language** and **Save**.
   {% endtab %}

{% tab title="Pull From URL" %}
This option supports pulling a file from an FTP/SFTP server or HTTP/HTTPS URL to ensure up-to-date promotion data.

1. From the left navigation menu, select ![](/files/CDnwOBeIdds9r3Z6zTnO) **\[Engage] → Content → Products → Product Promotions**.
2. In the upper-right corner, select **Upload Promotion File**.
3. Enter your **Promotion File Name**.
4. Select the ![](/files/euLscWwm8UMCxhYcoHCx) **\[Radio button]** **Pull From URL** upload method.
5. Select the file **Format**.
   * impact.com only supports *Google Merchant Center (TXT format)* i.e. `.txt` and *Google Merchant Center (CSV format)* i.e. `.csv` files.
   * Refer to the [*Product promotion feed field reference*](#para-idm73509110741608) below for more information on these fields.
6. Enter the **name** of your file under *Upload File Name*.
   * [View this template](https://docs.google.com/spreadsheets/d/1OUr9Hoc2DRnS3KnyXwAetcgtho76ftej/edit?usp=sharing\&ouid=106843525620835185016\&rtpof=true\&sd=true) for guidance when uploading your promotions.
7. Enter the **Pull URL** that points to the directory where your promotion data file exists.
   * This URL can be an FTP or HTTPS URL. E.g., `ftp://ftp.acme.com` or `https://acme.com/anvil_promotions/anvil.txt`
8. Select the **Fetch Frequency** for how often impact.com will fetch the file:
   * Daily
   * Every 8 hour(s)
   * Every 4 hour(s)
   * Every 2 hour(s)
9. Select the **Fetch Time** that impact.com will fetch the file.
   * Options displayed are in GMT -05:00 Eastern Time.
10. Select your **Time Zone**.
11. Select your preferred **Language** and **Save**.
    {% endtab %}
    {% endtabs %}

<details>

<summary>Product promotion feed field reference</summary>

| Expected fields                         | Required? | Description                                                                                          | Format                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| --------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ID `[promotion_id]`                     | Yes       | The unique ID of each promotion.                                                                     | This ID is in number format and should not contain spaces or symbols, e.g., `103330482`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Applicability `[product_applicability]` | Yes       | This attribute specifies if the promotion applies to all products or only to specific products.      | <p>Supported values:</p><p>• <code>all\_products</code></p><p>• <code>specific\_products</code></p><p><strong>Note:</strong> impact.com can only map the promotions in your <a href="https://support.google.com/merchants/answer/2906014?hl=en">Google promotions feed file</a> with specific products in your <a href="/pages/T85wNFaZYOy2XnKnZqBw">product catalog</a> if your product feed includes <code>promotion\_id</code>. In other words, you cannot have the <code>specific\_products</code> value if your product feed does not include promotion IDs.</p> |
| Description `[long_title]`              | Yes       | The full title of each promotion.                                                                    | The maximum length of the title is 60 characters. E.g., `Free mug with purchase`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Effective `[promotion_effective_dates]` | Yes       | The period for the promotion.                                                                        | <p>• The <strong>start</strong> and <strong>end</strong> dates are separated by a forward slash (/).</p><p>• The date format is (YYYY-MM-DD), followed by the letter ‘T’, the time of day when the sale starts or ends, and an expression of the time zone for the sale.</p><p>• Example: <code>2009-07-19T03:00:00+00:00/2009-07-26T21:00:00+00:00</code></p>                                                                                                                                                                                                        |
| Display `[promotion_display_dates]`     | No        | This attribute specifies the date and the time frame when the promotion will be live.                | The **start** and **end** dates are separated by a forward slash (/), e.g., `2009-07-19T03:00:00+00:00/2009-07-26T21:00:00+00:00`.                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Channel `[redemption_channel]`          | Yes       | This attribute indicates that the promotion is valid online or in-store.                             | <p>Supported values:</p><p>• <code>online</code></p><p>• <code>in\_store</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Offer Code Type `[offer_type]`          | Yes       | This attribute indicates whether or not a coupon code is required for customers to redeem the offer. | <p>Supported values:</p><p>• <code>no\_code</code></p><p>• <code>generic\_code</code></p><p><strong>Important:</strong> If the value for this attribute is <code>generic\_code</code>, then <code>generic\_redemption\_code</code> is required.</p>                                                                                                                                                                                                                                                                                                                   |
| Offer Code `[generic_redemption_code]`  | No        | This attribute specifies the code that can be used online to redeem the promotion.                   | The maximum length is 20 characters, e.g., `EXTRA20`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Destination `[promotion_destination]`   | No        | This attribute specifies the format of each promotion.                                               | <p>Supported values:</p><p>• <code>Shopping\_ads</code></p><p>• <code>Buy\_on\_Google\_listings</code></p><p>• <code>Free\_listings</code></p><p>To submit your promotion to one or more destinations, submit each destination value as a separate column.</p>                                                                                                                                                                                                                                                                                                        |

</details>

#### Troubleshoot error and warning messages

<details>

<summary>View errors and warnings</summary>

On the *Product Promotions* screen, under the *Health* column, select *errors* or *warnings* to see more information about the error, like the error type or error message. See [Manage Your Product Promotion Files](/brand/what-would-you-like-to-learn-about/platform-features/product-promotions/manage-your-product-promotion-files.md) for more information on the *Health* of your promotion file.

</details>

<details>

<summary>Search and filter errors</summary>

You can click into the file *errors* and *warnings* and use the search field and filters to sort through all the uploaded promotion file's errors.

*Error Type* filters include:

* All
* Warning
* Error
* Duplicate

</details>

<details>

<summary>Error and warning messages</summary>

| Error Message                                    | Explanation                                                                   |
| ------------------------------------------------ | ----------------------------------------------------------------------------- |
| Required field(s) missing:{Required field}       | One or more of the required fields are missing in the upload file.            |
| Records skipped due to an expired effective date | The promotion's effective end date is in the past and that record is skipped. |

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.impact.com/brand/what-would-you-like-to-learn-about/platform-features/product-promotions/upload-product-promotion-files.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
