Skip to main content
Start.io traffic source template Start.io, formerly StartApp, is a mobile ad platform selling in-app traffic from the apps that run its SDK. Its self-serve advertiser portal is where you create campaigns, upload creatives and track conversions. This guide sets up Start.io as a traffic source in ClickFlare. It covers passing Start.io’s click data into your reports and sending conversions back to Start.io, so the conversions show in your Start.io portal next to your spend. In ClickFlare the template is still called StartApp. Everything in this guide applies to Start.io. You do everything from the campaign editor. The Start.io traffic source is created inline, without leaving the campaign.

At a glance

How it works

1

Start.io sends the click

A user taps your ad inside an app. Start.io opens your ClickFlare campaign URL and fills in its macros: the click ID in cid, plus the publishing app, ISP, device model and brand, OS version, connection type and app category.
2

ClickFlare stores the Start.io click ID

ClickFlare saves the value of cid as the visit’s External ID and redirects the user to your lander or offer.
3

The conversion reaches ClickFlare

Your affiliate network, store or app attribution partner posts the conversion back to ClickFlare, matched on the ClickFlare click ID.
4

ClickFlare posts it back to Start.io

ClickFlare fires the Start.io postback, replacing {external_id} with the stored Start.io click ID. Start.io matches it to the original click and shows the conversion in your portal.
The mirror to keep straight: in the campaign URL you write ClickFlare’s parameter (cid) and Start.io’s macro (startapp_click_id_placeholder). The template does this for you. In the postback URL you write Start.io’s parameter (d) and ClickFlare’s token ({external_id}).
Start.io’s macros look different from most networks. They are plain words with no braces or hashes, such as startapp_app_id. Start.io replaces them in the URL when the ad is clicked. Its one rule: the parameter name must differ from the macro. appid=startapp_app_id works, startapp_app_id=startapp_app_id returns unknown. The template already follows it.

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.
  • Have a Start.io advertiser account at the Start.io portal, with funds to launch.
  • Decide which conversion Start.io should receive. Start.io takes one global postback, with no event or payout parameter. If your funnel has several steps (install, then purchase), pick the one Start.io should count. See Tracking several events.

Step 1 – Create the campaign and the Start.io traffic source

  1. Go to Campaigns and click New.
  2. In Traffic Source, open the dropdown and click + New Traffic Source.
  3. Type startapp in the search box and select the StartApp template.
  4. Enter a Name, for example Start.io.
  5. Leave Cost currency on USD unless your Start.io account is billed in another currency.
The template fills in the Parameters table for you: The Start.io template's Parameters table in ClickFlare, with Start.io's macros pre-filled Each tracking field becomes a column you can group reports by. appid is the one you will use most: it tells you which publisher apps convert, so you can block or favor apps in Start.io. category and connection help you narrow targeting. Three rows use macros that are not in Start.io’s published list: Creative ID (creative_id), Campaign ID (campaign_id) and Campaign Payment Model (bid_type). Start.io only replaces the macros it knows, so these columns may show the literal words instead of values. Check them after the first clicks. If they show creative_id or campaign_id, change the TS Token to startapp_creative_id and startapp_campaign_id. If the payment model column shows bid_type, you can remove that row or reuse it for another macro.
Don’t change or remove the externalId row. Without startapp_click_id_placeholder in the campaign URL, Start.io has no click ID to match, and no conversion reaches your Start.io portal.
To pass more Start.io data, click Add Parameter, give it a name and parameter, and enter the Start.io macro as the TS Token. ClickFlare assigns the next free tracking field. Start.io also offers startapp_country, startapp_device_type (phone or tablet), startapp_adtype, startapp_creative_name, startapp_creative_size, startapp_advertising_id (IDFA or GAID) and startapp_idfv (iOS only). Remember the rule: the parameter name must differ from the macro.

Step 2 – Set up the postback

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

Start.io’s global postback

Start.io uses one global postback for all the campaigns in your account. There is nothing to generate per campaign: the postback only needs the click ID, in the d parameter. Start.io’s own documentation shows it in this form, where {aff_sub} is your tracker’s click ID token:
In ClickFlare, the click ID token is {external_id}. There is no payout or event parameter.

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:
It already sends the click ID ({external_id}) in Start.io’s d parameter. There are no placeholders to replace. The Traffic source postback URL switched on, showing the Start.io template's postback
  1. Keep the URL as it is. The template uses a /trackinstall/clickflare path where Start.io’s generic guide shows /trackinstall/selfservice. Run the test in Step 5 to confirm conversions arrive. If the test fails and ClickFlare’s postback log shows the request was sent, change clickflare to selfservice in the URL and test again.
  2. In the dropdown on the left, choose the ClickFlare event that should fire the postback. Keep Conversions to send every conversion. If the action Start.io should count is a custom conversion (for example install), choose that instead.
  3. Click Save. You are back in the campaign editor with the Start.io traffic source selected.
Don’t paste Start.io’s example postback unchanged. Its {aff_sub} is not a ClickFlare token, and ClickFlare would send it as literal text. In ClickFlare the value after d= must always be {external_id}.
Start.io’s postback carries no revenue, so your Start.io portal shows conversion counts only. Revenue and ROI stay 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

  1. Name the campaign.
  2. Set the Cost Model to match how you buy on Start.io: CPC with your price per click, or CPA with your price per conversion. See Cost.
  3. Choose Redirect or Direct tracking. Redirect is the usual choice for in-app 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 Start.io macro from the template, for example cid=startapp_click_id_placeholder and appid=startapp_app_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 Start.io. See Creating a Campaign in ClickFlare.

Step 4 – Create the campaign in Start.io

  1. In the Start.io portal, create a campaign and choose the targeting, budget and bid as usual.
  2. Paste the ClickFlare campaign URL into the campaign’s tracking URL field.
  3. Upload your creatives and submit the campaign.
Paste the URL exactly as ClickFlare gives it. Start.io’s system doesn’t support parentheses or brackets in tracking URLs, and the template’s URL contains none on the Start.io side.

Step 5 – Test the integration

Start.io has a conversion tracking test tool that validates the whole chain, from the click to the postback.
  1. In the Start.io portal, open Conversion tracking in the left menu.
  2. Click Add your first conversion tracking validation (or add a new test if you already have some).
  3. Fill in the test:
  1. Click Save and validate.
  2. Open the test link Start.io sends you on a mobile device, and complete a real conversion on your lander or offer. If the conversion is an app install, the app must not already be on the device, and you must open the app after installing it.
  3. Check the status in Start.io:
  1. In ClickFlare, go to Logs → Postback Status and filter by the campaign. A successful request to startappinstalls.com confirms ClickFlare sent it, with a real click ID after d=.
To retest, hover over the test in Start.io’s list, click edit, and resend the test link.

Tracking several events

Start.io’s postback is global and has no event parameter, so Start.io can count only one kind of conversion. Choose the event that matters most for your campaign:
  1. In ClickFlare, create a custom conversion for each step of your funnel, for example install and purchase.
  2. On the Start.io traffic source, map the single postback to the event Start.io should count, for example install.
  3. Leave the other events unmapped. They still show in ClickFlare.
You could add a second postback with + Another postback URL, but Start.io would count both events as the same kind of conversion, with no way to tell them apart. Your Start.io conversion counts would mix installs and purchases. Keep one postback.
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. Conversions that don’t match still show in ClickFlare.

Cost

The template passes no cost. Start.io has no cost macro in its published list, so ClickFlare can’t read the price of each click from the URL. Set the campaign’s Cost Model to match how you buy on Start.io:
  • CPC when you pay per click. Enter your bid.
  • CPA when you pay per install or action. Enter your price per conversion. ClickFlare then records cost only on conversions.
  • For CPM buying, use CPC and enter your CPM bid divided by 1,000 as a starting point, then adjust it to your real cost per visit.
Don’t use Not Tracked with this template. With no cost in the URL and no cost integration, every visit is recorded at zero cost, and your ROI looks better than it is.
ClickFlare has no Start.io cost-tracking API integration. When the recorded spend differs from your Start.io spend, correct it with a manual cost upload. See Cost Models.

Delayed revenue

If revenue reaches ClickFlare hours or days after the click, for example in-app purchases reported later by your attribution partner, ClickFlare records it on the original click. Start.io’s postback carries no revenue, so there is nothing extra to send to Start.io. See Sending Delayed Revenue to Traffic Sources for networks that accept it.

Troubleshooting

  • The test link was opened on a desktop. Open it on a mobile device.
  • The conversion was not completed, or the app was already installed on the test device.
  • The tracking URL in the test is missing cid=startapp_click_id_placeholder. Copy the URL from ClickFlare again.
  • The postback uses {aff_sub} or another non-ClickFlare token instead of {external_id}.
  • ClickFlare sent the postback (check Logs → Postback Status) but Start.io didn’t credit it. Change /trackinstall/clickflare to /trackinstall/selfservice and test again.
  • Traffic source postback URL is off on the Start.io 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 externalId row was removed or its macro edited, so d= arrives empty.
  • Check Logs → Postback Status: a failed request shows the status code Start.io returned.
Start.io didn’t replace the macro because it isn’t one of its published macros. Change the row’s TS Token to startapp_creative_id or startapp_campaign_id. For bid_type, remove the row or reuse it for another Start.io macro.
The parameter name and the macro are the same, for example startapp_country=startapp_country. Rename the TS Parameter, for example to country. See Traffic Source Tokens Arriving Empty.
The campaign’s Cost Model is Not Tracked, and the template passes no cost. Switch to CPC or CPA, or upload your Start.io spend with a manual cost upload.
For the general checklist, see Conversions not showing.
FREQUENTLY ASKED QUESTIONS
Q1: Is StartApp the same as Start.io?
A1: Yes. StartApp renamed itself Start.io. The macros still start with startapp_, the postback domain is still startappinstalls.com, and the ClickFlare template is still listed as StartApp.
Q2: Can I use the same Start.io traffic source for all my Start.io campaigns?
A2: Yes. Start.io’s postback is global for your account, so one traffic source with one postback covers every campaign. Create a second Start.io traffic source only if some campaigns should send a different event.
Q3: Start.io lists Voluum, AppsFlyer, Adjust and other trackers, but not ClickFlare. Is that a problem?
A3: No. Those integrations only pre-fill the click ID macro for that tracker. The ClickFlare template does the same: it puts startapp_click_id_placeholder in the campaign URL and {external_id} in the postback.
Q4: Why is it cid in the campaign URL and d in the postback?
A4: They are two halves of the same value. ClickFlare reads Start.io’s click ID from its own cid parameter. Start.io expects it back in its own d parameter. Both names are fixed. Change neither.
Q5: Can Start.io see my revenue?
A5: No. Start.io’s postback has no payout parameter, so it receives conversion counts only. Use ClickFlare’s reports, grouped by appid, to judge which apps are profitable.

Traffic source postbacks

Every token you can use in a postback.

Custom conversions

Choose which event Start.io counts.

Cost models

How CPC, CPA and RevShare costs are calculated.

Conversions not showing

The general checklist when postbacks don’t arrive.