---
title: "Adtraction Connector"
description: "The Adtraction Connector sends your sales and leads to Adtraction server-to-server, so your affiliate partners get paid for the conversions they bring in. Tracklution reads the Adtraction click from the atgd parameter in the landing page URL, so no Adtraction script is needed on your website."
description_short: "The Adtraction Connector sends your sales and leads to Adtraction server-to-server, so your affiliate partners get paid for the conversions…"
slug: "adtraction-connector"
category_slug: "data-destinations"
category_name: "Data Destinations"
section_slug: ""
section_name: ""
order: 5000000066
published_at: "2026-11-10T08:09:15+00:00"
updated_at: "2026-11-10T08:25:37+00:00"
language_code: "en-US"
tags: []
---

The Adtraction Connector sends your sales and leads to Adtraction server-to-server, so your affiliate partners get paid for the conversions they bring in. Tracklution reads the Adtraction click from the `at_gd` parameter in the landing page URL, so no Adtraction script is needed on your website.

A conversion is sent only when the visitor came through an Adtraction link within the attribution window. Clicks from before the connector was set live can't be matched.

> [!NOTE]
> The Adtraction Connector is currently in Beta.

## Prerequisites

- Your Adtraction tracking subdomain, set up and confirmed by Adtraction (see below)
- The callback URL for each commission type, shown as "Your GET request URL" on your Adtraction implementation page. If you don't see it, ask your Adtraction contact to enable server-to-server (S2S) tracking for your program.
- Tracklution tracking the events you want to send, for example Purchase or Lead. Sale events need a value. If they have a currency, it must match the currency in the callback URL.

> [!WARNING]
> If you already send Adtraction conversions in another way, for example with the [Custom / Affiliate Connector](https://www.tracklution.com/docs/custom--affiliate-connector/#step-1-open-the-custom-connector), a tracking script or a GTM tag, turn it off for the events this connector sends. Otherwise Adtraction gets them twice.

## Set Up the Tracking Subdomain

The callback URL points to a subdomain of your website. Follow your Adtraction implementation page:

1. In your DNS settings, add a **CNAME** record for the subdomain from your Adtraction instructions, for example `to.example-shop.com`. Point it to the Adtraction server named in your instructions.
2. Tell your Adtraction contact the subdomain is active. Adtraction sets up its server and the SSL certificate.

Do this first. You can't save the connector until the subdomain exists, and conversions fail without the SSL certificate.

## Set Up the Connector

### Step 1: Open the connector

Go to **Connectors** on your tracking container dashboard, find **Adtraction** and click **[Add]**.

### Step 2: Add your callback URL

Paste the callback URL into the **Callback URL** field. On your Adtraction implementation page it is called "Your GET request URL":

```
https://to.example-shop.com/t/t?t=3&tk=1&am=[order_value]&c=EUR&ti=[order_id]&tp=1234567890&cpn=[coupon]&trt=4&ss=1&ap=1234567000&at_gd=[at_gd]
```

Leave `[order_value]`, `[order_id]`, `[coupon]` and `[at_gd]` as they are. Tracklution fills them in. Replace any other placeholder, like `[your_domain]`.

Check the **We read** row under the URL input field. Confirm that it shows the right program, commission, currency and domain.

### Step 3: Pick the events

In **Events**, pick the events that send a conversion with this URL, for example Purchase for a sale URL and Lead for a lead URL.

You can pick any event, whatever its name, for example `FormSubmit01B` for a lead. Adtraction never sees the event name. The callback URL decides whether the conversion is a sale (`t=3`) or a lead (`t=4`), and which commission it gets (`tp`).

Lead URLs always send the value 0.

### Step 4: Check the order value (sale URLs)

Adtraction pays commission on the order value without tax and delivery costs. For a sale URL, Tracklution sends the event value minus the event's `tax` and `shipping`. There is no setting for this; it is always on. If the event has no `tax` or `shipping`, that part is not taken off, so an event with neither sends its full value.

For example, with a value of 125.50, tax of 25.50 and shipping of 5.00, Tracklution sends 95.00.

Shopify and WooCommerce fill in `tax` and `shipping` automatically. In a dataLayer setup, send `ecommerce.tax` and `ecommerce.shipping` with your purchase event.

> [!WARNING]
> If your event value already excludes tax or shipping, but the event data still includes `tax` or `shipping`, they get taken off twice and Adtraction receives the wrong amount. Check the amount in Adtraction after your first test conversion.

#### When the value already excludes tax or shipping

This is common in GTM setups that use the standard GA4 ecommerce dataLayer. There, `value` is often the products total, and `tax` and `shipping` are sent as separate fields:

```
dataLayer.push({
  event: "purchase",
  ecommerce: {
    transaction_id: "T_12345",
    value: 30.03,
    tax: 4.90,
    shipping: 5.99,
    currency: "EUR"
  }
});
```

Here Tracklution would send 30.03 − 4.90 − 5.99 = 19.14 to Adtraction, but the right amount is 30.03.

Not every GA4 dataLayer works like this. If your `value` is the full order total with tax and shipping, the amount is correct and you don't need to do anything.

**Don't change `value` or remove `tax` and `shipping` from your dataLayer or tracking code.** All your connectors use the same event, so Meta, Google Ads, GA4 and others would get the changed data too.

**Solution: create a separate event for Adtraction with an Event Creation Rule.** The rule makes a copy of your purchase event without `tax` and `shipping`, and only Adtraction uses the copy:

1. Open **Event Creation Rules** and create a new rule.
2. Set the condition to match your purchase event, for example event name is `Purchase`.
3. Name the new event, for example `PurchaseAdtraction`.
4. Leave the option to replace the original event **off**. Otherwise the original `Purchase` is not sent to any connector.
5. Add two field mappings: `tax` ← `''` and `shipping` ← `''`. Type the two quotes. An empty expression is ignored and leaves the field as it is.
6. Activate the option **Block the new event in Event Mapping** to block this event from reaching other connectors.
7. In the Adtraction connector, in **Events**, pick `PurchaseAdtraction` instead of `Purchase`.

The value, currency, order details and click are copied to the new event as they are. With the example above, Adtraction now gets 30.03, and all other connectors still get the original `Purchase`.

Shopify and WooCommerce installations don't need this, unless their value is customized to exclude tax and shipping.

### Step 5: Set the order ID

The **Order ID** is `{event_id}` by default. Adtraction ignores a conversion with a repeated order ID, so it must be unique for every conversion.

You can combine `{event_id}`, `{external_id}` and your own text, for example `{external_id}-shop`. With `{external_id}` alone, a customer's next order gets the same order ID, so add `{event_id}` too.

### Step 6: Add more callback URLs

If your program has more than one commission type, for example sales and leads, click **Add another callback URL** and repeat steps 2 to 5.

### Step 7: Check More settings

Open **More settings**:

- **Attribution window:** How far back an Adtraction click counts. Default 30 days, from 1 to 90. Match it to the cookie length of your Adtraction program. If you are not sure what it is, ask your Adtraction contact. If there are several clicks, the newest one gets the credit.
- **Respect consent:** Off by default, so all Adtraction conversions are sent. When on, a conversion is not sent if the visitor denied marketing consent.

### Step 8: Set the connector live

Turn on **Set to live** and click **Create**.

## Test Your Setup

Adtraction has no test mode, so use a real conversion.

1. Click a real Adtraction link to your website. You can ask your Adtraction contact for a test link. Check that the URL includes `at_gd`.
2. Make a conversion.
3. In your Tracklution dashboard, find the conversion in your tracking container's event list and open it. The event details show whether it was sent to Adtraction, and if not, why.
4. Ask Adtraction to confirm the transaction. For a sale, check that the amount in Adtraction is correct.

To stop sending, turn off **Set to live**. Conversions already sent stay in Adtraction, where you can approve or reject them.

## Q&A

**Why wasn't a conversion sent?**
In your Tracklution dashboard, open the event from your tracking container's event list. The event details show the reason. Common ones: there was no Adtraction click in the attribution window (for example a redirect removed `at_gd`), the sale value is missing or nothing is left after tax and shipping, the event currency differs from `c` in the callback URL, or **Respect consent** is on and the visitor denied consent.

**The full value is sent, not the value without tax and shipping.**
Your events don't have `tax` or `shipping`. Add them where the event is sent, for example `ecommerce.tax` and `ecommerce.shipping` in a dataLayer setup.

**The amount sent to Adtraction is too low.**
Your value already excludes tax or shipping, but the event still sends `tax` or `shipping`, so they are taken off twice. Use an Event Creation Rule to send Adtraction a copy of the event without the `tax` and `shipping` data. See [When the value already excludes tax or shipping](#when-the-value-already-excludes-tax-or-shipping) in Step 4.

## Troubleshooting

See our [Troubleshooting and FAQ](/docs/troubleshooting-and-faq/).
