Before you start

It is important to make a distinction between the following types of Webhooks:

Getting started

Make sure you are logged in to your Partner UI and click on Webhooks -> Manager in the navigation menu. If you do so, a page will appear looking more or less like this:

You will see the page has two sections: one for the Webhooks rules and one for the target Configurations. The rule defines under which conditions the target configuration you implement is fired. Under target configuration, you can register the actual http calls and define the parameters.

Implementing the target configuration

Overview

To implement a new target configuration, please click on the button create new target configuration in the target configuration section of the page. If you do so, a page will appear looking more or less like this:

The further proceedings depend on the type of Target configuration you are implementing. Currently, three types can be implemented:

Because they can effect the performance of the advertiser’s confirmation page, javascripts and iframes need to be approved by the platform administrator before they are activated.

Implementing an URL-based webhook

Please follow this steps:

  1. Enter a name and a description of your target configuration. Please do not activate the advanced mode, because it is only relevant for javascripts and iframes.

  2. Proceed to paste your target URL into the field under the header Target URL.

  3. Define the parameters in your URL. After you have pasted in your URL, the platform will automatically recognize all the parameters.

When you have selected the relevant placeholders for your dynamic parameters, all you have to do is click save at the bottom of the page.

If you want basket details to be transmitted via Webhooks, please read the section on image pixels in the article on transmitting basket details.

Advanced mode: Implementing an iframe or a javascript

iFrame and javascript are only available for Webhooks with browser-side delivery, which are deprecated, because they typically rely on 3rd-party tracking or 3rd-party JavaScript code loading. Due to browser restrictions with ITP/ETP, and future limitations of browsers, you should migrate from Webhooks using server-side delivery.

To implement an iframe or a javascript, make sure you go through the following steps:

  1. Start by giving your target configuration a name and a brief description.

  2. Proceed to activate the advanced mode by hitting the tick box. If you do so, you will see a new section appearing at the bottom of the page, called ‘tracking HTML codes’.

  3. Before you implement the iframe or the javascript , make sure you implement an image pixel under ‘tracking URL’. This is not mandatory, but it is recommendable as the image pixel can be used as a backup when your iframe or javascript cannot be fired because the customer’s browser settings are blocking iframes and javascript. If your image pixel contains dynamic parameters, make sure you add the correct placeholders.

  4. When you have created the fallback, scroll down the page to the ‘tracking HTML codes’ section. This section will look more or less like this:

In this section, go through the following steps:

  1. Remove all script that is visible in the field under ‘new version’ and replace it with the iframe or javascript you want to implement. In case you hadn’t implemented any javascript yet, the field under previous version will be empty. If you are replacing or editing a javascript or iframe, this field will contain the javascript you have implemented earlier.

  2. Make sure all dynamic parameters are filled with the right placeholders. These placeholders can be copied directly from the panel above the field where you paste the new javascript. Please note there are essential placeholders (order ID, order value and currency) and extended (such as ad media ID, timestamp and conversion site ID). If you want the javascript to transmit basket details, please read the section on javascript in the article on transmitting basket details via Webhooks.

  3. Further below in the section, you can write a comment for the platform administrator related to the iframe or javascript you want to implement, explaining the purpose of the iframe or javascript you are implementing, for example.

  4. As was mentioned above, your iframe or javascript needs to be approved by the platform administrator before it is activated. To request approval, select the tick box ‘save and request approval’ under ‘approval workflow state’. If you do not want to request approval yet, select the tick box ‘save, but do not request approval’.

When you are ready, please do not forget to click ‘save’ at the bottom of the page.

Editing a target configuration

If you want to edit a target configuration, just click on the  icon in the target configuration panel on the overview page. If you do so, you will be taken to the same page on which you have implemented your target configuration. Please note that changes in implemented iframes and javascripts need to be approved by the platform administrator again. You can use the section below the comments to compare differences between the new version and the previous one. The versions can be displayed next to each other and on top of each other.

Removing a target configuration

Before you are able to remove a code set, you need to make sure all tracking services connected with the code set have been removed. If this has been done, you will see a small  appear next to the code set in the code set panel. If you click on this icon and confirm your action in the system window, the code set will be removed.

Creating a new rule

After you have implemented your target configuration, you need to create a rule. The rule defines under which conditions the target configuration you have implemented is activated. To create a rule, go back to page with the overview of all Webhooks. Go to the panel Rules and click on the button ‘create new rule in the right lower corner of the page. If you do so, a new row will be added to the panel, looking more or less like this:

wFrom left to right, following settings have to be defined:

Webhooks with browser-side delivery are deprecated, because they typically rely on 3rd-party tracking or 3rd-party JavaScript code loading. Due to browser restrictions with ITP/ETP, and future limitations of browsers, you should migrate from Webhooks using server-side delivery.

To save your service, please click on the  icon.

Editing a rule

To edit a tracking service, all you need to do is click on the  icon in the panel. If you do so, you will see all values are unlocked. Change whatever you want and click on the  icon in the panel.

Removing a rule

You can remove a rule by clicking on the  icon in the rule panel and confirming your action in the system window appearing after you’ve clicked the icon. You can also choose to deactivate the rule by changing the status.

Creating replacements

Do I need to create replacements?

You only need to create replacements when the format of the values in the code’s parameters in your tracking configuration does not match with the format of your own system. In this case, a replacements will make sure that any sequence of characters is replaced by another sequence of characters you define. For example, you could use replacements to translate the names of Conversion Targets or Tracking Categories.

Creating replacements

To create a replacement set, make sure you go through the following steps:

Using the logs to troubleshoot server-side Webhooks

Webhook logs allow you to troubleshoot server-side Webhook executions. You will find comprehensive information in this article: Using the logs to troubleshoot server-side Webhooks

Testing Webhooks

Webhooks call your system and pass parameters. If you don’t have a testing area within your system, or your system is limited in terms of looking in to logs, you can you publicly available webhook-systems for testing purposes. This way your webhooks are executed, and you can debug the results.

There are several webhook-testing systems available:

Using Postman-Echo

  1. Use https://postman-echo.com/get as your target URL. For example:

https://postman-echo.com/get?ADVERTISER_MID=#{ADVERTISER_MID}&WINNER_AMC_ADSPACE_ID=#{WINNER_AMC_ADSPACE_ID}&...

2. Use the the webhook logs to see your webhooks in action:

Using the logs to troubleshoot server-side Webhooks

Using PostBin

note

Your PostBin will be available for 30 minutes. After that you have to create a new PostBin.

Your PostBin will be available for 30 minutes. After that you have to create a new PostBin.

To test webhooks, we recommend to use PostBin (https://www.toptal.com/developers/postbin/).

  1. Create a new bin

2. Your “bin” will get a unique Url, which you should write down. It has this form:

https://www.toptal.com/developers/postbin/${UNIQUE_ID}

3. You now can use the URL of your “bin” in your Webhook target URL for testing, for example:

https://www.toptal.com/developers/postbin/${UNIQUE_ID}?ADVERTISER_MID=#{ADVERTISER_MID}&WINNER_AMC_ADSPACE_ID=#{WINNER_AMC_ADSPACE_ID}&...

4. When the Ingenious-system fires a Webhook, you then can refresh you “bin” url in the browser to see incoming webhooks:

5. Use also the webhook logs to see your webhooks in action:

Using the logs to troubleshoot server-side Webhooks

Using RequestCatcher

  1. Open this website, and keep the website open:

https://wehook-test.requestcatcher.com

2. Configure the Target-URL of your webhook, for example:

https://wehook-test.requestcatcher.com/test?ADVERTISER_MID=#{ADVERTISER_MID}&WINNER_AMC_ADSPACE_ID=#{WINNER_AMC_ADSPACE_ID}&WINNER_AMC_ADMEDIA_ID=#{WINNER_AMC_ADMEDIA_ID}&...

3. Once a webhook is called, the website will show the call

4. Use also the webhook logs to see your webhooks in action:

Using the logs to troubleshoot server-side Webhooks