
At a glance
How it works
1
Bitmedia sends the click
A visitor clicks your ad. Bitmedia opens your ClickFlare campaign URL and fills in its macros: the click ID in
clickid, your bid in bid, plus the publisher source, the ad unit, the country and the cost type.2
ClickFlare stores the Bitmedia click ID
ClickFlare saves the value of
clickid 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 Bitmedia
ClickFlare fires the postback you copied from Bitmedia, with
{external_id} replaced by the stored Bitmedia click ID and {payout} by the revenue. Bitmedia counts it under the conversion that postback belongs to.The mirror to keep straight: in the campaign URL you write ClickFlare’s parameter (
clickid) and Bitmedia’s macro ({clickid}). The template does this for you. In the postback URL you keep Bitmedia’s parameters and put ClickFlare’s tokens where Bitmedia’s placeholders were: {external_id} for {cookie.bm_click_id}, {payout} for {ConversionValueUSD}.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.
- Decide which conversions Bitmedia should receive. Each event you send needs its own conversion in Bitmedia, for example a registration and a purchase. Decide now whether to send one or several. See Tracking several events.
Step 1 – Create the campaign and the Bitmedia traffic source
- Go to Campaigns and click New.
- In Traffic Source, open the dropdown and click + New Traffic Source.
- Type
bitmediain the search box and select the Bitmedia template. - Enter a Name, for example
Bitmedia. - Leave Cost currency on USD unless your Bitmedia bids are in another currency.

{ip} (the visitor’s IP), {cost_amount} (your bid, per 1,000 impressions on CPM) and {cost_currency} (the bid currency). Enter the macro as the TS Token. ClickFlare assigns the next free tracking field.
Step 2 – Set up conversion tracking
The template has no postback URL, because Bitmedia doesn’t use one fixed URL. Bitmedia generates a postback for each conversion you create in your account. You copy that postback into ClickFlare once, and it lives on the traffic source from then on.Create the conversion in Bitmedia
- In the Bitmedia Advertiser’s Dashboard, open Conversions.
- Click Create conversion.
- Fill in the New conversion form:
- Conversion name and Description: anything that helps you recognize it, for example
ClickFlare – purchase. - Conversion type: Landing view, Registration, Purchase or Custom.
- Target event ID: any alphanumeric value.
- Conversion name and Description: anything that helps you recognize it, for example
- Click Save. The conversion is created with the status Stopped.
- Click the toggle next to Stopped and confirm with Yes. The status changes to Active.
- Click Get code.
Add the postback to the traffic source in ClickFlare
- Copy the URL from the Postback code. It starts with
https://api.bitmediacdn.com. Copy the URL only, without a leadingGET. - Back in the New Traffic Source form, scroll to Passing conversion info to traffic source.
- Turn on Traffic source postback URL and paste the URL.
- Replace Bitmedia’s two placeholders with ClickFlare tokens:
- In the dropdown on the left, choose the ClickFlare event that should fire the postback. Keep Conversions to send every conversion. If this Bitmedia conversion is for a specific step (for example a purchase), choose the matching custom conversion instead.
- Click Save. You are back in the campaign editor with the Bitmedia traffic source selected.
If Bitmedia doesn’t match the conversions
Bitmedia passes its click ID in two ways: through the{clickid} macro the template uses, and as a bm_click_id parameter it appends to the landing URL by itself. Bitmedia’s postback is written for bm_click_id. If your first conversions show in ClickFlare’s Logs → Postback Status as sent but never appear in Bitmedia, read the ID from bm_click_id instead:
- Open the Bitmedia traffic source.
- In the External ID row, change TS Parameter to
bm_click_idand clear the TS Token. Bitmedia addsbm_click_idto the URL itself, so no macro is needed. - Save, copy the campaign URL again and update it in Bitmedia.
{external_id} now holds the bm_click_id value.
Step 3 – Finish the campaign and copy its URL
- Name the campaign.
- Set the Cost Model. Use Not Tracked for CPC ad groups, so ClickFlare uses the cost Bitmedia passes. For CPM, see Cost.
- Choose Redirect or Direct tracking. Redirect is the usual choice for Bitmedia.
- 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.
clickid={clickid} and source={source}.
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 Bitmedia.
See Creating a Campaign in ClickFlare.
Step 4 – Create the campaign in Bitmedia
- In Bitmedia, open All Campaigns and click Add campaign. Name it.
- Create an ad group. Choose the pricing model (CPC or CPM), the bid and the daily limit, then set targeting.
- Open the ad group’s Creatives tab and click Add creative.
- Use the ClickFlare campaign URL as the creative’s destination URL.
- Click Apply for Approval. Bitmedia reviews each ad before it runs. Only funded campaigns can be activated.
{...} macro when the ad is clicked. Don’t add Bitmedia’s UTM builder parameters on top unless you also want them in Google Analytics. They don’t affect ClickFlare.
Step 5 – Test the integration
Bitmedia doesn’t document a test mode. Check the setup with your first real conversions.- Once the ads run, open the campaign’s report in ClickFlare and group by Source ID. You should see real source IDs. Open a visit and check that its External ID holds a value, not the literal text
{clickid}. - When the first conversion arrives, go to Logs → Postback Status and filter by the campaign. A successful request to
api.bitmediacdn.comconfirms ClickFlare sent the postback. - In Bitmedia, open Conversions. The Count column should go up, and the Amount column (in USD) should show the payout.
- For details per conversion, open the ad group’s Conversion logs. It lists time, creative, country, OS, device, browser and IP.
Tracking several events
Bitmedia tracks as many events as you create conversions. Each one has its own Target event ID and its own postback code.- In ClickFlare, create a custom conversion for each step, for example
registrationandpurchase. - In Bitmedia, create one conversion per step, activate it and copy its Postback code.
- On the Bitmedia traffic source, click + Another postback URL once per extra event and paste each postback. Replace the placeholders in each, as in Step 2.
- Map each postback to its ClickFlare event: the
registrationcustom conversion to the Registration conversion’s URL,purchaseto the Purchase one.
Where Bitmedia shows each event
Where Bitmedia shows each event
- Conversions page: total Count and the Amount column (in USD) per conversion.
- Ad Group → Statistics → Statistics by Source: pick a conversion type to see conversions and value per source ID.
- Reports: use the Conversions and Conversions Amount metrics to break events down further.
Sending only one event
Sending only one event
If Bitmedia should only learn from your final sale, create one conversion in Bitmedia, keep a single postback and map it to that event. Earlier steps still show in ClickFlare. They just don’t reach Bitmedia.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 in the URL. The Cost row sends Bitmedia’s{bid} macro, which is your bid, and ClickFlare records it as the visit’s cost.
- CPC ad groups.
{bid}is the price of a click. Set the Cost Model to Not Tracked so ClickFlare uses it. - CPM ad groups. Bitmedia’s
{bid}holds the price of a single impression (your CPM bid divided by 1,000). ClickFlare would record that tiny amount as the cost of each visit, far below your real spend, because many impressions lead to one click.
For CPM ad groups, don’t rely on the Cost row. Display ads need many impressions per click, so a per-visit cost can’t be worked out from the bid. Set the Cost Model to CPC with your real cost per click from Bitmedia’s stats, or keep Not Tracked and correct spend with a manual cost upload. The Cost Type column shows which ad groups are CPM.
Delayed revenue
If you run search arbitrage (RSOC or AFD) behind Bitmedia, the feed reports revenue hours or days after the click. To pass that revenue to Bitmedia once it arrives, see Sending Delayed Revenue to Traffic Sources.Troubleshooting
Conversions show in ClickFlare but not in Bitmedia
Conversions show in ClickFlare but not in Bitmedia
- Traffic source postback URL is off, or empty, on the Bitmedia traffic source. The template has no postback until you add Bitmedia’s.
- The conversion in Bitmedia is still Stopped. Activate it.
{cookie.bm_click_id}or{ConversionValueUSD}is still in the URL.- 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.
- The postback is sent but not matched. Switch the External ID row to
bm_click_id, as in If Bitmedia doesn’t match the conversions.
Bitmedia counts conversions but Amount is 0
Bitmedia counts conversions but Amount is 0
{ConversionValueUSD} was removed instead of replaced with {payout}, or the offer posts no payout to ClickFlare. Check the conversion’s payout in ClickFlare first.Cost in ClickFlare is far below Bitmedia's spend
Cost in ClickFlare is far below Bitmedia's spend
The ad group buys on CPM, and
{bid} is the price of one impression. See Cost.Source or ad unit columns are empty
Source or ad unit columns are empty
The macros were not replaced, usually because the URL was edited. Paste the campaign URL from ClickFlare unchanged. See Traffic Source Tokens Arriving Empty.
FREQUENTLY ASKED QUESTIONS
Q1: Why doesn’t the Bitmedia template come with a postback URL?A1: Bitmedia generates the postback per conversion inside your account, so there is no single URL a template could carry. You create the conversion in Bitmedia and paste its postback once.
Q2: Can I use the same Bitmedia traffic source for all my Bitmedia campaigns?A2: Yes. The postback is set once on the traffic source and every campaign using it sends conversions the same way. Create a second traffic source only if a campaign should report to a different Bitmedia conversion.
Q3: Do I need Bitmedia’s General Code on my lander?A3: No. The General Code and Client Side URL are for tracking conversions on your own website. With ClickFlare, the conversion comes from the offer’s postback, and ClickFlare sends it to Bitmedia server to server.
Q4: Should I use Redirect or Direct tracking with Bitmedia?A4: Redirect is the usual choice. Use Direct only if Bitmedia 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
Map each Bitmedia conversion to its own event.
Cost models
How CPC, CPA and RevShare costs are calculated.
Conversions not showing
The general checklist when postbacks don’t arrive.