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

# MyLead and ClickFlare Integration Guide

> Track MyLead offers in ClickFlare: pass the click ID in ml_sub1, add the postback under Postback and API, and send the payout as a decimal.

![MyLead and ClickFlare Integration](https://mintcdn.com/clickflare/VQTm_IbloDE7ntcf/images/integrations/covers/mylead.png?fit=max\&auto=format\&n=VQTm_IbloDE7ntcf\&q=85\&s=6e881c314d92f5d39f0149b3295cd577)

MyLead is a Polish affiliate network that runs offers in many verticals, on CPS, CPL, CPA, PPI and COD models. As an affiliate, you work in MyLead's own panel: you request access to a campaign, get its tracking link once MyLead verifies you, and add your postback in the **Postback and API** section. MyLead also has OfferWall and content-locker products. This guide covers regular campaigns.

To track MyLead offers in ClickFlare, two links have to carry the ClickFlare click ID in both directions:

* **The offer URL** sends the ClickFlare click ID to MyLead in `ml_sub1`.
* **The postback URL** sends it back to ClickFlare with every conversion, together with the payout and a unique transaction ID.

This guide covers the full setup, why the payout must be `[payout_decimal]` and not `[payout]`, which lead status should fire the postback, and how to check that it all works.

> [!TIP]
>
> Only need the two values? The [Click ID & postback macros](/docs/en/integrations/click-id-and-postback-macros.md?q=mylead) page has them ready to copy with your tracking domain.

***

## How the data flows

```text theme={null}
Ad click
  → https://trk.yourdomain.com/cf/r/CAMPAIGN?...
     (ClickFlare records the click and generates the click ID)
  → [optional lander → CTA uses the ClickFlare click URL]
  → https://golead.pl/p/F6SR/adXF/SQLD?ml_sub1=CF_CLICK_ID
     (MyLead stores the ClickFlare click ID in ml_sub1)
  → Visitor converts on the advertiser's page
  → MyLead fires your postback:
     https://trk.yourdomain.com/cf/cv?click_id=CF_CLICK_ID&payout=4.00&txid=MYLEAD_TRANSACTION_ID
     (ClickFlare matches the conversion to the original click)
```

The two links mirror each other:

| Link | Built from | MyLead side | ClickFlare side |
| - | - | - | - |
| **Offer URL** (in ClickFlare) | MyLead's parameter + ClickFlare's token | `ml_sub1` | `{cf_click_id}` |
| **Postback URL** (in MyLead) | ClickFlare's parameter + MyLead's macro | `[ml_sub1]`, `[payout_decimal]`, `[transaction_id]` | `click_id`, `payout`, `txid` |

> [!NOTE]
>
> **Offer URL = their parameter + your token. Postback URL = your parameter + their macro.** MyLead writes the click ID into `ml_sub1` on the way in and reads it back with the `[ml_sub1]` macro on the way out. MyLead macros are wrapped in square brackets, not braces.

***

## What you'll need

* An active ClickFlare account with your **own tracking domain** set up. Shared domains get flagged by networks and blocked by browsers. See [Tracking domains](/docs/en/settings/tracking-domains.md).
* A MyLead account with at least one **traffic source** added. MyLead won't let you request a campaign without one.
* A campaign that MyLead has verified for you. Verification can take some time, so request it before you plan to launch.

***

## What the MyLead template contains

ClickFlare has a **MyLead** affiliate network template. It fills in the MyLead macros ClickFlare needs.

![The MyLead template in ClickFlare: Click Id is \[ml\_sub1\], Payout is \[payout\_decimal\] and Transaction ID is \[transaction\_id\]](https://mintcdn.com/clickflare/PKYGC-ZYZsK7Zcur/images/integrations/mylead/clickflare-mylead-template-parameters.png?fit=max\&auto=format\&n=PKYGC-ZYZsK7Zcur\&q=85\&s=5d22e7db572eb6e0bd97419b40d485ff)

| Field | MyLead macro (AN Token) | ClickFlare parameter | What it does |
| - | - | - | - |
| **Click Id** | `[ml_sub1]` | `click_id` | Returns the ClickFlare click ID that the offer URL put in `ml_sub1`. |
| **Payout** | `[payout_decimal]` | `payout` | Your commission as a decimal number, for example `4.00`. See [why](#payout-decimal-not-cents). |
| **Transaction ID** | `[transaction_id]` | `txid` | MyLead's unique ID for each conversion. See [why](#why-the-transaction-id-matters). |
| **Event Type** | leave empty | `ct` | The conversion type. MyLead doesn't send an event name, so leave it empty. |

***

## Payout: decimal, not cents

MyLead has two payout macros:

| Macro | Value for a 4.00 commission | Use it? |
| - | - | - |
| `[payout_decimal]` | `4.00` | **Yes** |
| `[payout]` | `400` (in cents) | No |

`[payout]` sends your commission in cents. ClickFlare reads the `payout` parameter as a regular amount, so a 4.00 commission becomes 400.00 in your reports: 100 times too high.

> [!WARNING]
>
> Until October 2026, the ClickFlare MyLead template used `[payout]`. If you set up MyLead in ClickFlare before that, your revenue is 100x too high. To fix it:
>
> 1. In ClickFlare, open your MyLead affiliate network and change **Payout** to `[payout_decimal]`.
> 2. Copy the new postback URL and replace the old one in MyLead under **Postback and API**.
> 3. Correct the revenue of conversions recorded with the old URL. ClickFlare doesn't change them for you.

***

## Setup

Everything in ClickFlare is done from inside the campaign editor. Create the offer and the affiliate network inline as you go.

**1. Set up your own tracking domain**

Add a custom tracking domain before anything else, for example `trk.yourdomain.com`. The postback URL is built on this domain, so changing it later means updating the postback in MyLead too. See [Tracking domains](/docs/en/settings/tracking-domains.md).

**2. Report conversions by postback time**

Go to **Settings → General Settings** and set **Conversion registration time reporting** to **Postback Timestamp**.

MyLead reports a conversion on the day it happened. With the default **Visit Timestamp**, ClickFlare reports it on the day of the original click, so a conversion that comes in days later lands on a different date in each platform. See [Conversion registration time](/docs/en/settings/conversion-registration-time-reporting.md).

> [!NOTE]
>
> This is an account-wide setting. It changes the date conversions are reported on for every campaign.

**3. Create the campaign**

Go to **Campaigns → New Campaign**, choose **Redirect tracking**, pick your traffic source and select your tracking domain. See [Creating a campaign](/docs/en/campaigns/creating-a-campaign-in-click-flare.md).

**4. Create the MyLead affiliate network**

While creating the offer for the campaign, create a new affiliate network in its **Affiliate Network** field. You can also create it first under **Affiliate Networks → + New**. Either way:

1. Search for **MyLead** and pick the template.
2. Check that **Click Id** is `[ml_sub1]`, **Payout** is `[payout_decimal]` and **Transaction ID** is `[transaction_id]`.
3. Leave **Event Type** empty.
4. Under **Conversion tracking**, select your own **Tracking Domain** and keep **S2S Postback URL** as the tracking method.
5. Set **Payout currency** to the currency your MyLead commissions are paid in.

ClickFlare builds the postback URL from these fields:

```text theme={null}
https://trk.yourdomain.com/cf/cv?click_id=[ml_sub1]&payout=[payout_decimal]&txid=[transaction_id]
```

![The Conversion tracking section of the MyLead network in ClickFlare, with the generated postback URL: click\_id=\[ml\_sub1\], payout=\[payout\_decimal\] and txid=\[transaction\_id\]](https://mintcdn.com/clickflare/PKYGC-ZYZsK7Zcur/images/integrations/mylead/clickflare-mylead-postback-url.png?fit=max\&auto=format\&n=PKYGC-ZYZsK7Zcur\&q=85\&s=d1ea694f6e475a35d39da14355aeb0c3)

Copy the postback URL and save the network.

**5. Get the campaign's tracking link from MyLead**

MyLead gives you a link only after it verifies you for the campaign:

1. If you haven't yet, add a traffic source under **Traffic sources → New traffic source** (in the **Affiliate marketing** menu).
2. Go to **Campaigns → List of campaigns** and pick the offer.
3. Choose your traffic source, describe how you'll promote the offer and click **Send for verification**.
4. Once MyLead accepts it, open the offer and copy its **URL address**.

The link looks like this:

```text theme={null}
https://golead.pl/p/F6SR/adXF/SQLD
```

**6. Create the offer in ClickFlare**

In the offer form:

1. Name the offer.
2. Select the MyLead affiliate network you just created.
3. Paste the MyLead link into **Offer URL** with `?ml_sub1={cf_click_id}` at the end. If the link already has a `?`, use `&ml_sub1={cf_click_id}`:

```text theme={null}
https://golead.pl/p/F6SR/adXF/SQLD?ml_sub1={cf_click_id}
```

![The ClickFlare New Offer form with the MyLead affiliate network selected and ml\_sub1=\{cf\_click\_id} in the Offer URL](https://mintcdn.com/clickflare/PKYGC-ZYZsK7Zcur/images/integrations/mylead/clickflare-mylead-offer-url.png?fit=max\&auto=format\&n=PKYGC-ZYZsK7Zcur\&q=85\&s=9bcd55884b60af5010e112a0cbbe85aa)

If you pasted the link without `ml_sub1`, you can turn on **Append Click ID to Offer Url** instead. ClickFlare then adds `ml_sub1={cf_click_id}` from the template. Use one or the other, not both.

> [!WARNING]
>
> Write `{cf_click_id}` with braces. Without them MyLead stores the literal text `cf_click_id`, the postback returns that text, and the conversion cannot be matched to a click.

Set the payout to **Auto** so ClickFlare uses the `payout` value from the postback.

**7. Add the postback in MyLead**

In MyLead, open **Postback and API** in the left menu, just below the statistics and reports. Older guides call it **For Webmasters → Postback** or **Manage → Postback and API**. Then:

1. Click **Add a new Postback URL**.
2. In **Lead status that activates postback**, pick **Available to pay** or **Accepted**. Not **Any**. See [Which lead status to pick](#which-lead-status-to-pick).
3. Paste the ClickFlare postback URL into **Postback URL**.
4. Save it. Depending on the panel version, the button says **Create postback URL** or **Generate**.

MyLead highlights the macros it recognises in green. If `[ml_sub1]`, `[payout_decimal]` or `[transaction_id]` isn't green, check its spelling.

MyLead's guides show this postback as account-wide, so it covers all your campaigns. None of them describe a postback for a single program.

**8. Add a lander (optional)**

If you send traffic through a lander before the offer, the lander's CTA must use the **ClickFlare click URL**, not the MyLead link. ClickFlare then adds the click ID when it redirects to the offer. See [Paths with landers and offers](/docs/en/campaigns/campaign-s-path-destination-to-landers-offers.md).

**9. Save the campaign and launch**

Save the campaign, copy the campaign URL from the **Tracking** tab and use it in your ads. Before you spend money on traffic, run the checks in [Verify the setup](#verify-the-setup).

***

## Which lead status to pick

A MyLead lead moves through statuses as the advertiser reviews it. **Lead status that activates postback** decides which of them fire your postback:

| Status | Meaning | Use it? |
| - | - | - |
| **Available to pay** | Approved by the advertiser. The commission can be withdrawn. | **Yes**, if you want ClickFlare to count only what you're paid |
| **Accepted** | Pre-approved, waiting for the advertiser's final approval | **Yes**, if you want conversions sooner and accept that a few may still be rejected |
| **Pending** | Recorded but not yet reviewed. Mostly on CPS offers. | Only if you want every sale fast and plan to correct rejections by hand |
| **Rejected** | Rejected by MyLead or the advertiser | No |
| **Any** | Fires on every status change | No |

The labels differ slightly between panel versions and languages. Some show **Approved** instead of **Available to pay** and **Pre-approved** instead of **Accepted**.

### Why not Any

MyLead calls **Any** the most common choice, and says that with it you must add `[status]` to the URL, or the statistics don't count correctly. That advice is for trackers that read the status. ClickFlare doesn't.

With **Any**, one lead can reach ClickFlare as pending, then accepted, then rejected, each time with the same click ID and `[transaction_id]`. ClickFlare treats them as one conversion and keeps the last one received. A lead MyLead rejected stays in your numbers as a conversion with a payout.

If you still want to see each lead's status, add `&param1=[status]` to the postback URL. ClickFlare stores it as an extra value on the conversion, so you can tell the statuses apart in reports. It doesn't stop rejected leads from counting.

> [!NOTE]
>
> A narrow status has a cost too: nothing reaches ClickFlare until the lead gets that status. If conversions show in MyLead's statistics but not in ClickFlare, check the lead's status before anything else.

***

## Why the transaction ID matters

By default ClickFlare keeps **one conversion per click ID**. If several postbacks arrive with the same click ID and no transaction ID, ClickFlare treats them as the same conversion, and you only see one of them (the last one received). The `txid` parameter tells ClickFlare that each postback is a separate conversion, so its value has to be **different on every conversion**.

MyLead describes `[transaction_id]` as a unique transaction identifier:

* **Two conversions on the same click**, for example two sales on a CPS offer, should each be their own transaction with their own `[transaction_id]`, so ClickFlare counts both.
* **A resent postback** for the same conversion carries the same `[transaction_id]`, so ClickFlare doesn't count it twice.
* **A status change** on the same lead is expected to keep its `[transaction_id]`, so it replaces the earlier conversion instead of adding one. That's why the status you pick matters.

MyLead doesn't document how it handles offers that pay on several steps. If yours does, ask your MyLead manager whether each step comes as its own transaction.

***

## Verify the setup

**1. Click through the campaign**

Open the ClickFlare campaign URL (with a lander, also click the CTA). When the offer loads, the first request goes to the MyLead link. Check that it has `ml_sub1=` followed by a real ClickFlare click ID, not the literal text `{cf_click_id}`.

**2. Check the sub ID in MyLead**

MyLead shows your sub IDs under **Statistics → Leads**. Once a lead comes in, check that its `ml_sub1` holds the ClickFlare click ID.

**3. Check the conversion in ClickFlare**

We found no postback test button for MyLead affiliates, so the first real conversion with your chosen status is your test. It should appear on the campaign with the payout as a decimal, for example `4.00`, not `400`. In **Logs → Event Logs**, check that it arrived with a `txid`.

***

## Troubleshooting

> **Conversions show in MyLead but not in ClickFlare**
>
> Work through these in order:
>
> * **The lead doesn't have the status yet.** A postback on **Available to pay** fires only when the advertiser approves the lead. Check the lead's status under **Statistics → Leads**.
> * **ml\_sub1 is empty in MyLead.** The offer URL is missing `ml_sub1={cf_click_id}`, or your lander's CTA links straight to MyLead instead of using the ClickFlare click URL.
> * **The sub IDs don't match.** The offer URL uses `ml_sub2` but the postback reads `[ml_sub1]`, or the other way around.
> * **A macro isn't recognised.** If MyLead didn't mark it green when you saved, it's misspelled. MyLead macros use square brackets and lowercase.
>
> See [Troubleshooting S2S postbacks](/docs/en/tracking/troubleshooting-s2s-postback-url-in-clickflare.md) for the general checks.

> **The payout is 100 times too high**
>
> The postback uses `[payout]`, which MyLead sends in cents. Change **Payout** to `[payout_decimal]` in the ClickFlare affiliate network and paste the new URL into MyLead. See [Payout: decimal, not cents](#payout-decimal-not-cents).

> **Rejected leads still count in ClickFlare**
>
> The postback fires on **Any** or **Pending**, so the lead reached ClickFlare before it was rejected. Switch to **Available to pay** or **Accepted**, and adjust the conversions already recorded.

> **The payout is in the wrong currency**
>
> `[payout_decimal]` has no currency. Set the affiliate network's **Payout currency** in ClickFlare to the currency of your MyLead commissions. To see the currency MyLead sends with each conversion, add `&param2=[currency]` to the postback URL.

***

## FAQ

> **Why ml\_sub1?**
>
> `ml_sub1` is the ClickFlare template's default and what MyLead's own guide uses for the tracker's click ID. MyLead has `ml_sub1` to `ml_sub5`, and other trackers use different ones. Any of them works as long as the offer URL and the postback use the same one: for example `ml_sub2={cf_click_id}` in the offer URL and `click_id=[ml_sub2]` in the postback.

> **Can I pass more data to MyLead?**
>
> Yes. Use the other sub IDs in the offer URL, for example `ml_sub2={campaign_id}&ml_sub3={trackingField1}`. MyLead shows them under **Statistics → Leads**. Keep `ml_sub1` for the click ID.

> **Does this work for MyLead's OfferWall?**
>
> OfferWall postbacks are set up per OfferWall configuration and send different values, such as points. This guide covers regular campaigns only.

> **Can I send the conversion back to my traffic source?**
>
> Yes. Once ClickFlare records the MyLead conversion, it can send it to the traffic source through the traffic source's postback or conversion API integration. Nothing changes on the MyLead side.

***

## Related

> **[Macro reference](/docs/en/integrations/click-id-and-postback-macros.md)**
>
> Every network's values

> **[Postback parameters](/docs/en/tracking/click-flare-parameters-in-postback-urls.md)**
>
> click\_id, txid, param1

> **[Postback issues](/docs/en/tracking/troubleshooting-s2s-postback-url-in-clickflare.md)**
>
> Troubleshoot S2S


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