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

# PlugRush as a Traffic Source

> Track PlugRush pop, push, native and banner campaigns in ClickFlare, with CPV cost per visit and conversions posted back to PlugRush.

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

PlugRush is a self-serve ad network selling pop, push, native and banner traffic on desktop and mobile, bought on a cost-per-visit (CPV) bid. This guide sets up PlugRush as a traffic source in ClickFlare. It covers passing PlugRush's click data into your reports and sending conversions, with payout, back to PlugRush so its Detailed Stats and Automated Rules work from the same numbers as your reports.

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

## At a glance

| | |
| - | - |
| **Ad formats** | Pops, push ads, native ads, banners, each on desktop and mobile |
| **Click ID macro** | `{$click_id}`, required for conversion tracking |
| **Conversion tracking** | S2S postback to `prprocess.com` |
| **Payout passed back** | Yes, in the `payout` parameter, with its currency in `currency` |
| **Multiple events** | Not documented. Send one event. |
| **Cost** | Passed per visit by the template, as PlugRush's cost per visitor (`{$cpv}`). Cost Model: **Not Tracked**. |
| **Conversion API** | No |

## How it works

**1. PlugRush sends the visit**

A visitor clicks your ad or opens your pop. PlugRush opens your ClickFlare campaign URL and fills in its macros: the click ID in `click_id`, the cost of the visit in `cpv`, plus the subsource, domain, country, OS, browser and creative.

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

ClickFlare saves the value of `click_id` 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 PlugRush**

ClickFlare fires the PlugRush postback, replacing `{external_id}` with the stored PlugRush click ID, `{payout}` with the revenue and `{payout_currency}` with its currency. PlugRush matches it to the original visit.

> [!NOTE]
>
> The mirror to keep straight: in the **campaign URL** you write *ClickFlare's* parameter (`click_id`) and *PlugRush's* macro (`{$click_id}`). The template does this for you. In the **postback URL** you write *PlugRush's* parameter (`click_id`) and *ClickFlare's* token (`{external_id}`). The parameter name is the same on both sides. The value is not.

## 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).
* **Know your PlugRush user ID.** It goes into the postback URL. It is shown in your PlugRush account profile, and in the postback URL PlugRush gives you under **Account → API**.
* **Decide what PlugRush should receive.** PlugRush's Detailed Stats and Automated Rules run on the conversions you send. Send the event you optimize on, usually the final sale.

***

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

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

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

| Name | TS Parameter | TS Token (PlugRush macro) | ClickFlare Token | What it carries |
| - | - | - | - | - |
| cost | `cpv` | `{$cpv}` | `{cost}` | PlugRush's cost per visitor. See [Cost](#cost). |
| externalId | `click_id` | `{$click_id}` | `{external_id}` | PlugRush's click ID. Required for the postback. |
| Unique ID | `source_id` | `{$source_id}` | `{trackingField1}` | The **subsource** ID (starts with `S`), the most specific source PlugRush tracks. Not a visitor ID, despite the name. |
| System | `system` | `{$os}` | `{trackingField2}` | The visitor's operating system |
| Country | `cc` | `{$cc}` | `{trackingField3}` | The visitor's country, as a two-letter code |
| Domain | `domain` | `{$domain_id}` | `{trackingField4}` | The ID of the publisher's domain, not the domain name |
| Browser | `browser` | `{$browser}` | `{trackingField5}` | The visitor's browser |
| Orientation | `orientation` | `{$orientation}` | `{trackingField6}` | The orientation of the source website |
| Campaign ID | `campaign_id` | `{$campaign_id}` | `{trackingField7}` | Your PlugRush campaign ID |
| Creative ID | `creative_id` | `{$creative_id}` | `{trackingField8}` | The push ad, native ad or banner that was shown |

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

Each tracking field becomes a column you can group reports by. **Unique ID** is the one you will use most. It carries the subsource ID, and PlugRush recommends tracking it above everything else, because it is the level you blacklist and whitelist on.

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

To pass more PlugRush data, click **Add Parameter**, give it a name and parameter, and enter the PlugRush macro as the **TS Token**. ClickFlare assigns the next free tracking field. The one worth adding is `{$source_referrer}`: the top-level source ID (starts with `R`). Each source groups several subsources, so it gives a coarser view than **Unique ID**.

## Step 2 – Set up the postback

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

### Get your postback URL from PlugRush

1. In PlugRush, click **Account** in the top right corner and choose **API**. The conversion tracking documentation and your postback URL are there.
2. Or open your campaign overview, click the **Actions** icon (the blue gear in the far-right column) and select **Conversion Tracking**.
3. Note your **user ID**. It is the `user_id` value in the URL. It is also shown in your account profile.

PlugRush's postback follows this format:

```text theme={null}
https://www.prprocess.com/conversion/?user_id=REPLACE&click_id=CLICK_ID&currency=USD&payout=PAYOUT
```

### Add it to the traffic source in ClickFlare

1. Back 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://prprocess.com/conversion/?user_id=REPLACE&click_id={external_id}&currency={payout_currency}&payout={payout}
```

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

It already sends the click ID (`{external_id}`), the payout (`{payout}`) and the payout's currency (`{payout_currency}`), all as ClickFlare tokens.

3. Replace `REPLACE` with your PlugRush user ID. The result:

```text theme={null}
https://prprocess.com/conversion/?user_id=YOUR_USER_ID&click_id={external_id}&currency={payout_currency}&payout={payout}
```

PlugRush documents the host both with and without `www`. Both work.

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 PlugRush traffic source selected.

> [!WARNING]
>
> Replace `REPLACE` with your PlugRush user ID. If `REPLACE` stays in the postback, PlugRush cannot tie the conversions to your account.

PlugRush's own examples always send `currency=USD`. The template sends the offer's payout currency instead. If your offers pay in USD, nothing changes. If they pay in another currency and PlugRush shows wrong revenue, see [Multicurrency in ClickFlare](https://clickflare.com/docs/en/tracking/multicurrency-support-in-click-flare-how-it-works.md).

> [!NOTE]
>
> If you'd rather not share real payouts with PlugRush, replace `{payout}` with a fixed number, for example `payout=1`. PlugRush allows this. Conversions are still counted, but PlugRush's revenue and ROI figures become meaningless, and so do Automated Rules based on them.

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** to **Not Tracked**, so ClickFlare uses the cost PlugRush passes. See [Cost](#cost).
3. Choose **Redirect** or **Direct** tracking. Redirect is the usual choice for PlugRush's pop, push 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**.

The campaign URL already contains every PlugRush macro from the template, for example `click_id={$click_id}` and `source_id={$source_id}`.

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

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 PlugRush

1. In PlugRush, create a new campaign and choose the campaign type: desktop or mobile pops, push ads, native ads or banners.
2. Set targeting (countries, orientation, OS, browser, connection type), your CPV bid and your budget.
3. Paste the ClickFlare campaign URL as the campaign URL. For push, native and banner campaigns, add your creatives from the creatives section and assign them to the campaign.
4. Submit the campaign.

Paste the URL exactly as ClickFlare gives it. PlugRush replaces each `{$...}` macro before the visitor reaches your campaign.

## Step 5 – Test the integration

PlugRush has no test-conversion tool. Conversions show in your PlugRush campaign stats once the postback fires, so test with a small budget.

1. Launch the campaign with a low daily budget.
2. In ClickFlare, check that visits arrive with **Cost** and the Unique ID column filled. Empty values mean the macros were not replaced. See [Troubleshooting](#troubleshooting).
3. Complete the offer yourself through a PlugRush visit, or wait for the first real conversion.
4. In ClickFlare, go to **Logs → Postback Status** and filter by the campaign. A successful request to `prprocess.com` confirms ClickFlare sent the postback. Check that `user_id` holds your user ID and `click_id` a real click ID.
5. In PlugRush, open the campaign stats and check that the conversion appears.

***

## What conversion tracking unlocks in PlugRush

PlugRush treats the postback as the key to its optimization tools:

> **Detailed Stats**
>
> PlugRush's Detailed Stats combine its traffic data with the conversions you send, so you can judge performance inside PlugRush without a spreadsheet. Without the postback, PlugRush only sees visits.

> **Automated Rules**
>
> PlugRush's Automated Rules optimize campaigns automatically, based on the conversion data you send. Without the postback they have nothing to act on. Rules based on revenue or ROI also need real payouts.

> **Optimizing without the postback**
>
> If you can't send postbacks, group your ClickFlare reports by **Unique ID** (subsource) instead. Find the subsources that don't convert and add them to a blacklist in PlugRush, in the list editor under **Sources / Subsources / Websites**. Use **Import Entries** to paste many IDs at once.
>
> 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 cost per visit. The `cost` row sends PlugRush's `{$cpv}` macro, the cost per visitor, 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]
>
> PlugRush bids are CPV: you pay for each visit you receive. For pops, a visit is the pop itself. For push, native and banners, it is a click on the ad. Either way, one PlugRush visit is one ClickFlare visit, so `{$cpv}` maps straight onto ClickFlare's cost.

After launch, compare the **Cost** column with your PlugRush spend. If they differ, correct it with a [manual cost upload](https://clickflare.com/docs/en/settings/manual-cost-upload.md). If `{$cpv}` arrives empty, set the Cost Model to **CPC** and enter your CPV bid. See [Cost Models](https://clickflare.com/docs/en/core-platform-concepts/cost-models.md).

## Delayed revenue

If you run search arbitrage (RSOC or AFD) behind PlugRush, the feed reports revenue hours or days after the click. To pass that revenue to PlugRush 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).

***

## Troubleshooting

> **PlugRush shows no conversions**
>
> * `REPLACE` was never replaced with your PlugRush user ID.
> * The campaign URL in PlugRush is missing `click_id={$click_id}`, or the macro was edited. Copy the URL from ClickFlare again.
> * The `externalId` row was removed from the traffic source.

> **Conversions show in ClickFlare but no postback is sent**
>
> * **Traffic source postback URL** is off on the PlugRush 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**: a failed request shows the status code PlugRush returned.

> **PlugRush shows the wrong revenue**
>
> * `{payout}` was replaced with a fixed number, on purpose or by mistake.
> * The offer pays in a currency other than USD. Check what `currency` the postback sent in **Logs → Postback Status**.

> **Unique ID or Domain columns are empty or look odd**
>
> Empty columns mean the macros were not replaced, usually because the URL was edited. Paste the campaign URL from ClickFlare unchanged. See [Traffic Source Tokens Arriving Empty](https://clickflare.com/docs/en/troubleshooting/tokens-arriving-empty.md).
>
> Values that look like codes are expected. **Unique ID** holds subsource IDs, and **Domain** holds PlugRush's domain ID, not a domain name.

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 PlugRush traffic source for all my PlugRush campaigns?

**A1:** Yes. The postback is set once on the traffic source and every campaign using it sends conversions the same way.

> **Q2:** Why does the template call the subsource "Unique ID"?

**A2:** It is a naming quirk. The row carries `{$source_id}`, which PlugRush defines as the subsource ID. Rename the row to `Subsource` if that reads better in your reports. The TS Parameter and TS Token stay the same.

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

**A3:** ClickFlare reads PlugRush's click ID from its `click_id` parameter, and PlugRush expects it back in its own `click_id` parameter. The names match, but the values differ: PlugRush's macro `{$click_id}` in the campaign URL, ClickFlare's token `{external_id}` in the postback.

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

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

> **Q5:** Is PlugRush's conversion data used against me in bidding?

**A5:** PlugRush says it has never used conversion data to raise what advertisers pay. It uses the data for Detailed Stats, Automated Rules and platform development. If you are still wary, send a fixed payout (see Step 2).

## 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 separate events.

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