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

# RTX Platform Pops Conversion Tracking & Postback Setup

> Set up RTX Platform Pops conversion tracking in ClickFlare: {conversion} click ID, {bid} cost, and the xml.rtxplatform.com postback with c={external_id}.

![RTX Platform Pops traffic source template](https://mintcdn.com/clickflare/vJtghtd_XfrC_OXQ/images/integrations/covers/templates/rtx-platform-pops.png?fit=max\&auto=format\&n=vJtghtd_XfrC_OXQ\&q=85\&s=cb9c5fd2e8292b4ce7968d5410421a27)

RTX Platform (rtxplatform.com) is a self-serve ad platform for popunder and push traffic. You bid per impression or per click, and RTX buys the traffic in real time. This guide sets up its **pops** campaigns as a traffic source in ClickFlare. It covers passing RTX's click data into your reports and sending conversions, with payout, back to RTX so you see them in RTX and can use its optimization.

ClickFlare has two RTX templates. Pick **RTX Platform Pops** for popunder campaigns, which this page covers. For push notification campaigns, pick **RTX Platform Push** and follow [RTX Platform Push as a Traffic Source](/docs/en/integrations/rtx-platform-push-as-a-traffic-source.md). Both templates use the same macros and the same postback, so either one works.

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

> [!NOTE]
>
> RTX Platform runs on AdKernel, the same ad platform behind Yeesshh and ActiveRevenue. Its login and its conversion endpoint, `xml.rtxplatform.com`, are hosted on AdKernel. That is why the template uses AdKernel's macros (`{conversion}`, `{bid}`, `{pubfeed}`...) and AdKernel's postback format. Older RTX guides from the 50onRed days describe a different setup with pixel links. It no longer applies. Your RTX account manager can confirm the full macro list for your account.

## At a glance

| | |
| - | - |
| **Ad formats** | Popunder (pops) |
| **Click ID macro** | `{conversion}`, RTX's click ID |
| **Conversion tracking** | S2S postback to `xml.rtxplatform.com`. Ready to use in the template. |
| **Payout passed back** | Yes, in the `value` parameter |
| **Multiple events** | Not documented for RTX. Send one event. |
| **Cost** | Passed per visit by the template (`{bid}`). Cost Model: **Not Tracked**. Check it against your RTX spend. |
| **Conversion API** | No |

## How it works

**1. RTX sends the visit**

RTX 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, publisher feed, point and zone, sub ID and campaign.

**2. ClickFlare stores the RTX 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 RTX**

ClickFlare fires the RTX postback, replacing `{external_id}` with the stored RTX click ID and `{payout}` with the revenue. RTX matches it to the original visit and records the conversion.

> [!NOTE]
>
> The mirror to keep straight: in the **campaign URL** you write *ClickFlare's* parameter (`conversion`) and *RTX's* macro (`{conversion}`). The template does this for you. In the **postback URL** you write *RTX'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).
* **Have your RTX advertiser login ready.** You create the RTX campaign in Step 4, after ClickFlare gives you the campaign URL.
* **Fund your RTX account.** Campaigns only run with a balance.

***

## Step 1 – Create the campaign and the RTX Platform Pops traffic source

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

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

| Name | TS Parameter | TS Token (RTX macro) | ClickFlare Token | What it carries |
| - | - | - | - | - |
| cost | `bid` | `{bid}` | `{cost}` | Your bid for the visit. See [Cost](#cost). |
| external\_id | `conversion` | `{conversion}` | `{external_id}` | RTX's click ID. Required for the postback. |
| Ad ID | `banner` | `{banner}` | `{trackingField1}` | Your RTX ad (the pop ad) |
| Keyword | `keyword` | `{keyword}` | `{trackingField2}` | The keyword the visit matched. Empty or generic when you don't target keywords. |
| 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 |
| Sub ID | `subid` | `{subid}` | `{trackingField6}` | The sub ID RTX passes for the source |
| Campaign | `campaign` | `{campaign}` | `{trackingField7}` | Your RTX campaign |

![The RTX Platform Pops template's Parameters table in ClickFlare, with RTX Platform Pops' macros pre-filled](https://mintcdn.com/clickflare/vJtghtd_XfrC_OXQ/images/integrations/templates/rtx-platform-pops/parameters-1.png?fit=max\&auto=format\&n=vJtghtd_XfrC_OXQ\&q=85\&s=627067f9dc1e6d48f5b1d7718820728e)

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). Use them to block weak sources or raise bids on strong ones in RTX. `keyword` matters when you target keywords instead of the whole network. `campaign` helps when one RTX traffic source serves several RTX campaigns.

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

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

The template's list may not be every macro RTX has. To pass more, click **Add Parameter**, give it a name and parameter, and enter the RTX macro as the **TS Token**. ClickFlare assigns the next free tracking field. Check the macro with your RTX account manager before adding it.

## Step 2 – Set up the postback

The postback is what sends conversions to RTX. It lives on the traffic source, so every campaign that uses this RTX 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}
https://xml.rtxplatform.com/conversion?c={external_id}&count=1&value={payout}
```

![The Traffic source postback URL switched on, showing the RTX Platform Pops template's postback](https://mintcdn.com/clickflare/vJtghtd_XfrC_OXQ/images/integrations/templates/rtx-platform-pops/postback-v2.png?fit=max\&auto=format\&n=vJtghtd_XfrC_OXQ\&q=85\&s=7638a953851c1ecddc44a00263b0c263)

It is ready to use. There are no placeholders to replace: no account ID, no pixel key. The three parameters follow AdKernel's conversion format:

| RTX parameter | Value in the template | What it does |
| - | - | - |
| `c` | `{external_id}` | RTX's click ID, stored from the `conversion` macro. RTX matches the conversion on it. |
| `count` | `1` | The number of conversions this postback reports. Keep it at 1. |
| `value` | `{payout}` | The conversion's payout. RTX shows it as revenue. |

3. 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.
4. Click **Save**. You are back in the campaign editor with the RTX Platform Pops traffic source selected.

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

> **Sending only some conversions**
>
> Map the postback to the one step RTX should count, usually the final sale. Earlier steps (leads, registrations) still show in ClickFlare. They just don't reach RTX.
>
> 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).

> **Conversion goals**
>
> AdKernel's conversion format also accepts a goal ID in an `id` parameter, for platforms that track several goals per campaign. The template doesn't send one, and you don't need it for a single conversion. If your RTX account uses goals and your account manager gives you a goal ID, add `&id=` followed by that ID to the end of the postback.

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

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

## Step 4 – Create the campaign in RTX

1. Log in to your RTX advertiser account and create a new pops campaign.
2. Set the name, budget, bid, targeting and schedule as usual.
3. If RTX offers conversion tracking or a conversion goal in the campaign settings, turn it on. On AdKernel platforms the campaign often needs a goal before conversions show in its stats.
4. Add your pop ad and paste the ClickFlare campaign URL as its destination URL.
5. Save and submit the campaign.

Paste the URL exactly as ClickFlare gives it. RTX replaces each `{...}` macro when it opens the pop. If anything in the RTX campaign form is unclear, your RTX account manager can walk you through it.

## Step 5 – Test the integration

RTX 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 an RTX 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 RTX.
4. In ClickFlare, go to **Logs → Postback Status** and filter by the campaign. A successful request to `xml.rtxplatform.com` confirms ClickFlare sent the postback.
5. In RTX, check that the conversion and its value appear in the campaign's stats.

If Postback Status shows an error response from RTX, read it. AdKernel endpoints usually say what is wrong, such as a missing click ID or a key they don't recognize. A key RTX doesn't recognize means the conversion didn't come from a real RTX visit, or `{external_id}` was empty.

***

## Cost

The template passes cost per visit. The `cost` row reads RTX'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]
>
> `{bid}` is your bid, not necessarily the price RTX charged. If you buy pops on a CPM basis (per 1,000 impressions), `{bid}` may carry the CPM figure. After launch, compare ClickFlare's **Cost** column with your RTX spend. If ClickFlare's cost is about 1,000 times too high, 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 RTX 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) and [Traffic Source Cost Tracking](/docs/en/tracking/how-to-setup-traffic-source-cost-tracking.md).

ClickFlare has no cost-tracking API integration for RTX Platform.

## Delayed revenue

If you run search arbitrage (RSOC or AFD) behind RTX's pop traffic, the feed reports revenue hours or days after the visit. To pass that revenue to RTX 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 RTX**
>
> * **Traffic source postback URL** is off on the RTX traffic source.
> * **Disable sending postbacks to traffic source** is on in the campaign.
> * The RTX campaign has no conversion tracking or goal set up. Check the campaign settings in RTX, or ask your account manager.
> * 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 RTX returned.

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

> **External ID is empty or shows the raw macro**
>
> RTX did not replace the `{conversion}` macro. Check that the pop ad's destination in RTX is the ClickFlare campaign URL, unchanged, and that the `external_id` row still reads `conversion` and `{conversion}`. See [Traffic Source Tokens Arriving Empty](/docs/en/troubleshooting/tokens-arriving-empty.md).

> **Cost is far off from RTX's spend**
>
> `{bid}` is your bid, and on CPM buying it can be a CPM figure. 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 RTX doesn't process macros. Paste the campaign URL from ClickFlare unchanged into the pop ad's destination.

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

***

**FREQUENTLY ASKED QUESTIONS**

> **Q1:** Should I pick RTX Platform Pops or RTX Platform Push?

**A1:** Match the RTX campaign type: Pops for popunder, Push for push notifications. The two templates carry the same macros and the same postback. For push, follow [RTX Platform Push as a Traffic Source](/docs/en/integrations/rtx-platform-push-as-a-traffic-source.md).

> **Q2:** Can I use the same RTX traffic source for all my RTX pops campaigns?

**A2:** Yes. The postback has no account-specific or campaign-specific part, so one traffic source serves every campaign. The `campaign` column tells them apart in your reports.

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

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

## Related

> **[RTX Platform Push](/docs/en/integrations/rtx-platform-push-as-a-traffic-source.md)**
>
> The sibling template for RTX push campaigns.

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

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