
At a glance
How it works
1
TrafficShop sends the click
A visitor clicks your ad, or a popunder opens. TrafficShop opens your ClickFlare campaign URL and fills in its macros: a unique tracking value in
externalid, plus the campaign ID, order ID, publisher site ID, domain and country.2
ClickFlare stores the TrafficShop tracking value
ClickFlare saves the value of
externalid 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 TrafficShop
ClickFlare fires the TrafficShop postback, replacing
{external_id} with the stored tracking value and {payout} with the revenue. TrafficShop matches the value it receives in ts_subid to the original click and records the conversion under the goal in track_id.The mirror to keep straight: in the campaign URL you write ClickFlare’s parameter (
externalid) and TrafficShop’s macro ({s2s_token}). The template does this for you. In the postback URL you write TrafficShop’s parameter (ts_subid) and ClickFlare’s token ({external_id}). TrafficShop’s macros use curly braces like ClickFlare’s tokens, so check which side of the mirror you are on.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.
- Create a conversion goal in TrafficShop. Its ID is the
track_idin the postback. Step 2 shows how. - Know your bid. TrafficShop passes no cost, so ClickFlare calculates it from the cost model and your bid. See Cost.
Step 1 – Create the campaign and the TrafficShop traffic source
- Go to Campaigns and click New.
- In Traffic Source, open the dropdown and click + New Traffic Source.
- Type
trafficshopin the search box and select the TrafficShop template. - Enter a Name, for example
TrafficShop. - Leave Cost currency on USD. TrafficShop prices in US dollars.

{timestamp}, the click time in Unix format.
Step 2 – Set up the postback
The postback is what sends conversions to TrafficShop. It lives on the traffic source, so every campaign that uses this TrafficShop traffic source sends conversions the same way.Create a goal in TrafficShop and get its tracking code
- In TrafficShop, open Manage Conversion Tracking (the S2S management page) and click Create Conversion.
- Fill in the form:
- Action Name: what the visitor does, for example
saleorregistration. Required. - Tracking Purpose: the type of conversion, for example PURCHASE/SALE or a lead.
- Profit Per Conversion: optional, a fixed payout in US dollars for the goal.
- Action Name: what the visitor does, for example
- Click Create. The goal appears in the list with its ID in the first column, for example
1. - Click Get Tracking Code next to the goal.
- In Choose your tracking system, keep CUSTOM. ClickFlare is not in TrafficShop’s presets. TrafficShop shows a URL like this:
- Note the
track_idvalue. It is the goal’s 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}) in ts_subid and the payout ({payout}) in atpay, both as ClickFlare tokens. Apart from the click ID token (TrafficShop’s {clickid} placeholder, ClickFlare’s {external_id}), it matches TrafficShop’s CUSTOM URL.
- Replace
REPLACE_WITH_TRACK_IDwith your goal’s ID. 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 final action is a custom conversion (for example
purchase), choose that instead. - Click Save. You are back in the campaign editor with the TrafficShop traffic source selected.
{clickid} is not a ClickFlare token, so ClickFlare would send it as literal text.
atpay reads the payout in US dollars. If your offers pay in another currency, 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 CPC and enter your cost per visit. TrafficShop passes no cost. See Cost.
- Choose Redirect or Direct tracking. Redirect is the usual choice for TrafficShop’s popunder and skimmed 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.
externalid={s2s_token} and site_id={site_id}.
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 TrafficShop.
See Creating a Campaign in ClickFlare.
Step 4 – Create the campaign in TrafficShop
- In TrafficShop, select the Advertiser role, go to Campaigns and click Create new.
- Select the campaign type, for example Pop under or Mobile pop under.
- Enter a Campaign name. Under Landing page, choose Add new landing page and paste the ClickFlare campaign URL into the URL field.
- Set quality, frequency, content type and the rest of the targeting as usual, then create the campaign.
- Wait for approval. TrafficShop’s monitoring team reviews every campaign by hand, which can take up to 2 hours on business days.
{...} macro with real values when the ad is clicked.
Campaigns don’t start on their own after you top up. Click Resume in Manage campaigns to launch.
Step 5 – Test the integration
TrafficShop can check your URL before you spend anything.- Open TrafficShop’s Check URL tool, paste your ClickFlare campaign URL and check it. A correct URL is reported as ready for tracking. If it isn’t, check that
externalid={s2s_token}is in the URL. - Once the campaign runs, check the first visits in ClickFlare. The Site ID column should show numbers, not the text
{site_id}. - Complete a test conversion on your offer, or post one to ClickFlare from your affiliate network.
- In ClickFlare, go to Logs → Postback Status and filter by the campaign. A successful request to
ad.trafficshop.comconfirms ClickFlare sent the postback. - In TrafficShop, go to Reports → Campaign stats, click Manage Columns and add your goal. The conversion appears in its column.
Tracking several events
TrafficShop tracks each conversion type as its own goal, with its own ID. To send a registration and a sale, create two goals and use one postback per goal:- In ClickFlare, create a custom conversion for each step, for example
registrationandpurchase. - On the TrafficShop traffic source, click + Another postback URL once per extra event.
- Map each postback to its ClickFlare event:
registrationto the first goal’s URL,purchaseto the second. - Test each event.
Rules for multi-event postbacks
Rules for multi-event postbacks
- One goal per event in TrafficShop, one postback per goal in ClickFlare.
- The
track_idis what tells TrafficShop which goal it is. There is no event parameter. - In Reports → Campaign stats, use Manage Columns to show each goal. Click + next to a campaign to see which Site_IDs and domains bring conversions.
Sending only one event
Sending only one event
If TrafficShop should only see your final sale, keep a single postback and map it to that event. Earlier steps still show in ClickFlare. They just don’t reach TrafficShop.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
TrafficShop has no cost macro, so the template’s Cost row is empty and the campaign URL carries no cost. ClickFlare calculates the cost from the campaign’s cost model instead.- CPC campaigns (you pay per click on a banner or native ad): set the Cost Model to CPC and enter your CPC bid.
- CPM campaigns (you pay per 1,000 impressions, as on popunders): set the Cost Model to CPC and enter your CPM bid divided by 1,000. A popunder impression is roughly one visit, so this comes close.
- Flat-rate campaigns set up by your account manager: track them on CPC with an estimate, then correct the total with a manual cost upload.
These costs are estimates. TrafficShop’s prices move with competing bids, and a CPM bid divided by 1,000 is only exact when every impression becomes one visit. Compare ClickFlare’s Cost column with your TrafficShop spend regularly.
Delayed revenue
If you run search arbitrage (RSOC or AFD) behind TrafficShop, the feed reports revenue hours or days after the click. To pass that revenue to TrafficShop once it arrives, see Sending Delayed Revenue to Traffic Sources.Troubleshooting
TrafficShop doesn't record the conversion
TrafficShop doesn't record the conversion
- The campaign URL in TrafficShop is missing
externalid={s2s_token}, or the macro was edited. Copy the URL from ClickFlare again. REPLACE_WITH_TRACK_IDwas never replaced with your goal’s ID.- The postback uses TrafficShop’s
{clickid}instead of ClickFlare’s{external_id}. - The goal was deleted in Manage Conversion Tracking, so its
track_idno longer exists.
Conversions show in ClickFlare but not in TrafficShop
Conversions show in ClickFlare but not in TrafficShop
- Traffic source postback URL is off on the TrafficShop 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 goal’s column is not shown in Campaign stats. Add it with Manage Columns.
- Check Logs → Postback Status: a failed request shows the status code TrafficShop returned.
Cost is zero or doesn't match TrafficShop
Cost is zero or doesn't match TrafficShop
TrafficShop passes no cost. With Not Tracked, ClickFlare records zero. Set the Cost Model to CPC with your bid, and correct differences with a manual cost upload. See Cost.
Site or domain columns are empty
Site or domain columns are empty
The macros were not replaced, usually because the URL was edited or pasted somewhere TrafficShop doesn’t process macros. Paste the campaign URL from ClickFlare unchanged. See Traffic Source Tokens Arriving Empty.
FREQUENTLY ASKED QUESTIONS
Q1: Can I use the same TrafficShop traffic source for all my TrafficShop campaigns?A1: Yes. The postback is set once on the traffic source and every campaign using it sends conversions the same way. A goal belongs to your account, not to one campaign, so one
track_id serves every campaign.
Q2: Why is itA2: They are two halves of the same value. ClickFlare reads TrafficShop’s tracking value from its ownexternalidin the campaign URL andts_subidin the postback?
externalid parameter. TrafficShop expects it back in its own ts_subid parameter. Change neither.
Q3: TrafficShop lists Voluum, Cake, HasOffers and PeerClick, but not ClickFlare. Is that a problem?A3: No. Keep CUSTOM. The presets only pre-fill the click ID token for that tracker. The ClickFlare template already has
{external_id} in its place.
Q4: Should I use Redirect or Direct tracking with TrafficShop?A4: Redirect is the usual choice and works with every TrafficShop format. Use Direct only if TrafficShop must see your lander’s domain as the destination. See Direct Campaign Tracking.
Q5: Should I fill in Profit Per Conversion on the goal?A5: It’s optional. The template already sends the real payout in
atpay, so TrafficShop shows your revenue in its stats. A fixed value on the goal only helps if you don’t send atpay.
Related
Traffic source postbacks
Every token you can use in a postback.
Custom conversions
Split registrations 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.