Skip to main content
Zeropark traffic source template Zeropark is a self-serve ad platform best known for popunder and domain redirect traffic, bought per visit. This guide sets up Zeropark as a traffic source in ClickFlare. It covers passing Zeropark’s visit data into your reports and sending conversions, with payout, back to Zeropark so its stats and optimization match yours. You do everything from the campaign editor. The Zeropark traffic source is created inline, without leaving the campaign.

At a glance

How it works

1

Zeropark sends the visit

A visitor lands on your ad. Zeropark opens your ClickFlare campaign URL and fills in its tokens: the click ID in cid, the cost of the visit in visit_cost, plus the target, source, campaign and other details.
2

ClickFlare stores the Zeropark click ID

ClickFlare saves the value of cid 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 Zeropark

ClickFlare fires the Zeropark postback, replacing {external_id} with the stored Zeropark click ID and {payout} with the revenue. Zeropark matches it to the original visit.
The mirror to keep straight: in the campaign URL you write ClickFlare’s parameter (cid) and Zeropark’s token ({cid}). The template does this for you. In the postback URL you write Zeropark’s parameter (cid) and ClickFlare’s token ({external_id}). Both sides happen to use the name cid, but the value in braces is different on each side.

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 Zeropark account ID. It goes into the postback URL. You get it from the postback Zeropark shows when you choose Other as the tracker. See Get your account ID from Zeropark.
  • Decide how Zeropark should value conversions. Send the payout from ClickFlare, or set a manual conversion payout in Zeropark. The template sends the payout.

Step 1 – Create the campaign and the Zeropark traffic source

  1. Go to Campaigns and click New.
  2. In Traffic Source, open the dropdown and click + New Traffic Source.
  3. Type zeropark in the search box and select the Zeropark template.
  4. Enter a Name, for example Zeropark.
  5. Leave Cost currency on USD unless your Zeropark account is billed in another currency.
The template fills in the Parameters table for you: The Zeropark template's Parameters table in ClickFlare, with Zeropark's macros pre-filled Each tracking field becomes a column you can group reports by. target and source are the ones you will use most. They tell you which placements convert, so you can blacklist targets or raise bids on them in Zeropark. keyword and keyword_match only carry values on keyword-targeted traffic, and target_url only on popunder traffic. Expect them to be empty elsewhere.
Don’t change or remove the External ID row. Without cid={cid} in the campaign URL, Zeropark has no click ID to receive back, and no conversion reaches Zeropark.
To pass more Zeropark data, click Add Parameter, give it a name and parameter, and enter the Zeropark token as the TS Token. ClickFlare assigns the next free tracking field. Zeropark also offers {geo}, {city}, {region}, {os}, {browser}, {carrier}, {device_id} (in-app) and {long_campaign_id}. Check Zeropark’s Tracking Tokens list before adding one.

Step 2 – Set up the postback

The postback is what sends conversions to Zeropark. It lives on the traffic source, so every campaign that uses this Zeropark traffic source sends conversions the same way.

Get your account ID from Zeropark

Zeropark builds the postback in the Tracking section, the last section of its campaign creation form. ClickFlare is not in Zeropark’s list of integrated trackers, so you use Other to see your postback URL and take the account ID from it.
  1. In Zeropark, start creating a campaign (or open an existing one) and scroll to the Tracking section.
  2. Choose Other as the tracker. Zeropark shows a postback URL in this form:
  1. Copy only the last part of the path, after /zppostback/ and before ?. That is your Zeropark account ID. It is unique to your account and the same for all your campaigns.
You don’t paste Zeropark’s URL into ClickFlare. The template already has the right format. You only need the ID.

Add it to the traffic source in ClickFlare

  1. Back in the New Traffic Source form, scroll to Passing conversion info to traffic source.
  2. Turn on Traffic source postback URL. The template’s postback appears:
The Traffic source postback URL switched on, showing the Zeropark template's postback It already sends the click ID ({external_id}) and the payout ({payout}), both as ClickFlare tokens.
  1. Replace REPLACE_ACCOUNT_ID with your Zeropark account ID. Keep everything else. The result:
  1. 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.
  2. Click Save. You are back in the campaign editor with the Zeropark traffic source selected.
Replace REPLACE_ACCOUNT_ID with your Zeropark account ID. If the placeholder stays in the postback, Zeropark cannot tie the conversions to your account and none of them show in Zeropark.
The payout parameter is optional on Zeropark’s side. If you set a manual conversion payout in the Zeropark campaign, Zeropark doesn’t need it. Keep it anyway unless you have a reason to remove it: it lets Zeropark show real revenue and ROI per target. 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

  1. Name the campaign.
  2. Set the Cost Model to Not Tracked, so ClickFlare uses the cost Zeropark passes. See Cost.
  3. Choose Redirect or Direct tracking. Redirect is the usual choice for Zeropark’s popunder and domain redirect traffic.
  4. Click Next and, on Destination, add your lander (optional) and your offer.
  5. Save, open Tracking, select your own tracking domain and copy the campaign URL.
The campaign URL already contains every Zeropark token from the template, for example cid={cid}, visit_cost={visit_cost} and target={target}. Zeropark requires a ? before the first parameter. ClickFlare’s campaign URL already has it. 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 Zeropark. See Creating a Campaign in ClickFlare.

Step 4 – Create the campaign in Zeropark

  1. In Zeropark, create a new campaign and choose the traffic type.
  2. Set the targeting and bid as usual.
  3. Paste the ClickFlare campaign URL into the campaign’s destination URL field. Zeropark confirms that the {cid} token is present.
  4. In the Tracking section, leave the tracker on Other. The postback is already set on the ClickFlare side.
  5. Submit the campaign.
Paste the URL exactly as ClickFlare gives it. Zeropark replaces each {...} token when it sends the visit. Zeropark tokens are written in single braces, the same style as ClickFlare’s, so don’t “fix” them.

Step 5 – Test the integration

Zeropark gives each campaign a test link. A test visit doesn’t cost anything.
  1. Match the campaign’s targeting: country (use a VPN if needed), device and OS, connection type, and the time of day if you use day-parting.
  2. In Zeropark, open the campaign’s details view and copy the test link.
  3. Open the test link in a new browser tab. You should land on your lander or offer through ClickFlare.
  4. Complete the offer the way a real visitor would.
  5. Check Zeropark: the redirects count should go up by one, and the conversion count by one once the postback arrives.
  6. In ClickFlare, open the visit in your reports and check that the tracking fields are filled, not empty or showing {target} as text.
  7. Go to Logs → Postback Status and filter by the campaign. A successful postback to zp-postback.com confirms ClickFlare sent it.
If the visit shows in ClickFlare but no conversion appears in Zeropark, check the postback first. See Troubleshooting.

Tracking several events

Zeropark’s postback has no event or goal parameter. Each postback it receives counts as one conversion. If your funnel has several steps (lead, then sale), choose the one Zeropark should optimize on and send only that.
  1. In ClickFlare, create a custom conversion for each step, for example lead and purchase.
  2. On the Zeropark traffic source, map the postback to the event Zeropark should learn from, for example purchase.
  3. Leave the other steps without a postback. They still show in ClickFlare’s reports.
You can click + Another postback URL and map a second event to the same Zeropark URL. Zeropark will count both as conversions, so its conversion count and CPA will mix the two steps. Only do this if that is what you want Zeropark to optimize on.
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 visit. The Cost row sends Zeropark’s {visit_cost} token, which is the cost of the visit, 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.
Zeropark sells popunder and domain redirect traffic per visit, so {visit_cost} should match your Zeropark spend closely. After launch, compare ClickFlare’s Cost column with Zeropark’s spend for the same period. If it doesn’t match, switch the Cost Model to CPC and enter your bid per visit as the cost value. If you buy on a CPM basis, enter the CPM bid divided by 1,000.
When the recorded spend differs from your Zeropark spend, correct it with a manual cost upload. Make sure the time zone of the report matches your Zeropark account. See Cost Models. ClickFlare has no cost-tracking API integration for Zeropark. The cost in the URL is the source of truth.

Delayed revenue

If you run search arbitrage (RSOC or AFD) behind Zeropark, the feed reports revenue hours or days after the visit. To pass that revenue to Zeropark once it arrives, see Sending Delayed Revenue to Traffic Sources.

Troubleshooting

  • REPLACE_ACCOUNT_ID is still in the postback. Replace it with your Zeropark account ID.
  • The account ID was copied with extra characters, such as ?cid= from the end of Zeropark’s URL. The ID is only the path segment after /zppostback/.
  • The campaign URL in Zeropark is missing cid={cid}, or the token was edited. Copy the URL from ClickFlare again.
  • The External ID row was removed from the traffic source.
  • Traffic source postback URL is off on the Zeropark 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 Zeropark returned.
The template sends payout={payout}, so it was removed or edited. Restore &payout={payout} at the end of the postback.If the offer’s 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.
The tokens were not replaced, usually because the URL was edited or pasted somewhere Zeropark doesn’t process tokens. Paste the campaign URL from ClickFlare unchanged. keyword, keyword_match and target_url are empty on traffic where Zeropark has no value for them, which is normal. See Traffic Source Tokens Arriving Empty.
For the general checklist, see Conversions not showing.
FREQUENTLY ASKED QUESTIONS
Q1: Can I use the same Zeropark traffic source for all my Zeropark campaigns?
A1: Yes. The account ID is the same for all your Zeropark campaigns, so one traffic source with one postback covers them all. Create a second Zeropark traffic source only if a campaign needs a different postback, for example a different event.
Q2: Zeropark lists other trackers but not ClickFlare. Is that a problem?
A2: No. Choose Other. The built-in options only fill in the click ID token for that tracker. With ClickFlare, the template already has the right token ({external_id}). You only need the account ID from Zeropark’s URL.
Q3: Why is it cid in both the campaign URL and the postback?
A3: Zeropark uses cid as its parameter name on both sides. In the campaign URL, Zeropark fills {cid} with the click ID. In the postback, ClickFlare fills {external_id} with that same stored value. Keep both exactly as the template sets them.
Q4: Should I use Redirect or Direct tracking with Zeropark?
A4: Redirect is the usual choice and works with every Zeropark traffic type. Use Direct only if Zeropark must see your lander’s domain as the destination. See Direct Campaign Tracking.
Q5: Do I need the payout in the postback if I set a manual payout in Zeropark?
A5: No. Zeropark treats payout as optional when the campaign has a manual conversion payout. The template sends it anyway, and Zeropark then reports the real revenue per conversion.

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.