> For the complete documentation index, see [llms.txt](https://docs.exoclick.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.exoclick.com/advertisers/conversion-tracking/tracking-manuals/keitaro-tracking.md).

# How to track conversions with Keitaro

*This guide is for Keitaro only. If you want to know the generic steps for S2S tracking, please check the* [*Advertisers section*](/advertisers/conversion-tracking/conversion-tracking.md#using-conversion-tracking-api---s2s-recommended)*.*

ExoClick gives you access to global traffic sources, targeting features, big data and statistical analytical tools to filter results and optimise your campaigns. This manual explains how to track conversions on the ExoClick network when you are using tracking software Keitaro. In order to track your offer, you need Keitaro and ExoClick to speak to each other through their servers.

If you want to receive additional information, please check [Keitaro's integration guide.](https://docs.keitaro.io/en/traffic-sources/adding-traffic-source.html)

{% stepper %}
{% step %}

## Create the Goal ID for the Postback URL

Log into your ExoClick Admin Panel and go to **Campaigns > Conversions tracking**. This allows you to create the conversions tracking code to be used in your **postback URL**:

<figure><img src="/files/0U4GJm0MmFVFCfXoF5Ba" alt=""><figcaption></figcaption></figure>

Click "New Conversion Goal". There are three fields you must complete: **Name**, **Conversion Value** and **Order**. In **Name**, simply add a name for the goal, for example: "Postback".

The available Conversion Values are:

* **No Value:** value is 0
* **Fixed:** you determine the payout of the conversion manually when setting up the Goal.
* **Dynamic:** the value of the payout will be passed through the Postback URL. Dynamic value passing will be explained in detail later during the guide.

**Order** is used to organize the different goals you have created in your account. If you have created multiple Conversion Goals, the Order will help you organize how these goals are displayed in your Statistics and in the Campaigns List.

Once you have added all these fields, click on the "Create" button. The Admin Panel will display the structure of the Postback URL as well as the **Goal ID** corresponding to the Goal you just created. It should look something similar to this:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag=
```

You can also check our [Conversions Tracking](/advertisers/conversion-tracking/conversion-tracking.md) page to find out more details about our Goal creation process.
{% endstep %}

{% step %}

## Add ExoClick as a traffic source in Keitaro and configure the Postback

To track conversions on ExoClick you will need to add to your **campaign URL** a dynamic tracker called **{conversions\_tracking}**, which identifies each conversion uniquely.

You must store this tracker on Keitaro and get it to notify ExoClick’s server each time a user generates a conversion. This is done very simply by configuring ExoClick as the traffic source, using the pre-defined template. To do so:

1. Log in to your Keitaro dashboard.
2. Click the “Sources" tab, then click "Create"

<figure><img src="/files/e0LFqUIdjbhsTqohUPWY" alt=""><figcaption></figcaption></figure>

1. Choose ExoClick from the list of templates. Keitaro will pre-populate all the traffic source settings.

<figure><img src="/files/pUj2AvhV860O3Y45lH29" alt=""><figcaption></figcaption></figure>

1. Replace the **YOUR\_ID** value with the **goal ID** you generated in STEP 1.

**NOTE**: If you have selected “Dynamic” value when creating your Conversion goal STEP 1, then you must add **value={revenue}** at the end of the Postback URL. In this case, your postback URL will look like the following:

```json
http://s.magsrv.com/tag.php?goal=66a8605e6cce49fbb8056f273f8e1a2e&tag={external_id}&value={revenue}
```

5. Click "Create" to save the postback. Note that you will be able to review the Postback again later, when you set up the campaign.
   {% endstep %}

{% step %}

## Add an Affiliate Network Source to Keitaro (optional)

*If you are not using an Offer from an Affiliate platform, please skip to Step 4*

Click "Affiliate Networks", then click "Create":

<figure><img src="/files/tITkIkZDBepVKMRTEULE" alt=""><figcaption></figcaption></figure>

Select an Affiliate network from the list. The **"Offer Parameters"** will be populated with the tokens associated with that network. These parameters will be later added to all offers associated with this affiliate network.

If your Affiliate network is not on the list, you can manually define the parameters used by the affiliate platform of your choice.

Then, copy the Postback URL and place it in your affiliate network.

<figure><img src="/files/3Aa8eYTzjGI7rnkYiHUW" alt=""><figcaption></figcaption></figure>

**Note:** Remember that the Postback URL you see here corresponds to the Affiliate Platform. This is not the same postback URL as the one you used in Traffic Source settings.
{% endstep %}

{% step %}

## Add an Offer to Keitaro

Click the "Offers" tab, then click on "Create".

<figure><img src="/files/T8D2ARbmld9ZUhIQ9itc" alt=""><figcaption></figcaption></figure>

Add an "Offer Name" and select the "Affiliate Network", if you have any. Then, add the **URL of the offer**.

E.g:

```json
http://mypage.com/?a=14030&c=64375&s1=
```

<figure><img src="/files/j8e67geb0qhe8PSmEVWH" alt=""><figcaption></figcaption></figure>

Click on "Additional" to set the **Payout** from the offer. If your affiliate platform is able to send payout information through the postback, then leave the "Auto" option enabled. Otherwise, disable it and set up the payout amount and currency.

<figure><img src="/files/lEbWL5amErdPHA7lLEIH" alt=""><figcaption></figcaption></figure>

Regardless of the payout option selected, make sure to have **CPA** as the "Payout Type".

Click "Create" to finish the process.
{% endstep %}

{% step %}

## Create a Stream in Keitaro

Before you can set up a campaign in Keitaro, you need to create a **Stream**, which will determine how the traffic from the campaign is distributed across your offers and landing pages.

In order to create a Stream, go to "Campaigns", click "Create", then click on "Create Stream"

<figure><img src="/files/Ol8z7jXZQIGvLnXIVcyQ" alt=""><figcaption></figcaption></figure>

Click on "Schema", then click on "Add Offers" and select the Offer you created earlier.

<figure><img src="/files/r7mV9GHuLdsGJXcFaDKp" alt=""><figcaption></figcaption></figure>

You can also add a Landing Page, if you have any, and include "Filters" and "Monitors" to manage your traffic distribution.

Once you have made all the changes, save the Stream.
{% endstep %}

{% step %}

## Create a Campaign in Keitaro

Once the Stream has been created, the Create Campaign button will become available for you:

<figure><img src="/files/ULhEcEt9W5TV7zcNAXq3" alt=""><figcaption></figcaption></figure>

In order to create the campaign, follow these steps:

1. Add a name to your new campaign, then click Create.
2. Go to Settings and choose "ExoClick" as the Source. Leave the "Cost model" and "Costs Value" settings as they are.

<figure><img src="/files/p0ftmzefZYFE8a6e1CZn" alt=""><figcaption></figcaption></figure>

1. Click on "Parameters" and check that all the dynamic tokens are correct.
2. Click on "S2S Postbacks" and confirm that **ExoClick's Postback is correct**. You can also add additional Postbacks of your choice.

<figure><img src="/files/txVAw8hQbOhcBdG2IH2A" alt=""><figcaption></figcaption></figure>

1. Lastly, select the stream you created earlier and click Save to create the campaign.

You can now get the **Campaign URL** from this campaign:

<figure><img src="/files/ygKWKKbMooR1bi0eW8q0" alt=""><figcaption></figcaption></figure>

Your Campaign URL should be similar to the following:

```json
https://demo-en.keitaro.io/mpLFd5?keyword={tags}&cost={actual_cost}&currency={currency}&external_id={conversions_tracking}&creative_id={variation_id}&ad_campaign_id={campaign_id}&source={src_hostname}&siteid={site_id}&zoneid={zone_id}&catid={category_id}&country={country}&format={format}
```

Note that, depending your campaign settings in Keitaro, your **tracking domain** might be different. Nonetheless, the campaign URL should look similar to the above.

You will use this URL when setting up your campaign in ExoClick
{% endstep %}

{% step %}

## Set up the Campaign in ExoClick

Paste the campaign URL created in the previous step as your "Variation" for your ExoClick campaign. Make sure it contains the **{conversions\_tracking}** tag to send the conversion details to Keitaro.

<figure><img src="/files/Otc2mYr24EF9hPRqLVJa" alt=""><figcaption></figcaption></figure>

Finish the campaign set up. You can find a **detailed guide on how to create a campaign in Exoclick** [**here**](/advertisers/campaigns/creating-a-campaign/create-campaign-step1.md).

If the set up has been done correctly, you will start seeing conversions both in Keitaro and Exoclick. Do not forget to enable the corresponding Goal column in your [Campaigns List](/advertisers/campaigns/campaigns-list.md) and your [Statistics](/advertisers/advertiser-statistics.md)

If you need further guidance on how to set up Conversion tracking in Keitaro, don't hesitate to contact Keitaro support at [**support@keitaro.io**](mailto:support@keitaro.io). You can also contact [Exoclick's Customer Success](https://www.exoclick.com/contact/) to review these steps.
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.exoclick.com/advertisers/conversion-tracking/tracking-manuals/keitaro-tracking.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
