> For the complete documentation index, see [llms.txt](https://integrations.impact.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://integrations.impact.com/integration-guides/for-brands/plugin-integrations/e-commerce/integrate-with-shopify/shopify-product-catalog.md).

# Shopify Product Catalog

Connect your Shopify product catalog to impact.com to automatically keep your product listings up-to-date. For new catalogs, connect using the impact.com Affiliate Marketing app. If you already have a custom app configured for your store, see [Connect using a custom app](#connect-using-a-custom-app-alternative).

{% hint style="success" %}
**Note:** If your Shopify account doesn't show the **Build apps in Dev Dashboard** option, see [Connect your Shopify product catalog using a legacy Admin API access token](/integration-guides/for-brands/plugin-integrations/e-commerce/integrate-with-shopify/shopify-product-catalog/connect-your-shopify-product-catalog-using-a-legacy-admin-api-access-token.md).
{% endhint %}

## Connect using the impact.com app (recommended)

Connecting with the [impact.com Affiliate Marketing](https://apps.shopify.com/impact-1) app is the recommended method. It uses the same app as full affiliate tracking. If you've already installed it on your store, you can skip straight to entering your Base URL below.

{% stepper %}
{% step %}

### Create a catalog asset on impact.com

1. [Sign in to your impact.com account](https://app.impact.com/login.user), then in the left navigation menu, select ![](https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FYxS3uZ6Kt4mghl3lawOo%2Fengage.svg?alt=media\&token=0a54f160-9774-471b-a53f-515e9088fa2f) **\[Engage] → Content → Products →** [**Product Catalogs**](https://app.impact.com/secure/advertiser/engage/ads/productcatalogs/manage-ads-product-catalog-flow.ihtml).
2. Select **Create Product Catalog Asset → Retail**.
3. Next to *Upload Method*, select **Integrated Shopping Cart Import**, then from the drop-down menu, select **Shopify**.
4. Next to *Shopify Authentication Version*, select **V3 - Impact App (Recommended)**.

<div data-with-frame="true"><figure><img src="https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2Fe1sBRb8EJTOMo6TJoVmm%2FScreenshot%202026-09-09%20at%2014.12.11.png?alt=media&amp;token=c77dfaf2-af4f-42d2-81f6-eca5dfc05f8c" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Install the impact.com app on your Shopify store

1. Select **Install Impact App**.
   * This opens the [impact.com Affiliate Marketing](https://apps.shopify.com/impact-1) app listing in the Shopify App Store.
   * If you've already installed this app on your store (for example, for affiliate tracking), you don't need to reinstall it, skip to step 3.
2. Follow the installation steps in [Install the impact.com app on your Shopify store](/integration-guides/for-brands/plugin-integrations/e-commerce/integrate-with-shopify.md#install-the-impactcom-app-on-your-shopify-store) to install the app.
3. Once installed, return to the *Create Product Catalog* screen in impact.com to complete the rest of the form.
   {% endstep %}

{% step %}

### Enter your Shopify store details

1. Enter the **Base URL** of your store, including the protocol (for example, [`https://my-example-store.myshopify.com`](https://my-example-store.myshopify.com/)).

<details>

<summary><strong>Collection ID</strong> [Optional]: expand to see instructions</summary>

Specify a Collection ID to filter your catalog by the products that are part of a Shopify collection.

* To retrieve a **Collection ID**, navigate to your Shopify Admin portal, select **Products → Collections → Create collection**.
* Once the collection has been saved, the Collection ID can be found in the URL of the page.
* You may specify more than one collection by entering a comma-separated list of Collection IDs (for example "14512, 15567, 12244") into the field.
* If this field is left blank then the entire Shopify catalog will be retrieved.

</details>

2. Optionally, to exclude product variants from the catalog, ![](https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2F0T9RELiV2Vhso91lBlhl%2Ftoggle%20off.svg?alt=media\&token=f84b1141-d64c-43f5-8557-85c8e9b00f2a) **\[Toggle off] Include Product Variants**.
3. Fill out the rest of the details for your product catalog, then select **Save**.
   {% endstep %}
   {% endstepper %}

## Connect using a custom app (alternative)

If you already have a custom app configured for your Shopify store, you can continue using it instead of installing the impact.com affiliate marketing app.

<details>

<summary>Show custom app connection steps (V2 - clientId &#x26; clientSecret)</summary>

You'll need your Shopify catalog URL and a few specific credentials from your Shopify site. You'll generate these credentials by setting up a custom app, a straightforward process that requires zero coding or technical expertise, before entering them into impact.com.

{% stepper %}
{% step %}

### Sign in to your Shopify Store Owner's account

1. Sign in using the primary store owner's account, not a third-party developer's account.
2. Check that your site is publicly available:
   * From the left navigation menu, select **Online Store** → **Preferences** → **Password protection**, and confirm that *Restrict access to visitors with a password* is ![](https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2F0T9RELiV2Vhso91lBlhl%2Ftoggle%20off.svg?alt=media\&token=f84b1141-d64c-43f5-8557-85c8e9b00f2a) **\[Toggled off]**.
     {% endstep %}

{% step %}

### Create a Custom App

Next, create a custom app in your Shopify store. The purpose of this app is to generate secure credentials that you can plug into impact.com to access the catalogs in your store.

1. From the left navigation menu, select ![](https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2Fw9TMqUcbLyK1wpg5qXGJ%2Fcog-solid.svg?alt=media\&token=681aa37d-712a-41a3-8b1e-ac848102127f) **\[Settings]** → **Apps**.
2. Select **Develop apps**.
   * If you don't see an option to develop apps at the top of your screen, ask your store administrator to [grant you the relevant permission](https://help.shopify.com/en/manual/apps/app-types/custom-apps).
3. From the *App development* screen, select **Build apps in Dev Dashboard**.

   * You will be redirected to your dev dashboard.

   <div data-with-frame="true"><figure><img src="https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FbrT3fttTn5h5Bnrzgw3G%2Fimage.png?alt=media&amp;token=a0148f73-73ec-4630-a975-67d8e348ea9c" alt="" width="560"><figcaption></figcaption></figure></div>
4. In the left navigation panel, ensure you've selected **Apps**.
5. In the top-right, select **Create app**.
6. Name your app, then select **Create**.
7. Configure your app:
   1. Below *URLs*, set the **App URL** to any site (for example, your site or impact.com), then uncheck ![](https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FZcT3MTmsh1w7QaIYIoRj%2Fcheckbox.svg?alt=media\&token=bb1e4d88-bb59-40c4-a360-1f73cb73bab3) **\[Checked box] Embed app in Shopify admin**.
   2. Below *Access*, paste the following scopes in the text box, i.e., what the app should give impact.com access to:<br>

      ```
      read_inventory,read_product_listings,read_products
      ```

<div data-with-frame="true"><figure><img src="https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FJPSoIlm4yctnNZZ9LWoQ%2Fimage.png?alt=media&amp;token=d9fdf53b-04c9-4143-b0eb-d21e4b4f116c" alt="" width="547"><figcaption></figcaption></figure></div>

8. Select **Release**:
   1. Optionally, enter a **Version name** like `1.0` and enter a **Version message**.
   2. Select **Release**.

<div data-with-frame="true"><figure><img src="https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FonnDrRgkd3rgRSnZ5EmJ%2Fimage.png?alt=media&amp;token=1061889b-77cc-4e35-9f87-4129c6ce0e56" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Install the app on your Shopify store

1. On the *dev dashboard*, from the left navigation bar, ensure **Apps** is still selected.
2. On the *Apps* screen, select your app.
3. Select **Install app**.
4. On the next screen, select the store name on which to install the app.
5. On the next screen, select **Install**.

   * You'll be redirected to the app URL you've entered during the app configuration.

   <div data-with-frame="true"><figure><img src="https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FqwFFf75411GKYEohxcqG%2Fimage.png?alt=media&amp;token=abdf606c-e255-4a4d-adc0-af74384850b3" alt="" width="464"><figcaption></figcaption></figure></div>

   <br>
6. On your *dev dashboard*, below *Installs*, confirm if your app installation was successful.

<div data-with-frame="true"><figure><img src="https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2F7wniYwtNG3Txor5YocnM%2Fimage.png?alt=media&amp;token=b58640c6-59bf-4652-93fd-69ae429b4e24" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Get your app's credentials

1. On your *dev dashboard*, select your app and from the left navigation menu, select **Settings**.
2. Copy your *Client ID* and *Secret*.
   * You'll use these credentials later when creating the catalog.

<div data-with-frame="true"><figure><img src="https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2F1hpzFRkx5tEAoDWsq8BL%2Fimage.png?alt=media&amp;token=8619ed0c-b784-4d7f-8687-d343b817099b" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="warning" %}
**Important:** You must create a catalog within 24 hours of copying these credentials, or you'll have to repeat the process.
{% endhint %}
{% endstep %}

{% step %}

### Gather your Shopify catalog URL

You'll need certain information from your Shopify store. Follow these steps to get your product catalog's URL.

Head to your Shopify store landing page and get the base URL:

1. Navigate back to your Shopify admin account.
2. If you manage multiple stores, select the relevant store.
3. At the bottom of your left navigation bar, select **Settings**.
4. From the *Settings* menu, select **Domains**.
5. On the *Domains* screen, get your base `myshopify.com` URL.
   * **Example:** `https:mystorename.myshopify.com`

<div data-with-frame="true"><figure><img src="https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FFbHgj59uUFfjZcEKsC5v%2Fimage.png?alt=media&amp;token=3d8b870d-dc81-4b9d-babe-022a18326fe1" alt="" width="561"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Create a catalog asset with your credentials

Next, create an asset in your impact.com account that automatically pulls in the latest version of your product catalog.

1. [Sign in to your impact.com account](https://app.impact.com/login.user), then in the left navigation menu, select ![](https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FYxS3uZ6Kt4mghl3lawOo%2Fengage.svg?alt=media\&token=0a54f160-9774-471b-a53f-515e9088fa2f) **\[Engage] → Content → Products →** [**Product Catalogs**](https://app.impact.com/secure/advertiser/engage/ads/productcatalogs/manage-ads-product-catalog-flow.ihtml).
2. On the *Product Catalogs* screen, select **Create Product Catalog Asset → Retail**.

<div data-with-frame="true"><figure><img src="https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FQ4Sgee0FrLGZOs1DERhh%2Fimage.png?alt=media&amp;token=2e9aee41-f638-4350-9e6b-01940bc5c78d" alt="" width="563"><figcaption></figcaption></figure></div>

3. Next to *Upload Method*, select **Integrated Shopping Cart Import**, then from the drop-down menu, select **Shopify**.
4. Next to *Shopify Authentication Version*, select **V2 - clientId & clientSecret**.
5. Enter your Shopify store details:
   * **Base URL**: Enter your Shopify product catalog URL, including the protocol (for example, [`https://my-example-store.myshopify.com`](https://my-example-store.myshopify.com/)).
   * **Client ID**: Enter the Shopify *Client ID* you located above (for example, `1234abc567890def12345abc67890def`).
   * **Client Secret**: Enter the Shopify *Client Secret* you located above (for example, `AbCdEfGhIjKlMnOpQrStUvWxYz1234567890FAKE`).
6. Optionally, to filter out product variants from the catalog, ![](https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2F0T9RELiV2Vhso91lBlhl%2Ftoggle%20off.svg?alt=media\&token=f84b1141-d64c-43f5-8557-85c8e9b00f2a) **\[Toggle off] Include Product Variants**.
7. Fill out the rest of the details for your product catalog, then select **Save**.

{% hint style="success" %}
**Note:** If you're selecting **V2 - clientId & clientSecret** but don't see the *Client ID* and *Client Secret* fields, your account may have a legacy setup that uses an [Access Token](/integration-guides/for-brands/plugin-integrations/e-commerce/integrate-with-shopify/shopify-product-catalog/connect-your-shopify-product-catalog-using-a-legacy-admin-api-access-token.md#install-the-app-on-your-shopify-store) instead. Select **V1 - Legacy access token**.
{% endhint %}
{% endstep %}
{% endstepper %}

</details>

## Understand Shopify Authentication Version

When creating or editing a Shopify product catalog, the **Shopify Authentication Version** field determines how impact.com authenticates with your Shopify store:

| Version                           | Description                                                                                                                   |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| **V3 - Impact App (Recommended)** | Authenticates using the impact.com Affiliate Marketing app installed on your Shopify store. Recommended for all new catalogs. |
| **V2 - Custom app**               | Authenticates using credentials from a custom app you create in your Shopify Dev Dashboard.                                   |
| **V1 - No app**                   | Authenticates using a legacy Shopify Admin API access token.                                                                  |

If you already have an existing Shopify catalog, impact.com sets its Shopify Authentication Version for you automatically:

* If an impact.com app connection was found for your store, your catalog is set to **V3 - Impact App (Recommended)**.
* Otherwise, your catalog keeps its existing setup: **V2 - clientId & clientSecret** if you were using a custom app, or **V1 - Legacy access token** if you were using the legacy setup.

### Upgrade an existing catalog

To upgrade a V1 or V2 catalog, open it for editing and select **V3 - Impact App (Recommended)** from the *Shopify Authentication Version* drop-down menu. This unlocks the **Base URL** field and shows the **Install Impact App** button, so you can complete the installation steps described above.

{% hint style="success" %}
**Note:** The **Base URL** field is read-only while *Shopify Authentication Version* is set to V1 or V2. Select **V3 - Impact App (Recommended)** to edit it.
{% endhint %}

## Understand how Shopify fields map to impact.com

Once your Shopify catalog is connected, impact.com automatically maps your Shopify product information to the corresponding fields in your impact.com catalog asset.

| Shopify field        | impact.com field             | Required/Recommended |
| -------------------- | ---------------------------- | -------------------- |
| `Title`              | Name                         | Required             |
| `ID`                 | Catalog Item ID              | Required             |
| `Base URL`           | *Part of the generated link* | Required             |
| `Price`              | Current Price                | Recommended          |
| `Compare at Price`   | Original Price               | Recommended          |
| `Body HTML`          | Description                  | Recommended          |
| `Inventory Quantity` | Stock Availability           | Recommended          |
| `Vendor`             | Manufacturer                 | Recommended          |
| `Product Type`       | Category                     | Recommended          |
| `Images`             | Image URL                    | Recommended          |
| `Barcode`            | GTIN                         | Recommended          |

## Troubleshooting

<details>

<summary>My products show as out of stock.</summary>

When importing your product catalog via Shopify, products may upload successfully but their availability status may appear as *Out Of Stock*. While partners can still find these products, any marked as *Out Of Stock* won't appear in your Storefront.

<div data-with-frame="true"><figure><img src="https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FicOzabV9dk0xr5i2TMAk%2Fimage.png?alt=media&amp;token=3c62dd2f-e75b-4ac0-b312-11042f8b623c" alt="" width="563"><figcaption></figcaption></figure></div>

This issue occurs because impact.com marks any product with an `inventory_quantity` less than 0 as *Out Of Stock*.

For smaller catalogs, you can manually adjust the `inventory_quantity` for each product in Shopify:

1. Log in to Shopify.
2. Select a product that is currently showing as *Out Of Stock* on impact.com.
3. Navigate to the *Inventory* section and select ![](https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FZcT3MTmsh1w7QaIYIoRj%2Fcheckbox.svg?alt=media\&token=bb1e4d88-bb59-40c4-a360-1f73cb73bab3) **\[Unchecked box] Track quantity** to enable inventory tracking
4. In the *Available* column, select the **\[Drop-down menu]**. Enter a positive value to *Adjust by* and then select Save.
5. Optionally, select ![](https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FzvjxNKs9ws21DEnljAXb%2Fcheckbox.svg?alt=media\&token=d87c1706-b382-44c7-8f5a-f8b15fcd8600) **\[Checked box] Track quantity** to disable this option afterwards.

If you'd rather bulk edit your inventory values, view Shopify's article on [Bulk Editing Inventory](https://help.shopify.com/en/manual/products/inventory/managing-inventory-quantities/bulk-editing-inventory).

<div data-with-frame="true"><figure><img src="https://3238951795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiVbdCghMC6mw51rrphG6%2Fuploads%2FshborXm9Xy3ABrg3xYHm%2Fimage.png?alt=media&amp;token=9b1821bf-a011-4643-951a-c8f65fa2b8b1" alt="" width="563"><figcaption></figcaption></figure></div>

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://integrations.impact.com/integration-guides/for-brands/plugin-integrations/e-commerce/integrate-with-shopify/shopify-product-catalog.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
