> 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-bigcommerce.md).

# Integrate with BigCommerce

[**impact.com's plugin**](https://www.bigcommerce.com/apps/impact-partnership-cloud/) for BigCommerce makes it easy to recruit, track, and manage partners who want to promote your online store. Our BigCommerce app is a quick plug-and-play solution to integrating impact.com with your website without needing coding knowledge or extensive developer help. Follow this step-by-step guide to learn about the integration process.

## Prerequisites

* One (1) Event Type tracking online sales (no recurring subscriptions).
* A store *Landing Page* that is hosted by BigCommerce (not externally).
* A store that uses a *Stencil* theme (*Blueprint* themes are not supported).

## Check before integrating

impact.com will complete several integration steps on your behalf. Check with your implementation engineer to ensure that the following configuration steps have been completed: *Event Type, Gateway Tracking, General Tracking.*

## How are conversions linked to partner clicks?

Our impact.com BigCommerce integration ensures that every sale driven by your partners is precisely tracked and attributed. Here's a simple breakdown of how it works:

1. **Customer arrives via partner link:** When a customer clicks on a partner's unique tracking link and lands on your BigCommerce store, our integration captures a special identifier for that click (called an `im_ref`) directly from the website's address.
2. **Click ID is stored:** The `im_ref` is securely stored in the customer's browser using a cookie. This cookie ensures the referring partner is remembered as the customer browses.
3. **UTT supports visitor identification:** Impact's [Universal Tracking Tag](https://help.impact.com/brand/what-would-you-like-to-learn-about/platform-features/tracking/javascript-tag-tracking/tracking-with-universal-tracking-tag-utt) (UTT) is loaded on the storefront, sending identify requests to impact.com to establish and maintain the visitor's attribution record throughout their browsing session.
4. **Purchase completes:** As the customer completes a purchase, our integration automatically retrieves all essential order details from BigCommerce, along with the stored `im_ref` from the cookie.
5. **Conversion reported to impact.com:** The order details and `im_ref` are securely and automatically sent to impact.com.
6. **Accurate attribution:** impact.com uses the `im_ref` to deterministically link the completed sale back to the original partner click, ensuring your partners are accurately credited for the sales they generate.

## Add impact.com to BigCommerce

This instruction set covers installing [impact.com's plugin](https://www.bigcommerce.com/apps/impact-partnership-cloud) to your BigCommerce store.

### Install impact.com's plugin

1. Navigate to the impact.com app page in the BigCommerce App Store, then select **Get This App**.

<div data-with-frame="true"><figure><img src="/files/AnGy1dq8adQbCXjXuifI" alt="" width="563"><figcaption></figcaption></figure></div>

2. Log in to your BigCommerce account (if you haven't already) and select **Install**.

<figure><img src="/files/A6XVHEjRBcYiAN9xhRpe" alt="" width="563"><figcaption></figcaption></figure>

3. The installation process requires you to grant the access permissions required by impact.com. After agreeing to the terms and conditions, select **Confirm**.

<div data-with-frame="true"><figure><img src="/files/AlEGD3hnD9Dad1jYNoRG" alt="" width="563"><figcaption></figcaption></figure></div>

4. Scroll down and select **Set up your integration.**

<figure><img src="/files/L07SoOCCssBYOOj4TC9t" alt="" width="563"><figcaption></figcaption></figure>

5. Add your impact.com account information in the relevant fields. Refer to the [*Settings reference* ](#settings-reference)table below for instructions on where to find each value.

<div data-with-frame="true"><figure><img src="/files/sGfBPA8Bd9nPz9RCzZ7k" alt="" width="563"><figcaption></figcaption></figure></div>

<details>

<summary>Settings Reference</summary>

<table><thead><tr><th width="188.421875">Setting</th><th>Description</th></tr></thead><tbody><tr><td><strong>Impact Account SID *</strong></td><td>In the impact.com platform, from the top navigation bar, select <img src="/files/NAwewjCC7OYTjHnAmreE" alt=""> <strong>[User profile] → Settings →</strong> <a href="https://app.impact.com/secure/advertiser/api/fr/api-access-tokens-ui.ihtml"><strong>API</strong></a><strong>.</strong> Under <em>API Tokens</em>, select <strong>Create API Token</strong>. Set the token type to <strong>Read/Write</strong>, then select <strong>Generate Token</strong>. Copy the <strong>Account SID</strong> value.</td></tr><tr><td><strong>Auth Token *</strong></td><td>In the impact.com platform, from the top navigation bar, select <img src="/files/NAwewjCC7OYTjHnAmreE" alt=""> <strong>[User profile] → Settings →</strong> <a href="https://app.impact.com/secure/advertiser/api/fr/api-access-tokens-ui.ihtml"><strong>API</strong></a>. If you've just created your token, copy the <strong>Auth Token</strong> value displayed on screen — this is only shown once. If you've already created a Read/Write token, locate it in the <em>API Tokens</em> list and copy the Auth Token from there.</td></tr><tr><td><strong>Program ID *</strong></td><td><p>Enter your <strong>Program ID</strong> value. To find this value, select your brand name in the top-left corner of the impact.com app. Your <strong>Program ID</strong> is the numerical value under the program name.</p><p><br><img src="https://files.readme.io/2edc9a646ec0744579c7d80854773dc742f408e01c48224be1fb9756c4d524f0-program_id.png" alt=""></p></td></tr><tr><td><strong>Sales and Subscriptions Tracker *</strong></td><td>In the impact.com platform, from the top navigation bar, select <img src="/files/NAwewjCC7OYTjHnAmreE" alt=""> <strong>[User profile] → Settings →</strong> <a href="https://app.impact.com/secure/advertiser/tracking-settings/actiontracker/view-actiontracker-flow.ihtml"><strong>Event Types</strong></a>. Copy the number in parentheses next to the name of the Online Sale event type.</td></tr><tr><td><strong>Universal Tracking Tag *</strong></td><td>From the top navigation bar, select <img src="/files/NAwewjCC7OYTjHnAmreE" alt=""> <strong>[User profile] → Settings → General</strong>. Paste your entire unique UTT code into this field.</td></tr></tbody></table>

</details>

6. Select **Save**. You'll receive confirmation that impact.com has been installed, after which you can begin end-to-end testing.

Once the impact.com app is fully installed, you can begin end-to-end testing to ensure everything is working properly. Learn how to proceed with [End-to-End Testing](/integration-guides/end-to-end-tests.md).

1. Clear cache and cookies, or use a new private browser window (e.g. Incognito), and ensure ad-blocking browser extensions are disabled. This prevents data from previous tests influencing your results.
2. Generate a tracking link using a test partner paired to the Advertiser account. Copy and paste the tracking link into your web browser.
3. Open Chrome DevTools before visiting the link and filter by the following regex in the **Network** tab: `/impactcdn/`
4. Visit the link and record the `im_ref` value from the URL.
5. Verify that the following two network requests received 200 responses:
   * **UTT** — Name will resemble `A4097096-9b4f-412a-b9c8-27c35eb11b5a1.js`; Type: *script*
   * **Identify Function tag** — Name will be the `{campaignId}` (e.g. `18999`); Type: *xhr*. Confirm that the payload includes the `clickid` in the payload tab. After the initial *xhr* request on the landing page, this appears as a *ping* request on subsequent pages.
6. Complete a conversion event on the website and record the Order ID and payload parameters from the Thank You / Order Confirmation page.

{% hint style="warning" %}
**Note:** The event payload parameters are not accessible from the front end as this request is made server-side — record the OrderId and any other order/item-level details from the confirmation page.
{% endhint %}

7. If relevant, complete several tests with multiple SKUs, a minimum quantity of 2 per SKU, and some tests with and without a promo code and discount. This verifies that multiple items, promo codes, and item quantities/amounts are handled correctly.
8. Verify that the information in the payload is correct (multiple items, promo codes, and item quantities/amounts are handled correctly) and that the event was attributed to the correct test partner. Note: attribution can take 20–120+ minutes depending on processing delays.

### Troubleshooting

<details>

<summary>My test conversion isn't appearing in impact.com</summary>

If your test conversion isn't appearing, check the following:

* You accessed your BigCommerce store **using the test partner tracking link**. If you don't use this link, the conversion won't be credited to your test partner and may not appear.
* You've waited at least 30 minutes since the test conversion. Conversion reporting can take up to 2–4 hours during peak times.
* Your `ActionTrackerId` in BigCommerce exactly matches the `ActionTrackId` in impact.com.
* Use the [OrderId (OID) Lookup tool](https://help.impact.com/brand/what-would-you-like-to-learn-about/platform-features/multi-program-reports/orderid-lookup-report) to search for the BigCommerce Order ID of the test order.
* Add your BigCommerce domains in impact.com:
  * **Site definition:** Navigate to **Settings → Tracking →** [**General**](https://app.impact.com/secure/advertiser/fr/general-tracking-settings.ihtml). Add all domains and subdomains (production and sandbox), then select **Save**.
  * **Deeplinking:** Navigate to **Settings → Tracking →** [**Gateway**](https://app.impact.com/secure/advertiser/fr/tracking-gateway-settings.ihtml). Add all domains and subdomains, including a wildcard to cover all subdomains (e.g. `*.mystore.com`), then select **Save**.
* Confirm the UTT is firing on the landing page: open **Developer Tools → Network tab →** add the filter `impactcdn`. You should see a `200 OK` request named as your UTT JavaScript file.

<figure><img src="/files/HH2OOkhz9motIIj2o3zJ" alt="" width="563"><figcaption></figcaption></figure>

</details>

<details>

<summary>Testing with multiple BigCommerce stores (sandbox and production)</summary>

If you are running a sandbox BigCommerce store alongside your production store, you must register both environments in two places within impact.com.

**Site definition**

Navigate to **Settings → Tracking →** [**General**](https://app.impact.com/secure/advertiser/fr/general-tracking-settings.ihtml) and add all domains associated with both stores. For example:

* `mystore.com`
* `mywebsite.mybigcommerce.com`
* `store-mywebsite.mybigcommerce.com`
* `mysandboxwebsite.mybigcommerce.com`
* `store-mysandboxwebsite.mybigcommerce.com`

Select **Save** once all domains have been added.

**Deeplinking**

Navigate to **Settings → Tracking →** [**Gateway**](https://app.impact.com/secure/advertiser/fr/tracking-gateway-settings.ihtml) and add all domains for both environments, including a wildcard to cover all subdomains. For example:

* `mystore.com`
* `*.mystore.com`
* `mywebsite.mybigcommerce.com`
* `store-mywebsite.mybigcommerce.com`
* `mysandboxwebsite.mybigcommerce.com`
* `store-mysandboxwebsite.mybigcommerce.com`

Select **Save**.

</details>

## Supported parameters

<table><thead><tr><th width="224.03125">Field</th><th width="242.5625">Example</th><th>Description</th></tr></thead><tbody><tr><td><code>ActionTrackerId</code></td><td>16027</td><td>Also known as the Event Type ID, this is the ID number for your impact.com event type.</td></tr><tr><td><code>CampaignId</code></td><td>8882</td><td>Also known as a Program ID, this is the ID number for your impact.com program/campaign.</td></tr><tr><td><code>ClickId</code></td><td>2uz3sQWFlxyJRcqwUx0Mo34VUkiyyO0tIzeG3U0</td><td>The Click ID associated with the action.</td></tr><tr><td><code>CurrencyCode</code></td><td>USD</td><td>The currency code for the currency recorded in the action.</td></tr><tr><td><code>CustomerEmail</code></td><td>38b85baa75385758d44d3dbfd97921c32e0d09a9</td><td>If you're tracking and passing customer info, this is the SHA1 hash of the customer's email.</td></tr><tr><td><code>CustomerEmailSHA256</code></td><td>987669e572d2cc2eba5f690b8f766ab58986779638d4c880e056aeb996b6ce76</td><td>If you're tracking and passing customer info, this is the SHA256 hash of the customer's email.</td></tr><tr><td><code>CustomerId</code></td><td>3222174466122</td><td>If you're tracking and passing customer info, this is an ID number referencing the customer associated with the order.</td></tr><tr><td><code>CustomerStatus</code></td><td><code>EXISTING</code> or <code>NEW</code></td><td>If you're tracking and passing customer info, this is the status of the customer associated with the order.</td></tr><tr><td><code>EventDate</code></td><td><code>2020-06-18T14%3A33%3A49</code></td><td>Tracks the date that the action occurred.</td></tr><tr><td><code>IntegrationSource</code></td><td><code>Impact_BigCommerce_Plugin</code></td><td>Identifies the integration type. Always sends <code>Impact_BigCommerce_Plugin</code>.</td></tr><tr><td><code>IpAddress</code></td><td>1.1.1.1</td><td>The IP address associated with the action.</td></tr><tr><td><code>OrderId</code></td><td>2516623458378</td><td>The impact.com OID (Order ID) value associated with the action (Order ID column in BigCommerce orders page).</td></tr><tr><td><code>OrderPromoCode</code></td><td>Welcome10</td><td>Promo code used for the order. The code will be passed here unless it is set to be applied to a specific product.</td></tr><tr><td><code>ItemSku{N}</code></td><td>KS944RUR</td><td>The SKU number of the BigCommerce product (called SKU on BigCommerce).</td></tr><tr><td><code>ItemQuantity{N}</code></td><td>1</td><td>The quantity amount for the item in the action.</td></tr><tr><td><code>ItemCategory{N}</code></td><td>Course</td><td>he category of the BigCommerce product (called Categories on BigCommerce).</td></tr><tr><td><code>ItemName{N}</code></td><td>Course</td><td>The name of the BigCommerce product.</td></tr><tr><td><code>ItemSubtotal{N}</code></td><td>60.00</td><td>The subtotal amount of the item before taxes, shipping, discount, and any other costs.</td></tr><tr><td><code>ItemDiscount{N}</code></td><td>10</td><td>Discount applied for each item. Shows the proportionate value if the customer used <code>OrderPromoCode</code>.</td></tr><tr><td><code>ItemPromoCode{N}</code></td><td>Spanish10Off</td><td><p>Item-level promo code. Passes the first non-null value. The code will be passed here if it is set to be applied to a specific product.</p><p>This value is available for reporting only and cannot be used for contracting in impact.com.</p></td></tr></tbody></table>

## Modifications & Reversals

{% hint style="warning" %}
**Important:** Always make sure to modify and/or reverse orders in **BigCommerce** first, then check it was modified/reversed in impact.com. Actions you modify or reverse in impact.com **will not be sent** to BigCommerce.
{% endhint %}

BigCommerce offers support in their Help Center — see the links in the table below for instructions on how to edit and refund orders in BigCommerce.

| Scenario                                                                                                                                         | Outcome                                                                                                                           |
| ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
| [Process a full refund](https://support.bigcommerce.com/s/article/Processing-Refunds?language=en_US) (entire order)                              | Each item's reversal payload will be sent to impact.com. The entire order will be reversed.                                       |
| [Process a partial refund](https://support.bigcommerce.com/s/article/Processing-Refunds?language=en_US) (individual items)                       | The individual item's reversal payload will be sent to impact.com.                                                                |
| [Edit an order](https://support.bigcommerce.com/s/article/Editing-an-Order?language=en_US) (adding a new item)                                   | No modification payload will be sent to impact.com.                                                                               |
| Change the [order status](https://support.bigcommerce.com/s/article/Order-Statuses?language=en_US) to Cancelled, Declined, Refunded, or Disputed | No reversal payload will be sent to impact.com.                                                                                   |
| [Customer return request](https://support.bigcommerce.com/s/article/Processing-Returns?language=en_US) (processed from dashboard)                | Once you've completed the Return Requests process in your BigCommerce dashboard, the reversal payload will be sent to impact.com. |


---

# 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 dynamically by asking a question.

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

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
