Skip to main content
PopAds traffic source template PopAds is one of the oldest popunder networks. It sells popunder traffic from publisher websites on a bid-per-thousand basis. This guide sets up PopAds as a traffic source in ClickFlare. It covers passing PopAds’ visit data into your reports, passing the bid as cost, and sending conversions, with payout, back to PopAds. ClickFlare’s PopAds template comes ready for conversion tracking. It passes PopAds’ impression ID as the click ID and includes the PopAds postback. You only add your PopAds account ID to the postback. You do everything from the campaign editor. The PopAds traffic source is created inline, without leaving the campaign.

At a glance

How it works

1

PopAds sends the visit

A visitor opens a page on a PopAds publisher site and your popunder loads. PopAds opens your ClickFlare campaign URL and fills in its macros: the impression ID, your bid, the website, category, country, device type and other details.
2

ClickFlare stores the PopAds impression ID

ClickFlare saves the value of [IMPRESSIONID] 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 PopAds

ClickFlare fires the PopAds postback, replacing {external_id} with the stored impression ID and {payout} with the revenue. PopAds matches it to the original impression.
The mirror to keep straight: in the campaign URL you write ClickFlare’s parameter (impressionid) and PopAds’ macro ([IMPRESSIONID]). In the postback URL you write PopAds’ parameter (id) and ClickFlare’s token ({external_id}). PopAds macros use square brackets. ClickFlare tokens use curly braces. A postback should contain only curly braces.

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.
  • Have an offer ready in ClickFlare, and its affiliate network set up to post conversions back to ClickFlare. See Creating an Offer and Adding an Affiliate Network.
  • Find your aid in PopAds. It identifies your account in the postback. You copy it from PopAds’ Conversion Tracking page in Step 2.
  • Decide which conversion PopAds should receive. PopAds takes one conversion per impression. If your funnel has several steps (lead, then sale), decide now which one to send. See Tracking several events.

Step 1 – Create the campaign and the PopAds traffic source

  1. Go to Campaigns and click New.
  2. In Traffic Source, open the dropdown and click + New Traffic Source.
  3. Type popads in the search box and select the PopAds template.
  4. Enter a Name, for example PopAds.
  5. Leave Cost currency on USD. PopAds bids and payouts are in US dollars.
The template fills in the Parameters table for you: The PopAds template's Parameters table in ClickFlare, with PopAds' macros pre-filled Each tracking field becomes a column you can group reports by. websiteid is the one you will use most: it tells you which publisher sites convert, so you can block or bid up websites in PopAds. quality helps you see whether higher-quality inventory pays back its higher bid. To pass more PopAds data, click Add Parameter, give it a name and parameter, and enter the PopAds macro as the TS Token. PopAds also offers macros such as [OSNAME], [BROWSERNAME], [DEVICENAME], [ISPNAME] and [CATEGORYNAME]. ClickFlare assigns the next free tracking field. Check the macros your PopAds account offers before adding them.

Step 2 – Set up the postback

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

Find your aid in PopAds

  1. In PopAds, open your campaign and go to Conversion Tracking.
  2. PopAds shows a postback link of this form:
  1. Copy the value after aid=. It is unique to your account. You need only this value: the rest of the URL is already in the template, with ClickFlare tokens in place of PopAds’ placeholders.

Complete the template’s postback 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 fills in the URL:
The Traffic source postback URL switched on, showing the PopAds template's postback
  1. Replace REPLACE with the aid you copied from PopAds. Leave {external_id} and {payout} as they are: ClickFlare fills them with the impression ID and the payout.
  2. 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.
  3. Click Save. You are back in the campaign editor with the PopAds traffic source selected.
Keep s2s=1 in the URL. It tells PopAds the request comes from a server, not from a pixel in the visitor’s browser. And replace REPLACE with your aid: if it stays in the URL as literal text, PopAds can’t attribute the conversion to your account.
PopAds reads value as US dollars, written as a plain number with a dot as the decimal separator, for example 1.25. ClickFlare’s {payout} is sent in that format. If your offers pay in EUR or another currency, convert payouts to USD in ClickFlare first. See Multicurrency in ClickFlare. To learn what each postback token does, see How to Configure a Traffic Source S2S Postback URL.

Step 3 – Finish the campaign and copy its URL

  1. Name the campaign.
  2. Set the Cost Model. See Cost.
  3. Choose Redirect or Direct tracking. Redirect is the usual choice for popunder 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 now contains every PopAds macro from the template, for example impressionid=[IMPRESSIONID], websiteid=[WEBSITEID] and bid=[BID]. Check that impressionid=[IMPRESSIONID] is there before you paste it into PopAds. 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 PopAds. See Creating a Campaign in ClickFlare.

Step 4 – Create the campaign in PopAds

  1. In PopAds, create a new campaign from the advertiser panel.
  2. Paste the ClickFlare campaign URL into the campaign’s URL field.
  3. Choose your targeting, bid and budget as usual.
  4. Save and start the campaign.
Paste the URL exactly as ClickFlare gives it. PopAds replaces each [...] macro when the popunder opens.

Step 5 – Test the integration

PopAds has no documented test-conversion tool like some networks. Test from the ClickFlare side.
  1. Run the campaign with a small budget until the first visits arrive.
  2. In ClickFlare, open the campaign report and group by External ID. Each visit should show a PopAds impression ID. If the column is empty, impressionid=[IMPRESSIONID] is missing from the campaign URL.
  3. Complete the offer yourself through a real visit, or wait for the first real conversion.
  4. Go to Logs → Postback Status and filter by the campaign. A successful postback to serve.popads.net confirms ClickFlare sent it. Open it and check that id= holds an impression ID and value= holds the payout.
  5. In PopAds, check that the campaign’s statistics show the conversion.

Tracking several events

The PopAds postback has no event or goal parameter, so PopAds cannot tell one event from another. Send it the one conversion you want PopAds to count.
  1. In ClickFlare, create a custom conversion for each step of your funnel, for example lead and purchase.
  2. Map the PopAds postback to the event that matters most, usually the sale.
Every step still shows in ClickFlare. Only the mapped event reaches PopAds.
  • One postback, one event. Don’t add a second postback for another event: without an event parameter, PopAds has no way to keep them apart.
  • value is in USD, with a dot as the decimal separator, no currency symbol and no thousands separator.
  • The aid belongs to your PopAds account. Copy it from your own Conversion Tracking page, never from another guide.
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 PopAds’ bid with every visit. PopAds fills bid=[BID] in the campaign URL, and ClickFlare records it as the visit’s cost. Set the Cost Model on the campaign to Not Tracked. ClickFlare then uses the value PopAds passes in the URL. See Cost Models.
PopAds prices traffic per 1,000 popunders. If [BID] arrives as that per-thousand bid, ClickFlare records each visit at a thousand times its real cost. After the first visits, compare ClickFlare’s Cost column with the spend PopAds reports for the same period. If ClickFlare’s cost is far too high, set the cost model to CPC and enter your bid divided by 1,000 as the cost per visit.
When the actual spend differs from what ClickFlare recorded, correct it with a manual cost upload. See How to Set Up Traffic Source Cost Tracking.

Delayed revenue

If you run search arbitrage (RSOC or AFD) behind PopAds, the feed reports revenue hours or days after the click. To pass that revenue to PopAds once it arrives, see Sending Delayed Revenue to Traffic Sources.

Troubleshooting

  • Traffic source postback URL is off.
  • The postback still contains aid=REPLACE. Replace it with your own aid, as in Step 2.
  • id= in the postback is blank, because the campaign URL in PopAds has no impressionid=[IMPRESSIONID]. See the next item.
  • 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 PopAds returned.
The campaign URL in PopAds has no impressionid=[IMPRESSIONID], usually because it was edited or copied before the traffic source was saved. Check that the external_id row reads impressionid and [IMPRESSIONID], then copy the campaign URL from ClickFlare again and update it in PopAds. Visits that already happened keep their empty External ID.
[BID] is passing your per-thousand bid. Switch to CPC with your bid divided by 1,000. See Cost.
The macros were not replaced, usually because the URL was edited or pasted somewhere PopAds doesn’t process macros. Paste the campaign URL from ClickFlare unchanged. See Traffic Source Tokens Arriving Empty.
For the general checklist, see Conversions not showing.
FREQUENTLY ASKED QUESTIONS
Q1: Can I use the same PopAds traffic source for all my PopAds campaigns?
A1: Yes. The aid identifies your account, so one postback serves every campaign. If your PopAds Conversion Tracking page shows a different aid for a campaign, create a second PopAds traffic source with that postback.
Q2: Where do I see PopAds’ impression ID in my reports?
A2: In the External ID column. The template’s external_id row stores [IMPRESSIONID] there, and the postback sends it back to PopAds as id={external_id}.
Q3: Why does PopAds call the click ID an impression ID?
A3: The visitor never clicks your ad. The popunder opens behind the page they are on, so PopAds identifies each popunder by its impression. For ClickFlare it plays the same role as a click ID.
Q4: Should I use Redirect or Direct tracking with PopAds?
A4: Redirect is the usual choice for popunder traffic. Use Direct only if PopAds must see your lander’s domain as the destination. See Direct Campaign Tracking.
Q5: Do I need the postback if I only buy on CPM?
A5: ClickFlare tracks your conversions and ROI without it. The postback is what lets PopAds see them too, in your PopAds statistics and for its own optimization. Set it up anyway. It takes a minute.

Traffic source postbacks

Every token you can use in a postback.

Tokens arriving empty

What to check when macros come through blank.

Cost models

How CPC, CPA and Auto costs are calculated.

Conversions not showing

The general checklist when postbacks don’t arrive.