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

# EroAdvertising as a Traffic Source

> Track EroAdvertising adult traffic in ClickFlare: pass the tracking value and post conversions back with your PID and conversion type.

![EroAdvertising traffic source template](https://mintcdn.com/clickflare/j4F_mr_BIrMz-iaH/images/integrations/covers/templates/eroadvertising.png?fit=max\&auto=format\&n=j4F_mr_BIrMz-iaH\&q=85\&s=bcc6808ea5672cad58aa1e8a7a4ee7a7)

EroAdvertising is a self-serve adult ad network. It sells banner, native, thumb, pop-under, full-page, in-text, redirect and in-video traffic on desktop and mobile, with site-level targeting. This guide sets up EroAdvertising as a traffic source in ClickFlare. It covers passing EroAdvertising's click data into your reports and sending conversions back to EroAdvertising so its stats and yours agree.

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

> [!WARNING]
>
> The EroAdvertising template is out of date. Its click ID macro (`[tracking]`) and its postback (`tracker.ero-advertising.com`) follow an older EroAdvertising setup. EroAdvertising's current guides use the `{tracking}` macro and a postback on `go.easrv.cl`. Step 1 and Step 2 show you exactly what to change.

## At a glance

| | |
| - | - |
| **Ad formats** | Banners, native, thumb ads, pop-under and pop-up, full page, in-text, redirect, in-video |
| **Click ID macro** | `{tracking}` (the template has the older `[tracking]`) |
| **Conversion tracking** | S2S postback to `go.easrv.cl`, with your account's PID |
| **Payout passed back** | Optional, in the `amount` parameter. EroAdvertising leaves it empty by default. |
| **Multiple events** | 2 conversion types, `a` and `b`, one postback each |
| **Cost** | Not passed by the template. Set a cost model on the campaign. |
| **Conversion API** | No |

## How it works

**1. EroAdvertising sends the click**

A visitor clicks your ad. EroAdvertising opens your ClickFlare campaign URL and fills in its macros: the tracking value in `cid`, plus the country, domain, campaign, ad space and ad.

**2. ClickFlare stores the EroAdvertising tracking value**

ClickFlare saves the value of `cid` as the visit's **External ID** 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 EroAdvertising**

ClickFlare fires the EroAdvertising postback, replacing `{external_id}` with the stored tracking value. EroAdvertising matches it to the original click and records it under the conversion type in `conv_type`.

> [!NOTE]
>
> The mirror to keep straight: in the **campaign URL** you write *ClickFlare's* parameter (`cid`) and *EroAdvertising's* macro (`{tracking}`). In the **postback URL** you write *EroAdvertising's* parameter (`cid`) and *ClickFlare's* token (`{external_id}`). Both sides happen to use the name `cid`.

EroAdvertising generates a unique tracking value for every click. It must come back in the postback exactly as it arrived. Never replace it with a fixed value.

## 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](https://clickflare.com/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](https://clickflare.com/docs/en/tracking/creating-an-offer-1.md) and [Adding an Affiliate Network](https://clickflare.com/docs/en/tracking/adding-an-affiliate-network.md).
* **Find your PID.** EroAdvertising assigns a PID to each advertiser account. It goes into the postback URL. Use the one for your own account only. If you can't find it in **Tracking**, ask EroAdvertising support.
* **Check your conversion types.** In EroAdvertising, open **Tracking** and note which letter each conversion type uses. Type `a` is usually leads or sign-ups and type `b` sales or conversions, but the names can be changed per account. Make sure the types you will send are active.

***

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

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

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

| Name | TS Parameter | TS Token (EroAdvertising macro) | ClickFlare Token | What it carries |
| - | - | - | - | - |
| externalId | `cid` | `[tracking]` | `{external_id}` | EroAdvertising's tracking value. Required for the postback. Change the macro to `{tracking}`, see below. |
| Country | `country` | `[country]` | `{trackingField1}` | The visitor's country |
| Domain ID | `did` | `[domainid]` | `{trackingField2}` | The publisher domain that showed the ad |
| Campaign ID | `campid` | `[campaignid]` | `{trackingField3}` | Your EroAdvertising campaign |
| Adspace ID | `spaceid` | `[spaceid]` | `{trackingField4}` | The ad space (zone) on the publisher site |
| Advertisement ID | `adid` | `[adid]` | `{trackingField5}` | The ad (creative) |

![The EroAdvertising template's Parameters table in ClickFlare, with EroAdvertising's macros pre-filled](https://mintcdn.com/clickflare/j4F_mr_BIrMz-iaH/images/integrations/templates/eroadvertising/parameters.png?fit=max\&auto=format\&n=j4F_mr_BIrMz-iaH\&q=85\&s=7bf2c645e478de0b1991016ca3afb6f2)

The template has no cost row. See [Cost](#cost).

### Update the click ID macro

EroAdvertising's current tracking guides pass the click value with the `{tracking}` macro, in curly braces. The template still has `[tracking]`, in square brackets.

1. In the `externalId` row, change the **TS Token** from `[tracking]` to `{tracking}`.
2. Keep the **TS Parameter** on `cid` and the **ClickFlare Token** on `{external_id}`.

The campaign URL then contains `cid={tracking}`, the same as in EroAdvertising's own Keitaro guide.

> [!WARNING]
>
> Don't remove the `externalId` row. Without the tracking value in the campaign URL, ClickFlare stores no External ID, and EroAdvertising rejects every postback.

### The other rows

`Domain ID` and `Adspace ID` are the ones you will use most. They tell you which publisher sites and ad spaces convert, so you can target or exclude them in EroAdvertising, which lets you target specific sites.

These rows still use square-bracket macros. EroAdvertising's current guides don't list them, so check them against the macro list in your EroAdvertising account. After your first clicks, look at the columns in ClickFlare. If a column shows the macro as text, for example `[spaceid]`, change that row's TS Token to the form your account lists.

To pass more EroAdvertising data, click **Add Parameter**, give it a name and parameter, and enter the EroAdvertising macro as the **TS Token**. ClickFlare assigns the next free tracking field.

## Step 2 – Set up the postback

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

### Add it to the traffic source in ClickFlare

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}
https://tracker.ero-advertising.com/tracking/conv.php?cid={external_id}
```

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

It sends the click value (`{external_id}`) to EroAdvertising's old conversion endpoint. That endpoint returns a "not found" error today, and the URL has no PID and no conversion type, which EroAdvertising's current postback requires.

3. Replace the whole URL with EroAdvertising's current postback, with ClickFlare's token in `cid`:

```text theme={null}
https://go.easrv.cl/conversion.go?pid=YOUR_PID&cid={external_id}&conv_type=a&amount=
```

4. Replace `YOUR_PID` with the PID of your EroAdvertising account.
5. Set `conv_type` to the letter of the conversion type this postback should record: `a` or `b`, as shown in EroAdvertising's **Tracking** section.
6. 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.
7. Click **Save**. You are back in the campaign editor with the EroAdvertising traffic source selected.

> [!WARNING]
>
> Replace `YOUR_PID` with your own PID, and keep `cid={external_id}` exactly as written. A postback with the placeholder PID, another account's PID, or a changed `cid` value is rejected and shows up under **Postbacks Rejected** in EroAdvertising.

### The amount parameter

EroAdvertising's documented postback leaves `amount` empty, and that is the safe default. Only fill it in if your EroAdvertising account is set up to receive a conversion value. Then use ClickFlare's payout token:

```text theme={null}
https://go.easrv.cl/conversion.go?pid=YOUR_PID&cid={external_id}&conv_type=a&amount={payout}
```

If you're not sure, ask EroAdvertising support before sending values. See [Multicurrency in ClickFlare](https://clickflare.com/docs/en/tracking/multicurrency-support-in-click-flare-how-it-works.md) if your offers pay in another currency.

To learn what each postback token does, see [How to Configure a Traffic Source S2S Postback URL](https://clickflare.com/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**. The template passes no cost, so **Not Tracked** would record zero spend. See [Cost](#cost).
3. Choose **Redirect** or **Direct** tracking. Redirect is the usual choice for pop-under, redirect and banner traffic.
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**.

Check the campaign URL. It should contain `cid={tracking}`. If it shows `cid=[tracking]`, go back to the traffic source and update the `externalId` row.

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 EroAdvertising.

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

## Step 4 – Create the campaign in EroAdvertising

1. In your EroAdvertising advertiser panel, create a campaign.
2. Choose the ad format, targeting and bid as usual.
3. Paste the ClickFlare campaign URL into the campaign's destination URL field.
4. Submit the campaign.

Paste the URL exactly as ClickFlare gives it. EroAdvertising replaces `{tracking}` with a new value on every click.

## Step 5 – Test the integration

1. Launch with a small budget and click through your EroAdvertising campaign.
2. In ClickFlare, open the campaign report. Check that the visit has a value in **External ID**. If it shows `{tracking}` or `[tracking]` as text, the macro is wrong or the URL was edited.
3. Complete a test conversion on your offer, or post one to ClickFlare from your affiliate network's test tool.
4. In ClickFlare, go to **Logs → Postback Status** and filter by the campaign. A successful request to `go.easrv.cl` confirms ClickFlare sent the postback.
5. In EroAdvertising, check that the conversion appears under **Tracking**, with the right conversion type. If it doesn't, check **Postbacks Rejected**.

If you're unsure about your setup, EroAdvertising support offers to review a screenshot of your tracker's traffic source and postback before you scale.

***

## Tracking two events

EroAdvertising has two conversion types, `a` and `b`. Each needs its own postback, with its own `conv_type`:

```text theme={null}
https://go.easrv.cl/conversion.go?pid=YOUR_PID&cid={external_id}&conv_type=a&amount=
https://go.easrv.cl/conversion.go?pid=YOUR_PID&cid={external_id}&conv_type=b&amount=
```

1. In ClickFlare, create a [custom conversion](https://clickflare.com/docs/en/settings/custom-conversions.md) for each step, for example `lead` and `sale`.
2. On the EroAdvertising traffic source, click **+ Another postback URL** to add the second postback.
3. Map each postback to its ClickFlare event: the `lead` custom conversion to the `conv_type=a` URL, `sale` to the `conv_type=b` URL.
4. In EroAdvertising, make sure both conversion types are active.
5. Test each event, and check that each lands under the right type in EroAdvertising.

> **Rules for EroAdvertising postbacks**
>
> * Two conversion types: `a` and `b`. Use the letter, not the name.
> * One postback per type. Don't combine them in one URL.
> * Match each letter to the type shown in EroAdvertising's **Tracking** section. A lead sent as `b` is counted as a sale.
> * Watch for duplicates. If a postback fires twice, review the repeated-conversion settings in EroAdvertising and the events mapped in ClickFlare.

> **Sending only one event**
>
> If EroAdvertising should only learn from your final sale, keep a single postback with that type's letter and map it to that event. Earlier steps still show in ClickFlare. They just don't reach EroAdvertising.
>
> 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.

## Cost

The template passes no cost. It has no cost row, and the EroAdvertising guides we checked don't document a cost macro for trackers.

So set a cost model on the campaign:

* **CPC** for click-priced campaigns. Enter your bid per click as the cost value.
* **CPC** for CPM or CPMV campaigns too, with your CPM bid divided by 1,000 as the cost value. A pop-under or redirect impression is roughly one visit. For banners and native, check the spend against EroAdvertising after launch.
* **CPA** if you pay EroAdvertising per conversion, with your price per conversion.

Compare ClickFlare's **Cost** column with your EroAdvertising spend regularly, and correct it with a [manual cost upload](https://clickflare.com/docs/en/settings/manual-cost-upload.md) when they differ. ClickFlare has no cost API integration for EroAdvertising. See [Cost Models](https://clickflare.com/docs/en/core-platform-concepts/cost-models.md).

If your EroAdvertising account offers a cost macro, you can add it: click **Add Parameter**, enter the macro as the **TS Token** and pick `{cost}` as the ClickFlare token. Then set the Cost Model to **Not Tracked**.

## Delayed revenue

If you run search arbitrage (RSOC or AFD) behind EroAdvertising, the feed reports revenue hours or days after the click. To pass that revenue once it arrives, see [Sending Delayed Revenue to Traffic Sources](https://clickflare.com/docs/en/advanced-tracking-configuration/how-to-send-delayed-revenue-to-traffic-sources.md). This only matters if your account receives `amount`.

***

## Troubleshooting

> **EroAdvertising lists the postback under Postbacks Rejected**
>
> * `cid` doesn't hold the original tracking value. Check it is `cid={external_id}` in the postback.
> * `YOUR_PID` was never replaced, or it holds another account's PID.
> * The campaign URL still has `cid=[tracking]`, so ClickFlare stored no usable value. Update the `externalId` row and copy the URL again.

> **Conversions show in ClickFlare but not in EroAdvertising**
>
> * The postback is still the template's `tracker.ero-advertising.com` URL. Replace it with the `go.easrv.cl` postback from Step 2.
> * **Traffic source postback URL** is off on the EroAdvertising 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.
> * The conversion type in `conv_type` isn't active in EroAdvertising.
> * Check **Logs → Postback Status**: a failed request shows the status code EroAdvertising returned.

> **Conversions land under the wrong type**
>
> The `conv_type` letter doesn't match the type in EroAdvertising. Use the letter shown in EroAdvertising's **Tracking** section, and check which ClickFlare event each postback is mapped to.

> **Domain, ad space or other columns show the macro as text**
>
> EroAdvertising didn't replace that macro. Check the row's TS Token against the macro list in your EroAdvertising account and update it. Also check that the URL in EroAdvertising is the one ClickFlare gave you, unchanged. See [Traffic Source Tokens Arriving Empty](https://clickflare.com/docs/en/troubleshooting/tokens-arriving-empty.md).

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

***

**FREQUENTLY ASKED QUESTIONS**

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

**A1:** Yes. The postback is set once on the traffic source and every campaign using it sends conversions the same way. Create a second traffic source only if a campaign needs a different setup, for example a different conversion type.

> **Q2:** EroAdvertising has guides for Binom, Keitaro and AdsBridge, but not ClickFlare. Is that a problem?

**A2:** No. The setup is the same. Only the click ID token differs: ClickFlare uses `{external_id}`, where Binom uses `{externalid}` and AdsBridge `<tracking_id>`.

> **Q3:** Why is `cid` in both the campaign URL and the postback?

**A3:** It's a coincidence of names. In the campaign URL, `cid` is the parameter ClickFlare reads the tracking value from. In the postback, `cid` is the parameter EroAdvertising reads it back from. Change neither.

> **Q4:** Should I use Redirect or Direct tracking with EroAdvertising?

**A4:** Redirect is the usual choice and works with every EroAdvertising format. Use Direct only if EroAdvertising must see your lander's domain as the destination. See [Direct Campaign Tracking](https://clickflare.com/docs/en/campaigns/direct-campaign-tracking.md).

> **Q5:** Do I have to send the payout?

**A5:** No. EroAdvertising's documented postback leaves `amount` empty. Conversions are counted either way. Send `{payout}` only if your account is set up for it.

## Related

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

> **[Custom conversions](https://clickflare.com/docs/en/settings/custom-conversions.md)**
>
> Split leads and sales into conversion types a and b.

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

> **[Conversions not showing](https://clickflare.com/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.