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

# Leadbit and ClickFlare Integration Guide

> Track Leadbit offers in ClickFlare: pass the click ID in sub1, set the global postback, and tick only the approved status so ClickFlare counts paid leads.

![Leadbit and ClickFlare Integration](https://mintcdn.com/clickflare/Yhae9Jga7DowS_ZL/images/integrations/covers/leadbit.png?fit=max\&auto=format\&n=Yhae9Jga7DowS_ZL\&q=85\&s=9f5312c14706a434780c8bc674d59779)

Leadbit has run affiliate offers since about 2013 and is best known for nutra **COD** (cash on delivery) offers. It now presents itself as a performance marketing agency. On a COD offer the visitor fills in an order form and Leadbit records a **new** lead. The advertiser's call center then phones the buyer. Only when the call center confirms the order is the lead **approved** and paid.

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

* **The offer URL** sends the ClickFlare click ID to Leadbit in `sub1`.
* **The postback URL** sends it back to ClickFlare with the payout and the lead's ID.

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

> [!NOTE]
>
> Leadbit has no public help center. The menu names in this guide come from tracker guides written between 2017 and 2024. Leadbit has rebranded since, so some labels may now read differently. If a menu doesn't match, look for the closest equivalent or ask your Leadbit manager.

***

## 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://leadbit-domain.com/ABCD?sub1=CF_CLICK_ID
     (Leadbit stores the ClickFlare click ID in sub1)
  → Visitor submits the order form: Leadbit records a new lead
  → Call center confirms the order: the lead is approved
  → Leadbit fires your postback:
     https://trk.yourdomain.com/cf/cv?click_id=CF_CLICK_ID&payout=25.00&txid=LEADBIT_LEAD_ID
     (ClickFlare matches the conversion to the original click)
```

The two links mirror each other:

| Link | Built from | Leadbit side | ClickFlare side |
| - | - | - | - |
| **Offer URL** (in ClickFlare) | Leadbit's parameter + ClickFlare's token | `sub1` | `{cf_click_id}` |
| **Postback URL** (in Leadbit) | ClickFlare's parameter + Leadbit's macro | `{sub1}`, `{cost}`, `{id}` | `click_id`, `payout`, `txid` |

> [!NOTE]
>
> **Offer URL = their parameter + your token. Postback URL = your parameter + their macro.** Leadbit writes the click ID into `sub1` on the way in and reads it back with the `{sub1}` macro on the way out. The parameter is lowercase `sub1`.

***

## 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 Leadbit affiliate account with access to the offer you want to run.

***

## What the Leadbit template contains

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

![The Leadbit template in ClickFlare: Click Id is \{sub1}, Payout is \{cost} and Transaction ID is \{id}](https://mintcdn.com/clickflare/Y5cTPxKs4V1QeWDx/images/integrations/leadbit/clickflare-leadbit-template-parameters.png?fit=max\&auto=format\&n=Y5cTPxKs4V1QeWDx\&q=85\&s=5969ab0a486847d6317923251f3839f5)

| Field | Leadbit macro (AN Token) | ClickFlare parameter | What it does |
| - | - | - | - |
| **Click Id** | `{sub1}` | `click_id` | Returns the ClickFlare click ID that the offer URL put in `sub1`. |
| **Payout** | `{cost}` | `payout` | Your commission for the lead. Despite the name, it's your payout, not a traffic cost. |
| **Transaction ID** | `{id}` | `txid` | Leadbit's ID for the lead. See [why](#why-the-transaction-id-matters). |
| **Event Type** | leave empty | `ct` | The conversion type. Leave it empty for the recommended setup. |

***

## 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 Leadbit 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**.

On COD offers, the approval comes in long after the click, and Leadbit postbacks can also be delayed. With the default **Visit Timestamp**, ClickFlare reports the conversion on the day of the original click, so past days keep changing as approvals arrive, and the dates don't match Leadbit's. 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 Leadbit 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 **Leadbit** and pick the template.
2. Check that **Click Id** is `{sub1}`, **Payout** is `{cost}` and **Transaction ID** is `{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 Leadbit offers pay in.

ClickFlare builds the postback URL from these fields:

```text theme={null}
https://trk.yourdomain.com/cf/cv?click_id={sub1}&payout={cost}&txid={id}
```

![The Conversion tracking section of the Leadbit network in ClickFlare, with the generated postback URL](https://mintcdn.com/clickflare/Y5cTPxKs4V1QeWDx/images/integrations/leadbit/clickflare-leadbit-postback-url.png?fit=max\&auto=format\&n=Y5cTPxKs4V1QeWDx\&q=85\&s=7358f5d3f387e175a7a3b4b833619b19)

Copy the postback URL and save the network.

> [!NOTE]
>
> Leadbit has a separate `{currency}` macro, which the template doesn't use. Most COD offers pay in USD, but some may not. Check each offer's currency in Leadbit and make sure it matches the **Payout currency** on the network.

**5. Create a source and a flow in Leadbit**

Leadbit needs a **source** and a **flow** before it gives you a link.

1. Open **Sources** and click **Create new source**. Pick the type, the **Kind** (traffic type), and enter a **Title** and **Description**. Both are required. Save.
2. Go to **Offers** and click **Create tracking URL** next to the offer.
3. In the **Flow** section, enter a flow name and select your source.
4. In the **Landing** section, tick the landers Leadbit should use.
5. Click **Save flow**.

**6. Copy the tracking link**

Open the **Tracking URLs** tab and click the link icon next to your flow. The **Get code** pop-up shows the link and a **sub1** field. You have two options:

* **Copy the bare link** and let ClickFlare add `sub1` in the next step. This is the simplest.
* **Type `{cf_click_id}` into the sub1 field.** The link updates to include `sub1={cf_click_id}`.

**7. Create the offer in ClickFlare**

In the offer form:

1. Name the offer.
2. Select the Leadbit affiliate network you just created.
3. Paste the Leadbit link into **Offer URL**.
4. If the link has no `sub1` yet, turn on **Append Click ID to Offer Url**. ClickFlare adds `sub1={cf_click_id}`, which is the parameter Leadbit expects.

The link ClickFlare sends visitors to then looks like this:

```text theme={null}
https://leadbit-domain.com/ABCD?sub1={cf_click_id}
```

![The ClickFlare New Offer form with the Leadbit affiliate network selected and sub1=\{cf\_click\_id} in the Offer URL](https://mintcdn.com/clickflare/Y5cTPxKs4V1QeWDx/images/integrations/leadbit/clickflare-leadbit-offer-url.png?fit=max\&auto=format\&n=Y5cTPxKs4V1QeWDx\&q=85\&s=62c5a53c9e5a312306d8f78b105bb950)

Use one way only. If you filled the sub1 field in **Get code**, leave the toggle off, or `sub1` appears twice.

> [!WARNING]
>
> Write `{cf_click_id}` with braces. Without them Leadbit 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.

**8. Add the global postback in Leadbit**

In older guides the global postback is under **Profile → Global Postback** in the right-hand menu (some call it **Tools → Global postback**). Then:

1. Click **Edit global postback**.
2. Paste the ClickFlare postback URL into the **Postback URL** field.
3. Tick **only the approved (confirmed) status**. Leave every other box unticked. See [Which statuses to tick](#which-statuses-to-tick).
4. Choose whether the postback applies to your existing flows or only to new ones. To cover a flow you already created, apply it to existing flows.
5. Save.

> [!WARNING]
>
> Voluum's Leadbit guide says to tick all six boxes. **Don't do that with ClickFlare.** ClickFlare doesn't read the status, so every ticked case, including rejected leads, arrives as a conversion with a payout.

Each flow also has a **Statistics transmission setup** section with separate postback fields, one per conversion step. If you set the postback per flow instead of globally, paste the ClickFlare URL into the approved field only.

**9. Check the transaction ID macro**

Next to the postback field, Leadbit lists the macros it supports. Check that `{id}` is there. If you only see `{transactionid}`, use that in **Transaction ID** instead and copy the new postback URL into Leadbit. If neither is listed, ask your Leadbit manager which macro holds the lead ID.

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

If you use your own lander instead of Leadbit's, its CTA must use the **ClickFlare click URL**, not the Leadbit 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).

**11. 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 statuses to tick

Leadbit's `{status}` macro returns `new` for a lead that just came in and `confirm` for a lead the call center approved. Rejected and trash leads have statuses too, but their exact values aren't published. The global postback has six checkboxes for the cases that fire a postback. Their labels aren't published, so match them by meaning.

| Case | Meaning | Paid? | Tick for ClickFlare? |
| - | - | - | - |
| New lead (`new`) | The order form was submitted. The lead waits for the call center. | Not yet | Optional, with care |
| Approved (`confirm`) | The call center confirmed the order. | **Yes** | **Yes** |
| Rejected, trash and other cases | Cancelled, fake, duplicate or invalid leads. | No | **Never** |

### Recommended: approved only

Tick only the approved status. ClickFlare then counts only leads Leadbit pays you for, with the right payout. The trade-off is timing: conversions show up hours or days after the click, so judge a campaign on yesterday's or last week's numbers.

### Why ticking everything breaks your numbers

ClickFlare doesn't read a status. Every postback counts as a conversion. It decides whether a postback is new or an update by the click ID and the transaction ID:

* **Same click ID, same txid:** the later postback replaces the earlier one. The last one received wins.
* **Same click ID, different txid:** both count as separate conversions.

So a rejected postback for a lead you were already sent replaces that lead and still counts as a conversion. A lead that only ever gets a rejected postback shows up as a conversion it never was.

### Optional: new and approved

You can also tick the new-lead status to see leads as soon as they come in. Know what happens first:

* **Leads that are approved later** should be counted once, if `{id}` stays the same for a lead across statuses. The approval then replaces the new-lead postback. Leadbit doesn't document this, so compare the two postbacks for one lead in ClickFlare's **Logs → Event Logs**.
* **Leads that are never approved stay counted.** No later postback replaces them.
* **The payout on a new lead is unknown.** Whether Leadbit fills `{cost}` on a new-lead postback isn't documented. Check one first.

***

## 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 keeps only the last one received. The `txid` parameter tells ClickFlare which postbacks are the same conversion.

`{id}` is most likely Leadbit's ID for the lead:

* **Two leads from the same click** (for example a visitor who orders twice) have different IDs, so ClickFlare counts both.
* **A resent postback** for the same lead carries the same ID, so ClickFlare doesn't count it twice.

Without a transaction ID, two orders from the same click merge into one.

***

## Verify the setup

**1. Click through the campaign**

Open the ClickFlare campaign URL (with a lander, also click the CTA). In the first request to the Leadbit link, check that it has `sub1=` followed by a real ClickFlare click ID, not the literal text `{cf_click_id}`.

**2. Check the click in Leadbit**

In Leadbit's statistics, filter by your flow and check that the click shows the ClickFlare click ID in **sub1**. If sub1 is empty there, no postback can be matched.

**3. Check the postback**

We found no postback test tool in Leadbit, and on the recommended setup a postback only fires after a real call-center approval. Don't submit test orders unless your Leadbit manager agrees: COD leads go to a real call center. Instead:

* Wait for the first approved lead and look for it in ClickFlare. Leadbit postbacks can arrive with a delay.
* To check the URL itself right away, copy it, replace the macros with a real ClickFlare click ID from your test click, a payout and any test ID, and open it in your browser. This records a test conversion in ClickFlare.

**4. Check the conversion in ClickFlare**

The conversion should appear on the campaign with the payout from Leadbit. In **Logs → Event Logs**, check that it arrived with a `txid` and no literal macros.

***

## Troubleshooting

> **Approved leads show in Leadbit but not in ClickFlare**
>
> Work through these in order:
>
> * **The global postback doesn't cover the flow.** If you applied it to new flows only, flows created earlier don't fire it. Edit the global postback and apply it to existing flows.
> * **A flow postback is set.** Check the flow's **Statistics transmission setup** section for an old URL from another tracker.
> * **The approved status isn't ticked**, or the global postback wasn't saved.
> * **sub1 is empty in Leadbit.** The offer URL is missing `sub1={cf_click_id}`, or your lander's CTA links straight to Leadbit instead of using the ClickFlare click URL.
> * **The approval hasn't happened yet**, or the postback is delayed.
> * **The payout looks wrong.** Check the offer's currency against the network's **Payout currency**.
>
> See [Troubleshooting S2S postbacks](/docs/en/tracking/troubleshooting-s2s-postback-url-in-clickflare.md) for the general checks.

> **ClickFlare shows far more conversions than Leadbit pays**
>
> More than the approved status is ticked, so new, rejected or trash leads count as conversions. Untick everything except the approved status. Conversions already recorded stay in ClickFlare, so adjust past days by hand.

> **ClickFlare receives a literal macro instead of a value**
>
> * A literal `{sub1}` means Leadbit had no value for sub1. Check that the click ID is in the link the visitor actually clicks.
> * A literal `{id}` means the macro isn't supported on your account. Check the macro list next to the postback field.
> * A literal `cf_click_id` means the offer URL in ClickFlare has the token without braces. It must be `{cf_click_id}`.

***

## FAQ

> **Can I pass more data to Leadbit?**
>
> Yes. Leadbit also has `sub2` to `sub5`. Use them in the offer URL, for example `sub2={campaign_id}&sub3={trackingField1}`, and see them in Leadbit's statistics. Keep `sub1` for the click ID.

> **Can I send the conversion back to my traffic source?**
>
> Yes. Once ClickFlare records the Leadbit conversion, it can send it to the traffic source through the traffic source's postback or conversion API integration. With only the approved status ticked, the traffic source optimizes for approved leads, which is usually what you want on COD.

***

## Related

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

> **[Dr.Cash](/docs/en/integrations/dr-cash-click-flare-integration-guide.md)**
>
> Another COD nutra network

> **[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.