
At a glance
How it works
1
PropellerAds sends the click
A visitor triggers your Onclick ad. PropellerAds opens your ClickFlare campaign URL and fills in its macros: the click ID in
visitor_id, the cost of the visit in cost, plus the zone, banner, device, ISP and other details.2
ClickFlare stores the PropellerAds click ID
ClickFlare saves the value of
visitor_id 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 PropellerAds
ClickFlare fires the PropellerAds postback, replacing
{external_id} with the stored PropellerAds click ID and {payout} with the revenue. PropellerAds matches it to the original click.The mirror to keep straight: in the campaign URL you write ClickFlare’s parameter (
visitor_id) and PropellerAds’ macro (${SUBID}). The template does this for you. In the postback URL you write PropellerAds’ parameter (visitor_id) and ClickFlare’s token ({external_id}). The parameter name happens to be the same on both sides. The values on the right never are.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.
- Get your
aidandtidfrom PropellerAds. They identify your account in the postback. You copy them from the Tracking section of your PropellerAds advertiser account in Step 2. - Decide which conversions PropellerAds should receive. PropellerAds optimizes on what you send it, and the postback is mandatory for CPA Goal campaigns and for Smart Optimization. If your funnel has several steps (registration, then deposit), decide now whether to send one event or several. See Tracking several events.
Step 1 – Create the campaign and the PropellerAds traffic source
- Go to Campaigns and click New.
- In Traffic Source, open the dropdown and click + New Traffic Source.
- Type
propellerin the search box and select the PropellerAds Pop template. - Enter a Name, for example
PropellerAds Pop. - Leave Cost currency on USD unless your PropellerAds 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 bid up zones in PropellerAds. campaignid lets you split one ClickFlare campaign’s report by PropellerAds campaign, useful when several PropellerAds campaigns point to the same URL.
To pass more PropellerAds data, for example {country}, {os} or {browser}, click Add Parameter, give it a name and parameter, and enter the PropellerAds macro as the TS Token. ClickFlare assigns the next free tracking field. Check the macros your PropellerAds campaign form offers before adding them.
Step 2 – Set up the postback
The postback is what sends conversions to PropellerAds. It lives on the traffic source, so every campaign that uses this PropellerAds traffic source sends conversions the same way.Get your aid and tid from PropellerAds
- In your PropellerAds advertiser account, open the Tracking section.
- Pick your tracker from the list. If ClickFlare isn’t listed, choose Other tracker or CPA network.
- Copy the S2S postback URL PropellerAds shows. It looks like this:
- Note the two values you need: the number after
aid=and the number aftertid=.
${SUBID} or ${PAYOUT} here. Those are the macros PropellerAds uses in its own example. In ClickFlare you use ClickFlare’s tokens instead.
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:
- Replace the first
REPLACEwith youraidand the second with yourtid. Keep{external_id}and{payout}, which are ClickFlare’s tokens. The result:
- In the dropdown on the left, choose the ClickFlare event that should fire the postback. Keep Conversions to send every conversion. If your main action is a custom conversion (for example
registration), choose that instead. - Click Save. You are back in the campaign editor with the PropellerAds traffic source selected.

pid= parameter. The template leaves it out. If PropellerAds shows a value after pid= in your account, add &pid= with that value to the URL.
The template already sends payout={payout}, so PropellerAds receives the revenue of every conversion. It uses it for CPA Goal bidding and shows it in your PropellerAds stats. If your offers pay in a currency other than your PropellerAds account’s, 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. See Cost.
- Choose Redirect or Direct tracking. Redirect is the usual choice for Onclick 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.
visitor_id=${SUBID}, zoneid={zoneid} and cost={cost}.
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 PropellerAds.
See Creating a Campaign in ClickFlare.
Step 4 – Create the Onclick campaign in PropellerAds
- In PropellerAds, click Create Campaign.
- Set the ad format to Onclick.
- Choose the traffic type (Websites, Direct click or Social Traffic) and the pricing model (CPM, SmartCPM or CPA Goal).
- Paste the ClickFlare campaign URL into the Target URL field.
- Set your GEOs, bid or conversion price, budgets and targeting as usual.
- Start the campaign. It goes to moderation, which can take up to 24 hours.
Step 5 – Test the integration
PropellerAds can verify the setup with a test banner before you spend anything.- In PropellerAds, open the Tracking section and go to Test conversion.
- Paste your ClickFlare campaign URL into the test field and click Create test banner.
- Open the banner, follow your funnel and complete the offer the way a real visitor would.
- Back on Test conversion, click Update to see whether PropellerAds received the conversion.
- In ClickFlare, go to Logs → Postback Status and filter by the campaign. A successful postback to
ad.propellerads.comconfirms ClickFlare sent it.
Tracking several events
PropellerAds can track up to three conversion levels per visitor, for example a registration, a first deposit and a redeposit. Each level has its own postback. The main event has nogoal parameter. The second and third add goal=2 and goal=3:
- In ClickFlare, create a custom conversion for each step, for example
registration,depositandredeposit. - On the PropellerAds traffic source, click + Another postback URL once per extra event.
- Map each postback to its ClickFlare event:
registrationto the URL withoutgoal,deposittogoal=2,redeposittogoal=3. - Test each event. Every postback must carry the same
visitor_id, which it does, because ClickFlare sends the same stored External ID for every event of a visit.
Rules for multi-event postbacks
Rules for multi-event postbacks
- Three levels at most: the main event,
goal=2andgoal=3. - One postback per event. Don’t combine events in one URL.
- Only the main postback, the one without
goal, affects performance in CPA Goal campaigns. Map it to the event you want PropellerAds to buy. - The other levels still show in PropellerAds’ statistics, so you can see deposit rates by zone without changing what PropellerAds optimizes for.
Sending only one event
Sending only one event
If PropellerAds should only learn from your final sale, keep a single postback, without
goal, and map it to that event. Earlier steps still show in ClickFlare. They just don’t reach PropellerAds.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. PropellerAds fillscost={cost} in the campaign URL, and ClickFlare records it as the visit’s cost. No API integration is needed.
Set the Cost Model on the campaign to Not Tracked. Despite the label, ClickFlare then uses the cost value PropellerAds passes in the URL for each visit. See Cost Models.
After the first few hundred visits, compare ClickFlare’s Cost column for the campaign with the spend PropellerAds reports for the same period. They should be close. If they are far apart, for example ClickFlare’s cost is a thousand times higher, the macro is not passing a per-visit amount for your campaign. In that case, set the cost model to CPC and enter your CPM bid divided by 1,000 as the cost per visit. For CPA Goal campaigns, use CPA with your conversion price.
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 PropellerAds, the feed reports revenue hours or days after the click. To pass that revenue to PropellerAds once it arrives, see Sending Delayed Revenue to Traffic Sources.Troubleshooting
The test conversion doesn't show in PropellerAds
The test conversion doesn't show in PropellerAds
- The campaign URL in PropellerAds is missing
visitor_id=${SUBID}, or the macro was edited. Copy the URL from ClickFlare again. - The postback still contains
REPLACEinstead of youraidortid. - The postback uses PropellerAds’
${SUBID}instead of ClickFlare’s{external_id}. In a postback, ClickFlare doesn’t know${SUBID}and sends it as literal text. - The
externalIdrow was removed from the traffic source.
Conversions show in ClickFlare but not in PropellerAds
Conversions show in ClickFlare but not in PropellerAds
- Traffic source postback URL is off on the PropellerAds 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.
- The conversion is less than 24 hours old. PropellerAds can take that long to show it in Statistics.
- Check Logs → Postback Status: a failed request shows the status code PropellerAds returned.
Cost is zero or far too high
Cost is zero or far too high
- Cost is zero: the cost model is not Not Tracked, or the
costrow was removed from the traffic source. - Cost is far too high: the macro is not passing a per-visit amount for your campaign. Switch to CPC with your bid divided by 1,000. See Cost.
FREQUENTLY ASKED QUESTIONS
Q1: Can I use the same PropellerAds traffic source for all my PropellerAds campaigns?A1: Yes. The postback is set once on the traffic source and every campaign using it sends conversions the same way. Create a second PropellerAds traffic source only if a campaign needs a different postback, for example a different event setup.
Q2: Can I use the PropellerAds Pop template for push or In-Page Push campaigns?A2: The postback works for every PropellerAds format, because it only needs your
aid, tid and the click ID. The template’s parameters were chosen for Onclick. For push formats, review the rows and add the macros that matter for that format, such as the creative.
Q3: Why is the click ID called visitor_id in both the campaign URL and the postback?
A3: The template uses PropellerAds’ own name, visitor_id, as ClickFlare’s parameter too. The two halves still work differently: in the campaign URL, visitor_id receives PropellerAds’ ${SUBID}. In the postback, visitor_id sends back ClickFlare’s {external_id}. Change neither.
Q4: Should I use Redirect or Direct tracking with PropellerAds?A4: Redirect is the usual choice for Onclick traffic. Use Direct only if PropellerAds must see your lander’s domain as the destination. See Direct Campaign Tracking.
Q5: Does the template work for PropellerAds’ CPA Goal campaigns?A5: Yes, and they need it. CPA Goal campaigns only work with a postback, because PropellerAds charges and optimizes on the conversions it receives from the main postback. Set the campaign’s cost model to CPA in ClickFlare.
Related
Traffic source postbacks
Every token you can use in a postback.
Custom conversions
Split registrations and deposits into separate events.
Cost models
How CPC, CPA and Auto costs are calculated.
Conversions not showing
The general checklist when postbacks don’t arrive.