
At a glance
How it works
1
AdSupply sends the visit
Your ad is shown or clicked. AdSupply opens your ClickFlare campaign URL and fills in its macros: the conversion tracking ID in
s2sParam, the price in cpv, plus the campaign, placement, bid, channel and media.2
ClickFlare stores the AdSupply click ID
ClickFlare saves the value of
s2sParam 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 AdSupply
ClickFlare fires the template’s AdSupply postback, replacing
{external_id} with the stored AdSupply ID. AdSupply matches it to the original visit.The mirror to keep straight: in the campaign URL you write ClickFlare’s parameter (
s2sParam) and AdSupply’s macro ({s2sParam}). The template does this for you. In the postback URL you write AdSupply’s parameter (s2sParam) and ClickFlare’s token ({external_id}). With AdSupply, both parameters happen to share the same name.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.
- Have an AdSupply advertiser account. Sign up at AdSupply, then create your campaign and fund the account. Your account manager can confirm the conversion tracking options on your account.
- Decide which conversions AdSupply should receive. AdSupply shows what you send it. If your funnel has several steps (lead, then sale), decide now whether to send one event or several. See Tracking several events.
Step 1 – Create the campaign and the AdSupply traffic source
- Go to Campaigns and click New.
- In Traffic Source, open the dropdown and click + New Traffic Source.
- Type
adsupplyin the search box and select the AdSupply template. - Enter a Name, for example
AdSupply. - Leave Cost currency on USD unless your AdSupply account is billed in another currency.

{PLACEMENTID}, {SITEID}, {MEDIAID}, {COUNTRYCODE} and {IPADDRESS}. Check the macros your AdSupply account offers, and their exact spelling, before adding them.
Step 2 – Set up the postback
The postback is what sends conversions to AdSupply. It lives on the traffic source, so every campaign that uses this AdSupply traffic source sends conversions the same way.What the template gives you
- Back in the New Traffic Source form, scroll to Passing conversion info to traffic source.
- Turn on Traffic source postback URL. The template’s postback appears, with ClickFlare’s
{external_id}token as the value ofs2sParam:

- 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. - Click Save. You are back in the campaign editor with the AdSupply traffic source selected.
{external_id} is the AdSupply ID that ClickFlare stored from s2sParam on the visit. Don’t replace it with ClickFlare’s own click ID: AdSupply doesn’t know it.
AdSupply doesn’t document a payout parameter for this postback. AdSupply counts the conversion, and your revenue and ROI stay in ClickFlare. Ask your AdSupply account manager if you need revenue reported in AdSupply.
The alternative: AdSupply’s conversion pixel
AdSupply also offers a browser pixel. In AdSupply, the placement setup has a Conversion tracking step with a Script tab and three pixels. They report conversions at advertiser, campaign or placement level. The pixel is a script that runs in the visitor’s browser on your thank-you page. It doesn’t use ClickFlare and depends on the browser, so ad blockers and cookie restrictions can drop conversions. Use it only if you own the thank-you page and the postback isn’t an option. Don’t run the pixel and the postback together, or AdSupply counts each conversion twice. 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
- Name the campaign.
- Set the Cost Model to Not Tracked, so ClickFlare uses the cost AdSupply passes. See Cost.
- Choose Redirect or Direct tracking. Redirect is the usual choice for AdSupply’s popunder and banner traffic.
- Click Next and, on Destination, add your lander (optional) and your offer.
- Save, open Tracking, select your own tracking domain and copy the campaign URL.
s2sParam={s2sParam} and cpv={cpv}.
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 AdSupply.
See Creating a Campaign in ClickFlare.
Step 4 – Create the campaign in AdSupply
In AdSupply, a campaign holds one or more placements. Each placement has its own ad type, targeting, media and bid.- Click Create New Campaign, enter a Campaign name, click Next, set the budget and click Create Campaign.
- Inside the campaign, click Create New Placement and choose the Ad type.
- Set the traffic targeting and the schedule, clicking Next after each.
- Under Select Media Rotation, click Create a New Media Rotation, then Create a New Media.
- Enter a media name, choose the Source type, upload your creative, and paste the ClickFlare campaign URL into Click-through URL.
- Set the placement caps, enter a Max bid, review and click Create placement.
{...} macro when the ad runs. Name your placements and media clearly: their names are what arrive in the Placement name and Media name columns.
Step 5 – Test the integration
- Open the campaign URL with test values, or let the placement run briefly, and check the visit in ClickFlare. The External ID must contain a real value, not the text
{s2sParam}. - Complete the offer the way a real visitor would, or fire a test conversion through your affiliate network.
- In ClickFlare, go to Logs → Postback Status and filter by the campaign. A successful request to
engine.4dsply.comconfirms ClickFlare sent it. - In AdSupply, check that the conversion appears in your campaign’s reporting.
s2sParam value arrived.
Tracking several events
AdSupply’s postback has no event parameter. Each postback that fires counts as a conversion. To send more than one ClickFlare event:- In ClickFlare, create a custom conversion for each step, for example
leadandpurchase. - On the AdSupply traffic source, click + Another postback URL once per extra event, and paste the template’s postback into it.
- Map each postback to its ClickFlare event.
Sending only one event
Sending only one event
If AdSupply should only see your final sale, keep a single postback and map it to that event. Earlier steps (leads, add to carts) still show in ClickFlare. They just don’t reach AdSupply.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.
Pixel conversion levels
Pixel conversion levels
If you use AdSupply’s pixel instead of the postback, pick the level carefully. The advertiser-level pixel counts conversions across all your campaigns. The campaign and placement pixels tie them to one campaign or one placement.
Cost
The template passes cost per visit. Thecost row sends AdSupply’s {cpv} macro, the winning price of the impression after bid, and ClickFlare records it as the visit’s cost. For popunders, one impression is one visit, so the recorded cost follows your actual spend.
On the campaign, set the Cost Model to Not Tracked so ClickFlare uses the cost passed in the URL.
The template also passes
{bid} and {totalcpv} as tracking fields. Use them to compare your bid ceiling with what you actually paid. Only {cpv} feeds ClickFlare’s cost.{cpv} doesn’t arrive for your format, switch the Cost Model to CPC and enter your bid as the cost. On CPM placements, enter your CPM bid divided by 1,000.
ClickFlare has no cost integration for AdSupply. When the recorded spend differs from your AdSupply spend, correct it with a manual cost upload. See Cost Models.
Delayed revenue
If you run search arbitrage (RSOC or AFD) behind AdSupply, the feed reports revenue hours or days after the click. ClickFlare can fire the postback again once that revenue arrives. See Sending Delayed Revenue to Traffic Sources. Since AdSupply’s postback carries no payout, only the conversion itself reaches AdSupply.Troubleshooting
No conversions reach AdSupply
No conversions reach AdSupply
- Traffic source postback URL is off on the AdSupply traffic source, or the template’s postback was deleted or edited. Restore it as in Step 2.
- 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 returned.
ClickFlare sent the postback but AdSupply doesn't show it
ClickFlare sent the postback but AdSupply doesn't show it
- The External ID on the visit is empty or contains
{s2sParam}as text, so the postback sent nothing AdSupply can match. Check theexternalIdrow and the URL in AdSupply’s Click-through URL. - The postback uses ClickFlare’s click ID instead of
{external_id}. - Server-to-server tracking isn’t enabled for your placement. Ask your AdSupply account manager.
AdSupply counts conversions twice
AdSupply counts conversions twice
You run both the AdSupply pixel and the ClickFlare postback. Remove the pixel from your thank-you page, or turn off the postback.
Placement or media columns are empty
Placement or media columns are empty
The macros were not replaced, usually because the URL was pasted somewhere AdSupply doesn’t process macros, or was edited. Paste the campaign URL from ClickFlare unchanged. See Traffic Source Tokens Arriving Empty.
FREQUENTLY ASKED QUESTIONS
Q1: Can I use the same AdSupply traffic source for all my AdSupply campaigns?A1: Yes. The postback is set once on the traffic source and every campaign using it sends conversions the same way.
Q2: Do I need to change anything in the template’s postback?A2: No. It sends
s2sParam={external_id}, which is all AdSupply’s postback takes. There is no account ID or goal to fill in.
Q3: Can I send my payout to AdSupply?A3: Not with the documented postback, which carries only
s2sParam. Your revenue, profit and ROI are in ClickFlare. Ask your AdSupply account manager if your account supports a payout value.
Q4: Should I use Redirect or Direct tracking with AdSupply?A4: Redirect is the usual choice and works with every AdSupply format. Use Direct only if AdSupply must see your lander’s domain as the destination. See Direct Campaign Tracking.
Q5: Is the cost exact?A5: It is the price AdSupply passes per visit in
{cpv}. Compare the Cost column with your AdSupply spend after the first day. If they differ, fix the totals with a manual cost upload.
Related
Traffic source postbacks
Every token you can use in a postback.
Custom conversions
Split leads and sales into separate events.
Cost models
How CPC, CPA and RevShare costs are calculated.
Conversions not showing
The general checklist when postbacks don’t arrive.