
At a glance
How it works
1
JuicyAds sends the click
A visitor clicks your ad. JuicyAds opens your ClickFlare campaign URL and fills in its dynamic links: the click ID in
dynamicS2S, the bid in dynamicBID, plus the publisher, site, ad zone, image, campaign and country.2
ClickFlare stores the JuicyAds click ID
ClickFlare saves the value of
dynamicS2S 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 JuicyAds
ClickFlare fires the JuicyAds S2S postback, replacing
{external_id} with the stored JuicyAds click ID and {payout} with the revenue. JuicyAds matches it to the original click, including the zone or site it came from.The mirror to keep straight: in the campaign URL you write ClickFlare’s parameter (
dynamicS2S) and JuicyAds’ macro ({dynamicS2S}). The template does this for you. In the postback URL you write JuicyAds’ parameter (s2s) 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.
- 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.
- Know where JuicyAds keeps your postback values. JuicyAds shows the
c,tokenanddatavalues per campaign, in the campaign’s Performance Tracking tab. The banner campaign must be approved before the full tracking options are available. Plan to create the JuicyAds campaign first and enter the values in the template’s postback once you have them. See Step 2. - Know your format. Banner and popunder campaigns use different postback URLs and pass different data. Popunders are sold by site only, so they have no zone or image data.
Step 1 – Create the campaign and the JuicyAds traffic source
- Go to Campaigns and click New.
- In Traffic Source, open the dropdown and click + New Traffic Source.
- Type
juicyin the search box and select the JuicyAds template. - Enter a Name, for example
JuicyAds Banners. If you run both banners and popunders, create one traffic source for each, because their postbacks differ. - Leave Cost currency on USD unless your JuicyAds account is billed in another currency.

AdZone ID is the one you will use most: JuicyAds sells banners by zone, so it tells you which placements convert. On popunders, use Site ID, because pops are sold by site only. Campaign Image ID and Campaign Image Filename compare creatives.
On popunder traffic, the five rows marked Banners only stay empty. That is expected. Date of transaction and Hour of transaction duplicate what ClickFlare already records for every visit. You can repurpose those rows if you need the fields for something else.
To pass more JuicyAds data, click Add Parameter, give it a name and parameter, and enter the JuicyAds macro as the TS Token. ClickFlare assigns the next free tracking field. For popunders, JuicyAds also offers {dynamicCON} (connection type, Wifi or carrier), {dynamicDTY} (device type) and {dynamicDOS} (device OS). They are not in the template.
Step 2 – Set up the postback
The postback is what sends conversions to JuicyAds. It lives on the traffic source, so every campaign that uses this JuicyAds traffic source sends conversions the same way. The JuicyAds template comes with a postback. When you turn on the postback, the field is already filled in with the banner endpoint:
{external_id} and {payout} are ClickFlare tokens and are already in place. Replace the three REPLACE values (c, token and data) with the values from your JuicyAds account.
Get your values from JuicyAds
- In JuicyAds, open your campaign.
- Click the Performance Tracking tab, then S2S Postbacks in the menu.
- Choose the postback type:
- Copy the
c(campaign) oru(user),tokenand, on banners,datavalues from the URL JuicyAds shows. Keep them exactly as JuicyAds gives them.
Finish the postback in ClickFlare
- Back in the New Traffic Source form, or on the saved JuicyAds traffic source, scroll to Passing conversion info to traffic source.
- Turn on Traffic source postback URL. The template’s banner postback appears.
- Replace
c=REPLACE,token=REPLACEanddata=REPLACEwith your values from JuicyAds. Leaves2s={external_id}andamount={payout}as they are. - For popunders, replace the whole URL with the popunder endpoint, which has no
dataparameter, and fill incandtokenthe same way:
- 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.
s2s=. The template already does this, and fills amount too. Don’t change c, u, token or data once they match JuicyAds.
To learn what each postback token does, see How to Configure a Traffic Source S2S Postback URL.
Tracking pixels
JuicyAds also offers Tracking Pixels for banner campaigns, under Performance Tracking. A pixel is a 1x1 image you place on your own thank-you page. It only works when you control that page, it only tracks JuicyAds traffic, and it doesn’t use ClickFlare’s data. With ClickFlare, use the S2S postback.Step 3 – Finish the campaign and copy its URL
- Name the campaign.
- Set the Cost Model to Not Tracked, so ClickFlare uses the bid JuicyAds passes. On CPM banners, read Cost first.
- Choose Redirect or Direct tracking. Redirect is the usual choice for banner and popunder 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.
dynamicS2S={dynamicS2S} and dynamicZNE={dynamicZNE}.
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 JuicyAds.
See Creating a Campaign in ClickFlare.
Step 4 – Create the campaign in JuicyAds
- In JuicyAds, click Manage My Ads.
- Choose New Banner Campaign or New Popunder Campaign.
- Fill in the required fields and paste the ClickFlare campaign URL into the campaign URL field.
- Click Get Started, then complete Campaign Settings: bid type, campaign mode and targeting.
- Request the campaign.
{dynamic...} link when the ad is clicked. JuicyAds’ own examples join several macros with underscores in one parameter. You don’t need to: the template gives each macro its own parameter.
Once the campaign is approved, go back to Step 2 if you haven’t added the postback yet.
Step 5 – Test the integration
JuicyAds has no test-conversion button. It asks you to test the postback before going live, then monitor it.- Run a small amount of traffic, or click your own approved ad.
- Complete the offer the way a real visitor would.
- In ClickFlare, go to Logs → Postback Status and filter by the campaign. A successful request to
juicyads.comconfirms ClickFlare sent the postback, with a real click ID in place of{external_id}. - In JuicyAds, open the campaign’s S2S Postbacks page. It lists the raw S2S events JuicyAds received.
- Once traffic flows, check the campaign’s Traffic Sources tab, which shows conversions per source, and the Statistics page, which adds KPIs and ROI.
Tracking several events
JuicyAds banner postbacks accept agoal parameter, so you can track up to three events separately, for example a join-page visit, a free signup and a sale. Without goal, every postback counts as goal 1.
- In ClickFlare, create a custom conversion for each step, for example
signupandsale. - On the JuicyAds traffic source, click + Another postback URL once per extra event.
- Map each postback to its ClickFlare event:
signupto thegoal=2URL,saleto thegoal=3URL.
Rules for multi-goal postbacks
Rules for multi-goal postbacks
- Three goals at most:
goal=1,goal=2,goal=3. - One postback per goal. Don’t combine goals in one URL.
- Events with no money attached, like a join-page visit, can still send
{payout}. It is0when the conversion has no revenue. - JuicyAds documents
goalfor banner postbacks. Ask JuicyAds support before relying on it for popunders.
Sending only one event
Sending only one event
If JuicyAds should only learn from your final sale, keep a single postback and map it to that event. Earlier steps (leads, installs) still show in ClickFlare. They just don’t reach JuicyAds.JuicyAds itself suggests optimizing on the more frequent event when sales are rare, for example installs rather than sales. If that is your case, map the postback to the earlier event instead.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 click. Thecost row sends JuicyAds’ {dynamicBID} macro, the bid at the time of the click or impression, 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.
JuicyAds’
{dynamicBID} is a price per click on CPC campaigns (for example 0.01) and a price per impression on CPM campaigns (for example 0.0001). On CPC banners and on popunders, where an impression is roughly one visit, it matches your spend. On CPM banners, only a share of impressions become clicks, so ClickFlare records the price of one impression for each visit and the cost comes out too low. For CPM banners, switch the Cost Model to CPC and enter your real cost per click, or correct the spend with a manual cost upload.Delayed revenue
If you run search arbitrage (RSOC or AFD) behind JuicyAds, the feed reports revenue hours or days after the click. To pass that revenue to JuicyAds once it arrives, see Sending Delayed Revenue to Traffic Sources.Troubleshooting
JuicyAds receives no S2S events
JuicyAds receives no S2S events
- Traffic source postback URL is off.
- The postback still contains
REPLACEinc,tokenordata. Enter your values from S2S Postbacks. - Disable sending postbacks to traffic source is on in the campaign.
- The postback contains
{dynamicS2S}or{Amount}from a JuicyAds sample. ClickFlare sends them as literal text. Replace them with{external_id}and{payout}. - The
c,u,tokenordatavalues were changed. Copy them from S2S Postbacks again. - The template’s banner postback is used on a popunder campaign. Popunders need the popunder endpoint.
- Check Logs → Postback Status: a failed request shows the status code JuicyAds returned.
Conversions show in ClickFlare but not in JuicyAds
Conversions show in ClickFlare but not in JuicyAds
- The campaign URL in JuicyAds is missing
dynamicS2S={dynamicS2S}, so the visit has no External ID. Copy the URL from ClickFlare again. - 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 visit came through a lander whose link skips the ClickFlare click URL.
JuicyAds shows conversions with no value
JuicyAds shows conversions with no value
amount was removed, fixed to a sample value, or replaced with {Amount}. Set it to amount={payout}, as in the template.Zone, image or date columns are empty
Zone, image or date columns are empty
On popunders this is expected: JuicyAds only fills
{dynamicZNE}, {dynamicIMG}, {dynamicIMGNAME}, {dynamicDATE} and {dynamicHOUR} on banners. Use Site ID for popunders.On banners, the URL was edited or pasted somewhere JuicyAds doesn’t process dynamic links. Paste the campaign URL from ClickFlare unchanged. See Traffic Source Tokens Arriving Empty.Numbers differ between JuicyAds and ClickFlare
Numbers differ between JuicyAds and ClickFlare
Some gap is normal: JuicyAds counts clicks on its side, ClickFlare counts visits that reach the tracker, and reports may use different time zones. For a large gap, check that every JuicyAds campaign uses the ClickFlare campaign URL, and that the lander links through the click URL.
FREQUENTLY ASKED QUESTIONS
Q1: Can I use the same JuicyAds traffic source for all my JuicyAds campaigns?A1: Yes, for one format. Use the Global
c, token and data values and every banner campaign sends conversions through the template’s postback. Create a second traffic source for popunders, because their postback endpoint is different.
Q2: Why does the template’s postback say REPLACE?
A2: JuicyAds’ postback contains values unique to your account and campaign (c or u, token, and on banners data). The template can’t know them, so you replace the three REPLACE values with the ones from Performance Tracking → S2S Postbacks.
Q3: Why is it calledA3: They are two halves of the same value. ClickFlare reads JuicyAds’ click ID from its owndynamicS2Sin the campaign URL ands2sin the postback?
dynamicS2S parameter. JuicyAds expects it back in its own s2s parameter. Both names are fixed. Change neither.
Q4: Should I use Redirect or Direct tracking with JuicyAds?A4: Redirect is the usual choice and works with banners and popunders. Use Direct only if JuicyAds must see your lander’s domain as the destination. See Direct Campaign Tracking.
Q5: Can JuicyAds optimize on my conversions?A5: Once S2S events arrive, JuicyAds shows them per source on the campaign’s Traffic Sources tab, so you can block sources that don’t convert. Its Adsistant tools can automate that. Both only work with the postback in place.
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.