Adtraction Connector
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.
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.
If you already send Adtraction conversions in another way, for example with the Custom / Affiliate 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:
- 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. - 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.
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:
- Open Event Creation Rules and create a new rule.
- Set the condition to match your purchase event, for example event name is
Purchase. - Name the new event, for example
PurchaseAdtraction. - Leave the option to replace the original event off. Otherwise the original
Purchaseis not sent to any connector. - Add two field mappings:
tax←''andshipping←''. Type the two quotes. An empty expression is ignored and leaves the field as it is. - Activate the option Block the new event in Event Mapping to block this event from reaching other connectors.
- In the Adtraction connector, in Events, pick
PurchaseAdtractioninstead ofPurchase.
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.
- 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. - Make a conversion.
- 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.
- 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 in Step 4.
Troubleshooting
See our Troubleshooting and FAQ.




