Transaction Notifications
  • 17 Apr 2025
  • Dark
    Light

Transaction Notifications

  • Dark
    Light

Article summary

Awin offers publishers a near real-time reporting feature that sends a notification to your system each time a transaction is recorded. This notification includes all relevant transaction details, enabling you to:

  • Receive immediate alerts for each transaction.

  • Store transactions in other platforms (e.g. Excel) as they happen

  • Link back transactions to users of your cashback platform

Set up Notifications using Callback method

  1. Log into Awin and go to Toolbox > Transaction Notifications

Enabling Transaction Notifications

If you don't see the "Transaction Notifications" option in your navigation raise a support ticket here to request access.

Working with Callback URL’s might proof technically difficult to some. If you are unfamiliar try setting up notifications via Zapier. For detailed instructions see below.

  1. There are four settings which need to be considered:

Call-back URL: Enter the URL where Awin will send transaction data. This could be a script on your server (e.g., PHP, Node.js). Ensure your server is set up to handle incoming requests on ports 80 or 443. Example:

https://www.yourdomain.com/awin/transaction-handler.php​

Call-back method: Here you can choose if you want to get the data delivered as a GET or POST request.

Product Data: Tick this box if you wish for data about the actual products bought to be passed back. Data will be delivered for GET and POST method. This is dependent on the Advertiser implementing Product Level Tracking - and furthermore actively sharing this data with Publishers - which may not always be the case.

Click Source Data: Enable this to receive information about the initial click that led to the transaction.

After configuring these settings, click Submit. A confirmation message will indicate that your changes have been successfully saved.

Request Type

There are two types of requests possible. A GET request allows you to return the results as part of an URL whereas the POST method returns the results in a JSON format which then allows you to easily parse that data and store it in other places like Excel files for example.

GET Request

In a GET request, transaction data is sent as URL parameters. You can use placeholders (macros) in your URL, which Awin will replace with actual transaction values.

Example URL

http://www.publisher-domain.com/!!!merchantId!!!/pixel.php?clk=!!!clickRef!!!&cnv=!!!transactionId!!!&com=!!!commission!!!

Common Placeholders

Placeholder

Description

Example

!!!affiliateId!!!

The Publisher ID associated to the transaction

45628

!!!bannerId!!!

The Creative ID linked to the converting click

291555

!!!clickRef!!!

Click/View identifier/reference specified by the Publisher. See Publisher ClickRef

LINKCMP2013-06

!!!clickRef2!!!

Click/View identifier/reference specified by the Publisher. See Publisher ClickRef

LINKCMP2013-06

!!!clickRef3!!!

Click/View identifier/reference specified by the Publisher. See Publisher ClickRef

LINKCMP2013-06

!!!clickRef4!!!

Click/View identifier/reference specified by the Publisher. See Publisher ClickRef

LINKCMP2013-06

!!!clickRef5!!!

Click/View identifier/reference specified by the Publisher. See Publisher ClickRef

LINKCMP2013-06

!!!clickRef6!!!

Click/View identifier/reference specified by the Publisher. See Publisher ClickRef

LINKCMP2013-06

!!!clickThroughTime!!!

Click date in format %Y-%m-%d %H:%i:%s (timezone: UTC)

2013-06-13 12:00:00

!!!clickTime!!!

Click date in format %Y-%m-%d %H:%i:%s (timezone: UTC)

2013-06-13 12:00:00

!!!commission!!!

Commission amount awarded for the transaction

1.64

!!!commissionGroups!!!

Commission group breakdown associated with the transaction (in JSON format)

See below under POST Request (JSON) / Example Data

!!!groupId!!!

The creative group ID linked to the converting click

137726

!!!merchantId!!!

The Advertiser program ID that the transaction belongs to

3661

!!!phrase!!!

Search engine phrase. It is extracted from the referrer of the click.

Electronic music

!!!products!!!

Product breakdown associated with the transaction (in JSON format)

See below under POST Request (JSON) / Example Data

!!!searchEngine!!!

Search engine name. It is extracted from the referrer of the click.

MSN Live Search

!!!transactionAmount!!!

Total sale amount in the currency of the Advertiser program (!!!transactionCurrency!!!)

26.09

!!!transactionDate!!!

Transaction date in format %Y-%m-%d %H:%i:%s (timezone: UTC)

2013-06-13 12:05:00

!!!transactionId!!!

Our unique Transaction ID

105956531

!!!url!!!

Referring click URL

http://www.publisher-domain.com/advertiser/product/

!!!transactionCurrency!!!

The Advertiser's program currency. This is the currency of the affiliate transaction (!!!transactionAmount!!! and !!!commission!!!). This is the 3 digit uppercase currency code

GBP

!!!trackedCurrency!!!

The original currency in which the purchase was made. This is only available if it's a different currency compared to the Advertiser's program currency. This is the 3 digit uppercase currency code

EUR

!!!trackedAmount!!!

The total sale amount in the original purchase currency (!!!trackedCurrency!!!)

20.04

POST Request (JSON)

In a POST request, Awin sends a JSON payload to your specified URL. The content-type is application/x-www-form-urlencoded; charset=UTF-8.

Returning the response

echo $_POST["AwinTransactionPush"];

Example Response

{
  "transactionId": "105956531",
  "transactionDate": "2013-06-13 12:05:00",
  "transactionCurrency": "GBP",
  "transactionAmount": "26.09",
  "affiliateId": "45628",
  "merchantId": "3661",
  "groupId": "0",
  "bannerId": "0",
  "clickRef": "LINKCMP2013-06",
  "clickThroughTime": "2013-06-13 12:00:00",
  "ip": "127.0.0.1",
  "commission": "1.64",
  "clickTime": "2013-06-13 12:00:00",
  "url": "http://www.publisher-domain.com/advertiser/product/",
  "phrase": "Electronic music",
  "searchEngine": "MSN Live Search",
  "commissionGroups": [
    {
      "id": "47963",
      "name": "CD",
      "code": "CD",
      "description": "CD"
    },
    {
      "id": "47965",
      "name": "DVD",
      "code": "DVD",
      "description": "DVD"
    }
  ],
  "products": [
    {
      "productName": "The Knife – Silent Shout",
      "unitPrice": "5.55",
      "skuType": "",
      "skuCode": "B000EMSUQA",
      "quantity": "2",
      "category": "Electronic Music",
      "cgId": "47963"
    },
    {
      "productName": "Sigur Ros - Heima",
      "unitPrice": "14.99",
      "skuType": "",
      "skuCode": "B000EMSUQA",
      "quantity": "1",
      "category": "Music DVD",
      "cgId": "47965"
    }
  ]
}

Receive notifications using Zapier

If you are not familiar working with callback URL’s here is an easy guide on how to utilize Zapier to receive notifications however you like in for example email, slack or any other tool that is connected with Zapier.

  1. Follow the steps at the top of this page to Enable Transactions Notifications for your account.

  2. Set Callback Method to POST and status to Enabled

  3. Choose to include Product data or Click Source Data as needed

  4. In Zapier, create a new Zap with Webhooks by Zapier as the trigger (dont have an account yet? Click here for more information) .

  5. Select Catch Hook or Catch Raw Hook.

    • Catch Hook: Allows you to select specific data points for use in subsequent actions.

    • Catch Raw Hook: Captures the full JSON payload for advanced processing.

  6. Zapier will provide a unique webhook URL. Copy this URL.

  7. Paste the Zapier webhook URL into the Callback URL field in your Awin Transaction Notifications settings.


  8. Return to Zapier and test the trigger to ensure it's receiving data.

    Using dynamic Output fields

    Usually Zapier allows you to use the Output from previous steps of your flow in following Actions. When working with webhooks Zapier doesn’t immediately know what the response will look like. This could limit your ability to dynamically fill the body of your next Action.

    Either keep refreshing for test records until a real transaction is picked up by the webhook so it learns about the parameters present in the response or choose to Catch Raw Hook in the step before to collect the fully response and parse this in your Action step. You can then go back to Zapier later once you have a transaction to test with.

  9. Configure subsequent actions in Zapier, such as sending an email or posting to a Slack channel, using the transaction data.​

  1. Complete the action step as you prefer. In this example we send a notification email to an email address containing some details of the transaction:

  1. Test and publish your Zap!

  1. Follow the steps at the top of this page to Enable Transactions Notifications for your account.

  2. Set Callback Method to GET and status to Enabled

  3. In Zapier, create a new Zap with Webhooks by Zapier as the trigger (dont have an account yet? Click here for more information) .

  4. Select Catch Hook

  5. Zapier will provide a unique webhook URL. Copy this URL.

  6. Paste the Zapier webhook URL into the Callback URL field in your Awin Transaction Notifications settings.

  7. Now specify exactly which datapoints you would like to capture from a transaction.

    1. For reference have a look a the table with placeholders above.

    2. For each variable add a name (e.g. amount, commission or id) and add the placeholder separated by &

      For Example:

  1. Go back to Zapier and Test your trigger. If any transactions have been tracked, since adding the Callback URL and enabling the Notifications, they should show up as possible test records. If this isn’t the case Zapier doesnt yet recognize the dynamic output fields and you can’t use them in further Actions of your flow. You might need to wait till a transaction has happened.

  1. Complete your follow up Actions. In the example below we send an email for every transaction that is tracked.

  1. Finally test your Zap and publish it. You will now receive notifications!


Was this article helpful?