
At a glance
How it works
1
HilltopAds sends the click
A visitor clicks or opens your ad. HilltopAds opens your ClickFlare campaign URL and fills in its macros: the click ID in
token, the price in price, plus the zone, campaign and country.2
ClickFlare stores the HilltopAds click ID
ClickFlare saves the value of
token 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 HilltopAds
ClickFlare fires the HilltopAds postback, replacing
{external_id} with the stored HilltopAds click ID and {payout} with the revenue. The currency is fixed to USD in the template, and your advertiser ID goes in advertiserId. HilltopAds matches the postback to the original click.The mirror to keep straight: in the campaign URL you write ClickFlare’s parameter (
token) and HilltopAds’ macro ({{token}}). The template does this for you. In the postback URL you write HilltopAds’ parameter (token) and ClickFlare’s token ({external_id}). HilltopAds macros use double braces. ClickFlare tokens use single braces. Never mix them.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 HilltopAds advertiser ID. HilltopAds requires it in every postback. It is in the Trackers section of your HilltopAds account, inside your unique postback URL. You will paste it into the template’s postback in Step 2.
- Decide which conversions HilltopAds should receive. HilltopAds optimizes on conversions, and bills CPA campaigns on them. If your funnel has several steps, decide now which one is the conversion. See Tracking several events.
Step 1 – Create the campaign and the HilltopAds traffic source
- Go to Campaigns and click New.
- In Traffic Source, open the dropdown and click + New Traffic Source.
- Type
hilltopin the search box and select the HilltopAds template. - Enter a Name, for example
HilltopAds. - Leave Cost currency on USD unless your HilltopAds account is billed in another currency.

zoneid is the one you will use most. It tells you which publisher zones convert, so you can blacklist or whitelist zones in HilltopAds.
The template only passes three tracking fields. HilltopAds offers more macros you can add:
To add one, click Add Parameter, give it a name and parameter (for example
adid), and enter the HilltopAds macro as the TS Token, double braces included. ClickFlare assigns the next free tracking field. {{adid}} is worth adding if you test several creatives.
Step 2 – Set up the postback
The postback is what sends conversions to HilltopAds. It lives on the traffic source, so every campaign that uses this HilltopAds traffic source sends conversions the same way.Get your advertiser ID from HilltopAds
- In HilltopAds, open the Trackers section of your advertiser account.
- Find your unique postback URL. HilltopAds builds it with your advertiser ID in the
advertiserIdparameter. - Copy the advertiser ID.
Add it to the traffic source in ClickFlare
- 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:

{external_id}) and the payout ({payout}) as ClickFlare tokens, and the currency as USD. It has a placeholder for your advertiser ID.
- Replace
REPLACEwith your HilltopAds advertiser ID. This is the only change you need. The result:
- In the dropdown on the left, choose the ClickFlare event that should fire the postback. The dropdown lists the Default Events (Conversions, Clicks, Visits) and your Custom Conversions. 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 HilltopAds traffic source selected.
currency=USD. ClickFlare’s {payout} is in your ClickFlare account currency. If your ClickFlare payouts are not in USD, change USD to that currency code. 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
- Name the campaign.
- Set the Cost Model to Not Tracked, so ClickFlare uses the price HilltopAds passes. See Cost.
- Choose Redirect or Direct tracking. Redirect is the usual choice for HilltopAds’ 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.
token={{token}} and zoneid={{zoneid}}.
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 HilltopAds.
See Creating a Campaign in ClickFlare.
Step 4 – Create the campaign in HilltopAds
- In HilltopAds, go to Manage Campaigns and click Add Campaign.
- Choose the ad format, traffic channel, targeting and bid as usual.
- Paste the ClickFlare campaign URL into the Final Destination URL field.
- Save the campaign and submit it for moderation.
Step 5 – Test the integration
- In HilltopAds, open the Trackers section and go to Test Conversion.
- Follow HilltopAds’ test flow, then complete the offer the way a real visitor would.
- Check the result in Test Conversion. If HilltopAds doesn’t register the conversion, check the advertiser ID in the postback first.
- In ClickFlare, go to Logs → Postback Status and filter by the campaign. A successful postback to
trackhta.comconfirms ClickFlare sent it.
{{token}} value. If you open the ClickFlare campaign URL directly in your browser, token arrives empty and there is nothing for HilltopAds to match.
Tracking several events
HilltopAds separates conversions from micro-conversions. A conversion is the action HilltopAds bills CPA campaigns on and optimizes for. A micro-conversion is an earlier step, such as a registration, that HilltopAds shows in stats for analysis. HilltopAds identifies a micro-conversion by agoal parameter in the postback. A conversion must not include a goal.
- In ClickFlare, create a custom conversion for each step, for example
registrationandpurchase. - Map the main postback (no
goal) to your final event, for examplepurchase. - Click + Another postback URL for each micro-conversion. Give it the HilltopAds URL with a
goalvalue, for examplegoal=reg, and map it to its ClickFlare event, for exampleregistration. - Use the same advertiser ID in every postback.
Rules for HilltopAds goals
Rules for HilltopAds goals
- Only the postback without a
goalcounts as a conversion. Keep exactly one of those per funnel. - Name goals after the step, for example
reg,first_time_deposit,add_to_cart. HilltopAds doesn’t limit the number of goals. - Micro-conversions are for analysis. Optimize on the conversion that matters most.
- HilltopAds’ own guides differ on the parameter name for the event (
goalin the tracker example,labelin the general example). Check the format in your Trackers section, or ask HilltopAds support, before relying on it.
Sending only one event
Sending only one event
If HilltopAds should only learn from your final sale, keep a single postback and map it to that event. Earlier steps still show in ClickFlare. They just don’t reach HilltopAds.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 with every visit. Thecost row sends HilltopAds’ {{price}} macro, and ClickFlare records it as the visit’s cost. HilltopAds fills {{price}} with the price of one impression on CPM campaigns, or one click on CPC campaigns.
On the campaign, set the Cost Model to Not Tracked so ClickFlare uses the cost passed in the URL.
On popunder, one impression is one visit, so the CPM price per impression is the right cost per visit. On CPM banner and video campaigns, many impressions happen for each click, but ClickFlare only records the clicks. The cost per click is then understated. Compare ClickFlare’s Cost column with your HilltopAds spend after launch. If it doesn’t match, switch the Cost Model to CPC with 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 HilltopAds, the feed reports revenue hours or days after the click. To pass that revenue to HilltopAds once it arrives, see Sending Delayed Revenue to Traffic Sources.Troubleshooting
HilltopAds doesn't register the test conversion
HilltopAds doesn't register the test conversion
advertiserIdis stillREPLACE, or the ID is wrong. Copy it again from the Trackers section.- The campaign URL in HilltopAds is missing
token={{token}}, or the macro was edited. Copy the URL from ClickFlare again. - The postback uses a HilltopAds double-brace macro instead of ClickFlare’s
{external_id}. ClickFlare doesn’t know HilltopAds macros and sends them as literal text.
Conversions show in ClickFlare but not in HilltopAds
Conversions show in ClickFlare but not in HilltopAds
- Traffic source postback URL is off on the HilltopAds 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 HilltopAds returned.
HilltopAds shows conversions with no payout
HilltopAds shows conversions with no payout
The template sends
price={payout}, so it was removed or edited. Restore &price={payout}¤cy=USD.If the conversions arrive in ClickFlare without a payout, {payout} is empty too. Fix the payout in the affiliate network’s postback to ClickFlare, or set a payout on the offer.Zone or campaign columns are empty, or show the macro as text
Zone or campaign columns are empty, or show the macro as text
The macros were not replaced, usually because the URL was edited or pasted somewhere HilltopAds doesn’t process macros. Paste the campaign URL from ClickFlare unchanged, with the double braces. See Traffic Source Tokens Arriving Empty.
FREQUENTLY ASKED QUESTIONS
Q1: Can I use the same HilltopAds traffic source for all my HilltopAds campaigns?A1: Yes. The postback and advertiser ID are set once on the traffic source, and every campaign using it sends conversions the same way. Create a second HilltopAds traffic source only if a campaign needs a different postback, for example different goals.
Q2: HilltopAds lists Voluum, Binom, RedTrack and other trackers, but not ClickFlare. Is that a problem?A2: No. The ClickFlare template already has the postback format. You only replace
REPLACE with your advertiser ID from the Trackers section.
Q3: Why is itA3: They are two halves of the same value. HilltopAds fills{{token}}in the campaign URL and{external_id}in the postback?
{{token}} with its click ID when it sends the visit, and ClickFlare stores it. In the postback, ClickFlare fills {external_id} with that stored value. HilltopAds expects it back in its own token parameter.
Q4: Some older HilltopAds guides use {{ctoken}}. Should I?
A4: No. Use {{token}}, as the template does. It is the click ID macro HilltopAds’ current tracker guides list.
Q5: Should I use Redirect or Direct tracking with HilltopAds?A5: Redirect is the usual choice and works with every HilltopAds format. Use Direct only if HilltopAds must see your lander’s domain as the destination. See Direct Campaign Tracking.
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.