> ## Documentation Index
> Fetch the complete documentation index at: /docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Yeesshh Conversion Tracking & Postback Setup

> Set up Yeesshh conversion tracking in ClickFlare: {conversion} click ID, {bid} cost, a campaign goal, and the xml.yeesshh.com postback with c and value.

![Yeesshh traffic source template](https://mintcdn.com/clickflare/vJtghtd_XfrC_OXQ/images/integrations/covers/templates/yeesshh.png?fit=max\&auto=format\&n=vJtghtd_XfrC_OXQ\&q=85\&s=cfae4a951ae531b0b7459161aa8fd191)

Yeesshh is a real-time bidding platform for pop and redirect traffic: pop-unders, popups, new tabs, interstitials, on-click, redirect and domain parking, on desktop and mobile. You bid per thousand impressions, impression by impression. This guide sets up Yeesshh as a traffic source in ClickFlare. It covers passing Yeesshh's click data into your reports and sending conversions, with payout, back to Yeesshh so you see them in Yeesshh and can use its optimization.

You do everything from the **campaign editor**. The Yeesshh traffic source is created inline, without leaving the campaign.

## At a glance

| | |
| - | - |
| **Ad formats** | Pop-under, popup, new tab, interstitial, on-click, redirect, domain parking |
| **Click ID macro** | `{conversion}`, Yeesshh's click ID |
| **Conversion tracking** | S2S postback to `xml.yeesshh.com`. A conversion goal is required in the Yeesshh campaign. |
| **Payout passed back** | Yes, in the `value` parameter |
| **Multiple events** | Not documented. Send one event. |
| **Cost** | Passed per visit by the template (`{bid}`). Cost Model: **Not Tracked**. Check it against your Yeesshh spend. |
| **Conversion API** | No |

## How it works

**1. Yeesshh sends the visit**

Yeesshh wins an impression and opens your ClickFlare campaign URL as a pop. It fills in its macros: the click ID in `conversion`, your bid in `bid`, plus the ad, keyword and publisher feed, point and zone.

**2. ClickFlare stores the Yeesshh click ID**

ClickFlare saves the value of `conversion` as the visit's **External ID**, records the cost, and redirects the visitor to your lander or offer.

**3. The conversion reaches ClickFlare**

Your affiliate network or store posts the conversion back to ClickFlare, matched on the ClickFlare click ID.

**4. ClickFlare posts it back to Yeesshh**

ClickFlare fires the Yeesshh postback, replacing `{external_id}` with the stored Yeesshh click ID and `{payout}` with the revenue. Yeesshh matches it to the original visit and counts it against your goal.

> [!NOTE]
>
> The mirror to keep straight: in the **campaign URL** you write *ClickFlare's* parameter (`conversion`) and *Yeesshh's* macro (`{conversion}`). The template does this for you. In the **postback URL** you write *Yeesshh's* parameter (`c`) and *ClickFlare's* token (`{external_id}`).

## Before you start

* **Set up your own tracking domain.** Run the campaign and the postback on your own custom domain. Shared domains get flagged by networks and blocked by browsers. See [Custom Domains](/docs/en/settings/custom-domains.md).
* **Have an offer ready in ClickFlare**, and its affiliate network set up to post conversions back to ClickFlare. See [Creating an Offer](/docs/en/tracking/creating-an-offer-1.md) and [Adding an Affiliate Network](/docs/en/tracking/adding-an-affiliate-network.md).
* **Fund your Yeesshh account.** Campaigns only run with a balance.
* **Plan the conversion goal.** Yeesshh only records conversions for campaigns that have a goal. You create it when you set up the Yeesshh campaign, in Step 4.

***

## Step 1 – Create the campaign and the Yeesshh traffic source

1. Go to **Campaigns** and click **New**.
2. In **Traffic Source**, open the dropdown and click **+ New Traffic Source**.
3. Type `yeesshh` in the search box and select the **Yeesshh** template.
4. Enter a **Name**, for example `Yeesshh`.
5. Leave **Cost currency** on **USD** unless your Yeesshh account is billed in another currency.

The template fills in the **Parameters** table for you:

| Name | TS Parameter | TS Token (Yeesshh macro) | ClickFlare Token | What it carries |
| - | - | - | - | - |
| cost | `bid` | `{bid}` | `{cost}` | Your bid for the visit. See [Cost](#cost). |
| externalId | `conversion` | `{conversion}` | `{external_id}` | Yeesshh's click ID. Required for the postback. |
| Ad ID | `banner` | `{banner}` | `{trackingField1}` | Your Yeesshh ad (the pop ad) |
| Keyword | `keyword` | `{keyword}` | `{trackingField2}` | The keyword the visit matched. Empty or generic on RON campaigns. |
| Publisher Feed ID | `pubfeed` | `{pubfeed}` | `{trackingField3}` | The publisher feed that sold the impression |
| Publisher point ID | `pubpoint` | `{pubpoint}` | `{trackingField4}` | The publisher's traffic point within the feed |
| Publisher zone ID | `pubzone` | `{pubzone}` | `{trackingField5}` | The publisher zone |

![The Yeesshh template's Parameters table in ClickFlare, with Yeesshh's macros pre-filled](https://mintcdn.com/clickflare/vJtghtd_XfrC_OXQ/images/integrations/templates/yeesshh/parameters.png?fit=max\&auto=format\&n=vJtghtd_XfrC_OXQ\&q=85\&s=77912c418fc44e9731739b5fda9a3b38)

Each tracking field becomes a column you can group reports by. `pubfeed`, `pubpoint` and `pubzone` are the ones you will use most. Together they tell you which publisher sources convert, from the broadest level (feed) to the narrowest (zone). `keyword` matters when you target keywords instead of run-of-network.

ClickFlare detects country, device, OS, browser and IP from the visit itself, so Yeesshh doesn't need to pass them.

> [!WARNING]
>
> Don't change or remove the `externalId` row. Without `conversion={conversion}` in the campaign URL, ClickFlare has no Yeesshh click ID to send back, and Yeesshh cannot match your conversions.

The template's list isn't every macro Yeesshh has. To pass more, click **Add Parameter**, give it a name and parameter, and enter the Yeesshh macro as the **TS Token**. ClickFlare assigns the next free tracking field. Check the macro in your Yeesshh account before adding it.

## Step 2 – Set up the postback

The postback is what sends conversions to Yeesshh. It lives on the traffic source, so every campaign that uses this Yeesshh traffic source sends conversions the same way.

1. In the **New Traffic Source** form, scroll to **Passing conversion info to traffic source**.
2. Turn on **Traffic source postback URL**. The template's postback appears:

```text theme={null}
http://xml.yeesshh.com/conversion?c={external_id}&value={payout}
```

![The Traffic source postback URL switched on, showing the Yeesshh template's postback](https://mintcdn.com/clickflare/vJtghtd_XfrC_OXQ/images/integrations/templates/yeesshh/postback.png?fit=max\&auto=format\&n=vJtghtd_XfrC_OXQ\&q=85\&s=bdbd2f6a7f4c9ea5717e68ea3d179b53)

It already sends the click ID (`{external_id}`) in `c` and the payout (`{payout}`) in `value`, both as ClickFlare tokens. There are no placeholders to replace: no account ID, no username.

3. Optionally, change `http://` to `https://`. Yeesshh's postback endpoint answers on both. HTTPS keeps the request encrypted:

```text theme={null}
https://xml.yeesshh.com/conversion?c={external_id}&value={payout}
```

4. In the dropdown on the left, choose the ClickFlare event that should fire the postback. Keep **Conversions** to send every conversion. If your final action is a custom conversion (for example `purchase`), choose that instead.
5. Click **Save**. You are back in the campaign editor with the Yeesshh traffic source selected.

Don't replace `{external_id}` with ClickFlare's `{cf_click_id}`. That is ClickFlare's own click ID, and Yeesshh has never seen it. Yeesshh needs its own ID back in `c`.

> **Sending only some conversions**
>
> Yeesshh documents a single conversion goal per campaign. If your funnel has several steps (lead, then sale), map the postback to the one step Yeesshh should count, usually the final sale. Earlier steps still show in ClickFlare. They just don't reach Yeesshh.
>
> To send a postback only for some conversions, for example only those above a certain payout, use **Event filter** under the postback to add conditions. See [Custom Conversions](/docs/en/settings/custom-conversions.md).

To learn what each postback token does, see [How to Configure a Traffic Source S2S Postback URL](/docs/en/tracking/how-to-configure-a-traffic-source-s2s-postback-url.md).

## Step 3 – Finish the campaign and copy its URL

1. Name the campaign.
2. Set the **Cost Model** to **Not Tracked**, so ClickFlare uses the cost Yeesshh passes. See [Cost](#cost).
3. Choose **Redirect** tracking. Pop traffic opens your URL directly, so Redirect is the usual choice.
4. Click **Next** and, on **Destination**, add your lander (optional) and your offer.
5. Save, open **Tracking**, select your own tracking domain and copy the **campaign URL**.

The campaign URL already contains every Yeesshh macro from the template, for example `conversion={conversion}` and `pubzone={pubzone}`.

If you use a lander, its call-to-action must link to the ClickFlare **click URL**, not to the offer directly. Otherwise the visit reaches the offer without a ClickFlare click ID, and the conversion cannot be traced back to Yeesshh.

See [Creating a Campaign in ClickFlare](/docs/en/campaigns/creating-a-campaign-in-click-flare.md).

## Step 4 – Create the campaign in Yeesshh

1. In Yeesshh, open the **Campaigns** menu and select **New campaign**.
2. On **Campaign and budget**, enter a name, set your budget and bid options, and click **Next**.
3. On **Ad group targeting**, set location, day parting and device options, and click **Next**.
4. On **Keywords**, leave **RON** on to target all sources, or enter specific keywords. Click **Next**.
5. On **TQ & Analytics**, click **Show conversion tracking**, then **New goal**. Name the goal and, if needed, change its coefficient (multiplier). Click **Next**.
6. On **Pop ads**, click **New Pop Ad** and paste the ClickFlare campaign URL into **Destination URL**.
7. Click **Submit**, then **Finish**.

> [!WARNING]
>
> Create the goal in step 5. Yeesshh needs a goal to record the conversions ClickFlare sends. Without one, the postback reaches Yeesshh but the conversions don't show in your Yeesshh stats or feed its optimization.

Paste the URL exactly as ClickFlare gives it. Yeesshh replaces each `{...}` macro when it opens the pop.

## Step 5 – Test the integration

Yeesshh has no documented test tool. Test with live traffic on a small budget.

1. Launch the campaign and wait for the first visits.
2. In ClickFlare, open the campaign's report. Visits should show a Yeesshh click ID as their External ID, a cost, and values in the publisher feed, point and zone columns.
3. Complete the offer the way a real visitor would, from a visit that came through Yeesshh.
4. In ClickFlare, go to **Logs → Postback Status** and filter by the campaign. A successful request to `xml.yeesshh.com` confirms ClickFlare sent the postback.
5. In Yeesshh, check that the conversion appears against your goal.

Yeesshh's endpoint returns readable errors, which show in **Logs → Postback Status**:

| Response | Meaning |
| - | - |
| `conversion parameter is missing` | The `c` parameter was removed or renamed in the postback. Restore `c={external_id}`. |
| `Invalid key ...` | Yeesshh doesn't recognize the click ID. The conversion didn't come from a real Yeesshh visit, or `{external_id}` was empty. |

***

## Cost

The template passes cost per visit. The `cost` row reads Yeesshh's `{bid}` macro into ClickFlare's `{cost}`, and ClickFlare records it as the visit's cost.

On the campaign, set the **Cost Model** to **Not Tracked** so ClickFlare uses the cost passed in the URL.

> [!NOTE]
>
> Yeesshh bids are CPM (per 1,000 impressions), and `{bid}` is your bid, not necessarily the price you paid. After launch, compare ClickFlare's **Cost** column with your Yeesshh spend. If ClickFlare's cost is about 1,000 times too high, `{bid}` carries the CPM value: switch the Cost Model to **CPC** and enter your CPM bid divided by 1,000 as the cost value. A pop impression is roughly one visit.

When ClickFlare's cost drifts from your Yeesshh spend, correct it with a [manual cost upload](/docs/en/settings/manual-cost-upload.md). See [Cost Models](/docs/en/core-platform-concepts/cost-models.md).

ClickFlare has no cost-tracking API integration for Yeesshh.

## Delayed revenue

If you run search arbitrage (RSOC or AFD) behind Yeesshh's pop traffic, the feed reports revenue hours or days after the visit. To pass that revenue to Yeesshh once it arrives, see [Sending Delayed Revenue to Traffic Sources](/docs/en/advanced-tracking-configuration/how-to-send-delayed-revenue-to-traffic-sources.md).

***

## Troubleshooting

> **Conversions show in ClickFlare but not in Yeesshh**
>
> * The Yeesshh campaign has no goal. Add one on **TQ & Analytics**.
> * **Traffic source postback URL** is off on the Yeesshh traffic source.
> * **Disable sending postbacks to traffic source** is on in the campaign.
> * The postback is mapped to a different event than the one the conversion logged. Check **Logs → Event Logs** to see which event was recorded.
> * Check **Logs → Postback Status** for the response Yeesshh returned. The error responses are listed in Step 5.

> **Yeesshh shows conversions with no value**
>
> The template sends `value={payout}`, so it was removed or edited. Restore `&value={payout}` at the end of the postback. Also check the offer in ClickFlare has a payout, or that the affiliate network sends one.

> **Cost is far off from Yeesshh's spend**
>
> `{bid}` is your bid, and Yeesshh bids are CPM. See [Cost](#cost) for how to check and fix it.

> **Publisher columns are empty**
>
> The macros were not replaced, usually because the URL was edited or pasted somewhere Yeesshh doesn't process macros. Paste the campaign URL from ClickFlare unchanged into the pop ad's **Destination URL**. See [Traffic Source Tokens Arriving Empty](/docs/en/troubleshooting/tokens-arriving-empty.md).

For the general checklist, see [Conversions not showing](/docs/en/troubleshooting/conversions-not-showing.md).

***

**FREQUENTLY ASKED QUESTIONS**

> **Q1:** Can I use the same Yeesshh traffic source for all my Yeesshh campaigns?

**A1:** Yes. The postback has no account-specific part, so one traffic source serves every campaign. Each Yeesshh campaign still needs its own goal.

> **Q2:** Why is it `conversion` in the campaign URL and `c` in the postback?

**A2:** They are two halves of the same value. ClickFlare reads Yeesshh's click ID from its `conversion` parameter. Yeesshh expects it back in its own `c` parameter. Change neither.

> **Q3:** What does the goal coefficient do?

**A3:** It is a multiplier Yeesshh applies to the goal. Leave it at its default unless you have a reason to weight conversions. The payout ClickFlare sends in `value` is not changed by ClickFlare.

> **Q4:** Does this template work for Yeesshh's push traffic?

**A4:** Yeesshh's push notification traffic runs on a separate platform, Eureekkaa. This template is for Yeesshh's pop and redirect campaigns.

## Related

> **[Traffic source postbacks](/docs/en/tracking/how-to-configure-a-traffic-source-s2s-postback-url.md)**
>
> Every token you can use in a postback.

> **[Custom conversions](/docs/en/settings/custom-conversions.md)**
>
> Choose which event Yeesshh receives.

> **[Cost models](/docs/en/core-platform-concepts/cost-models.md)**
>
> How CPC, CPA and RevShare costs are calculated.

> **[Conversions not showing](/docs/en/troubleshooting/conversions-not-showing.md)**
>
> The general checklist when postbacks don't arrive.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.