
At a glance
How it works
1
BIGO sends the click
A visitor clicks your ad. BIGO opens your ClickFlare campaign URL and fills in its macros: the click ID in
click_id, the attribution ID in bbg, plus the account, campaign, ad group, ad, publisher, device and OS details.2
ClickFlare stores the BIGO identifiers
ClickFlare saves the value of
click_id as the visit’s External ID and the other values in tracking fields, then 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 BIGO
ClickFlare fires the BIGO postback. It replaces
{external_id} with the stored BIGO click ID, {trackingField15} with the stored bbg value, and fills in the app and device fields. BIGO matches the event to the original click and to your Website Pixel.The mirror to keep straight: in the campaign URL you write ClickFlare’s parameter (
click_id) and BIGO’s macro (__SID__). The template does this for you. In the postback URL you write BIGO’s parameter (sid) and ClickFlare’s token ({external_id}). The same goes for the attribution ID: bbg=__BBG__ in the campaign URL, bbg={trackingField15} in the postback.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 Website Pixel in BIGO Ads. In BIGO Ads, go to Library → Website Pixel, create a pixel and note its ID. The postback needs it. For S2S tracking, BIGO’s manual setup option is Bigo Pixel+Event_API.
- Decide which event BIGO should optimize on. BIGO’s web campaigns optimize on the event you select in the ad group. The template sends the event
button. If you optimize on another event, see Choosing the event.
Step 1 – Create the campaign and the BIGO Ads traffic source
- Go to Campaigns and click New.
- In Traffic Source, open the dropdown and click + New Traffic Source.
- Type
bigoin the search box and select the Bigo Ads template. - Enter a Name, for example
BIGO Ads. - Leave Cost currency on USD unless your BIGO account is billed in another currency.

ad_group_id, ad_id and publisher_id are the ones you will use most: they tell you which ad groups, creatives and apps convert.
Product ID, Ad Ext, IDFA, GAID and BBG are also sent back to BIGO by the postback. The “Product ID” row holds BIGO’s app ID (__APPID__), not a product from your store.
To pass more BIGO data, click Add Parameter, give it a name and parameter, and enter the BIGO macro as the TS Token. ClickFlare assigns the next free tracking field. BIGO documents __DEVICE_MAKE__, __DEVICE_MODEL__ and __PIXEL_ID__, among others. Check the macros your BIGO account offers before adding them.
Step 2 – Set up the postback
The postback is what sends conversions to BIGO. It lives on the traffic source, so every campaign that uses this BIGO Ads traffic source sends conversions the same way.Get your Website Pixel ID from BIGO
- In BIGO Ads, go to Library → Website Pixel.
- Find the pixel you created for this campaign, or create one. Under Manual Setup, BIGO offers Bigo Pixel+Event_API. Choose it if you also install the pixel base code on your lander.
- Copy the pixel 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:

- Replace
REPLACEwith your Website Pixel 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 BIGO Ads traffic source selected.
monetary), but the template doesn’t include it, and BIGO’s documentation for this endpoint does not confirm the parameter. If you want BIGO to see revenue, ask your BIGO account manager whether you can add &monetary={payout} to this postback.
To learn what each postback token does, see How to Configure a Traffic Source S2S Postback URL.
Choosing the event
The template hard-codesbutton in both mappedIae and event_id. button is one of BIGO’s standard web events. BIGO records the postback as that event, and your ad group can only optimize on it if you select the same event there.
BIGO’s standard web events include:
If your ad group optimizes on another event, change
button in the postback to that event ID. The template uses the same value for mappedIae and event_id. Confirm with your BIGO account manager that this endpoint accepts your event in both before you launch.
Step 3 – Finish the campaign and copy its URL
- Name the campaign.
- Set the Cost Model to Not Tracked, so ClickFlare uses the cost from the BIGO Ads cost integration. See Cost.
- Choose Redirect or Direct tracking. Redirect is the usual choice.
- 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.
click_id=__SID__ and bbg=__BBG__.
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 BIGO.
See Creating a Campaign in ClickFlare.
Step 4 – Create the campaign in BIGO Ads
- In BIGO Ads, create a campaign with the objective Conversions.
- In the ad group, paste the ClickFlare campaign URL as the landing page URL.
- Turn on the Website Pixel and select the pixel whose ID you put in the postback.
- Choose the optimization event. It must match the
event_idin your postback,buttonunless you changed it. - Finish targeting, bid and creatives, and submit.
Step 5 – Test the integration
BIGO can test a Website Pixel before you spend.- In BIGO Ads, open the pixel list, click the pixel’s name and choose Test Pixel.
- Follow BIGO’s test link to your ClickFlare campaign URL, so the visit carries real
__SID__and__BBG__values. - Complete the offer the way a real visitor would.
- In the BIGO test page, check that the event shows Success. Click Refresh Results if it doesn’t update.
- In ClickFlare, go to Logs → Postback Status and filter by the campaign. A successful request to
attr.img-static.techconfirms ClickFlare sent it.
bbg, an unknown pixel or an invalid event ID.
If someone else completes the test conversion, share BIGO’s test link with them. BIGO notes that test events may not post correctly otherwise.
Tracking several events
BIGO can receive more than one event from the same click, for example a form submission and a purchase. Each event needs its own postback with its own event ID.- In ClickFlare, create a custom conversion for each step, for example
leadandpurchase. - On the BIGO Ads traffic source, click + Another postback URL once per extra event.
- Paste the template’s postback into each one, with your pixel ID, and change
buttonto the BIGO event for that step, for exampleformandec_purchase. - Map each postback to its ClickFlare event: the
leadcustom conversion to theformURL,purchaseto theec_purchaseURL. - In BIGO, optimize the ad group on the event that matters most, usually the final one.
Rules for multi-event postbacks
Rules for multi-event postbacks
- Use BIGO’s standard event IDs only. A made-up name is rejected as an invalid event ID.
- One postback per event. Don’t combine events in one URL.
- Keep
pixel_idthe same in every postback, unless the events belong to different pixels. - Check each event in BIGO’s Test Pixel page before you optimize on it.
Sending only one event
Sending only one event
If BIGO should only learn from your final sale, keep a single postback and map it to that event. Earlier steps still show in ClickFlare. They just don’t reach BIGO.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 doesn’t pass cost in the URL. Its Cost row is empty, because BIGO has no cost macro for it. ClickFlare pulls BIGO spend through its API instead. Use the BIGO Ads cost integration:- Get a Client ID, Secret and Refresh Token from your BIGO account manager.
- Set up the BIGO Ads integration in ClickFlare, with the same timezone as your BIGO account.
- On the BIGO Ads traffic source, select it under Cost Integration. You can do this while creating the traffic source in Step 1.
- On the campaign, set the Cost Model to Not Tracked, so ClickFlare uses the cost the integration pulls.
Without the cost integration, Not Tracked records no cost at all. If you can’t use the integration, set the Cost Model to CPC with your average cost per click. If you buy on CPM, enter your CPM bid divided by 1,000. Correct the difference later with a manual cost upload.
Delayed revenue
If you run search arbitrage (RSOC or AFD) behind BIGO, revenue arrives hours or days after the click. See Sending Delayed Revenue to Traffic Sources. The amount only reaches BIGO if the postback carries a value parameter. See the note onmonetary in Step 2.
Troubleshooting
BIGO doesn't record the test event
BIGO doesn't record the test event
REPLACEis still in the postback, or the pixel ID belongs to another account. Copy the ID from Library → Website Pixel again.- The pixel is not turned on in the ad group, or the ad group optimizes on a different event than the postback’s
event_id. - The
bbgvalue is empty. Check that the campaign URL in BIGO containsbbg=__BBG__and that the BBG row still maps to{trackingField15}. - The test visit didn’t come through BIGO’s test link, so
__SID__and__BBG__were never filled in.
Conversions show in ClickFlare but not in BIGO
Conversions show in ClickFlare but not in BIGO
- Traffic source postback URL is off on the BIGO Ads 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: the response from BIGO names the problem, for example a missing pixel ID or an invalid event ID.
BIGO shows conversions with no revenue
BIGO shows conversions with no revenue
Expected. The template sends the event without a value. To send revenue, confirm with your BIGO account manager that the endpoint accepts
monetary, then add &monetary={payout} to the postback.Cost is zero in ClickFlare
Cost is zero in ClickFlare
The Cost Model is Not Tracked but no cost integration is selected on the traffic source. Add the BIGO Ads cost integration, or switch the Cost Model to CPC.
FREQUENTLY ASKED QUESTIONS
Q1: Can I use the same BIGO Ads traffic source for all my BIGO campaigns?A1: Yes, if they use the same Website Pixel and event. The pixel ID and event are fixed in the postback. Create a second BIGO Ads traffic source for campaigns that use another pixel or optimize on another event.
Q2: What is appKey=Clickflare_o9YVvj? Do I change it?
A2: No. It is the channel key BIGO issued for ClickFlare and it tells BIGO which tracker sent the event. It is the same for every ClickFlare user. Only REPLACE needs your value.
Q3: Why is it calledA3: They are two halves of the same value. ClickFlare reads BIGO’s click ID from its ownclick_idin the campaign URL andsidin the postback?
click_id parameter. BIGO expects it back in its own sid parameter. Both names are fixed. Change neither.
Q4: Why does the postback send IDFA, GAID and the app ID on a web campaign?A4: BIGO’s attribution endpoint also serves app campaigns, where those values are required. On web campaigns they can be empty. The values BIGO needs for web conversions are
sid, bbg and pixel_id.
Related
BIGO Ads cost integration
Pull your BIGO spend into ClickFlare.
Traffic source postbacks
Every token you can use in a postback.
Custom conversions
Split leads and sales into separate events.
Conversions not showing
The general checklist when postbacks don’t arrive.