---
updatedAt: 2026-06-25T14:02:54.000Z
agentTools:
  projectIndex: https://developer.fastspring.com/llms.txt
---

# FastSpring Affiliate Solution

FastSpring works with a trusted partner, [Impact](https://impact.com/), to provide affiliate marketing solutions for our clients.

For more information about setting up an account with Impact, [contact FastSpring Support](https://developer.fastspring.com/docs/submit-support-ticket-request).

# Configuring FastSpring setup

1. From the **Developer Tools** menu of the FastSpring App, select the **Webhooks** tab.
2. Click **Add Webhook**.
3. In the **Name** field, enter **Impact Sales Tracking**.
4. Click **Add**.
5. Inside the newly created Impact Sales Tracking webhook configuration, click **Add Browser Script**.

<Image align="center" className="border" border={true} src="https://fastspring.com/wp-content/uploads/2022/02/add-browser-script.png" />

6. In the dialog box enter enter  **Impact Sales Tracking –`{id}`** in the **Name** field, replacing **`{id}`** with your Impact *Sales Tracker ID*. See [Finding Your Impact Sales Tracker ID](https://fastspring.com/wp-content/uploads/2021/12/Find-Event.mp4) for a visual walkthrough.
7. Under **Events**, select the checkbox next to **browser.order.completed**.
8. Delete the placeholder text in the **Function** field.
9. Paste the following JavaScript into the **Function** field:

```javascript
   function (event) {

      this.load('{{{Universal Tracking Tag Script URL}}}', function () {

        var trackingObject = {};

        trackingObject.orderId = event.data.reference;
        trackingObject.customerId = event.data.account;
        trackingObject.currencyCode = event.data.currency;
        trackingObject.items = [];

        if (event.data.coupons && event.data.coupons[0]) trackingObject.orderPromoCode = event.data.coupons[0];

        event.data.items.forEach(function (item) {
          trackingObject.items.push({
            subTotal: item.subtotal,
            category: "digital",
            sku: item.product,
            quantity: item.quantity
          });
        });

        ire('trackConversion', {{{Universal Tracking Action ID}}}, trackingObject);
      });

    }
```

10. In the **Function** field, select the **\{\{\{Universal Tracking Tag Script URL}}}** and replace it with the “General Tracking Settings URL” from your Impact account. See [Finding your General Tracking Settings URL](https://fastspring.com/wp-content/uploads/2023/04/General-Tracking-Settings-URL.mp4) for a visual walkthrough.
    * When you finish, the line should appear similar to the following (except with your URL): **this.load(‘<https://utt.impactcdn.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXX.js>’, function() \{**
11. Scroll down to the bottom of the **Function** field. Then, select the **\{\{\{Universal Tracking Action ID}}}** and replace it with your Sales Tracking ID; that is, the same value you used in the **Name** field above to replace **`{id}`**.
    * When you finish, the full line should appear similar to the following, except with your Sales Tracker ID: **ire(‘trackConversion’, 0000, trackingObject);**
12. Click Add.

# Add Impact’s UTT (Universal Tracking Tag) on every page of your webpage.

1. Look up your UTT under Menu -> Settings -> General Tracking in your Impact account or [click here](https://app.impact.com/secure/advertiser/tracking-settings/general-trackingsettings-flow.ihtml) when logged in. It will look like this:

<Image align="center" className="border" border={true} src="https://fastspring.com/wp-content/uploads/2021/12/86c7297-image6.png" />

2. Add this code to every section of your website. You'll need to split it into two parts.
3. The first part should be placed within the `<head>` section of your HTML document and will look something like this:

```html
<script type="text/javascript">
(function(a,b,c,d,e,f,g){e['ire_o']=c;e[c]=e[c]||function(){(e[c].a=e[c].a||[]).push(arguments)};f=d.createElement(b);g=d.getElementsByTagName(b)[0];f.async=1;f.src=a;g.parentNode.insertBefore(f,g);})('https://utt.impactcdn.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXX.js','script','ire',document,window);
</script>
```

4. The second part should contain only the identify function and should be placed near the bottom of the `<body>` section of your pages

```html
<script type="text/javascript">
  ire('identify', {customerId: '', customerEmail: ''});
</script>
```