BIGO Ads bot traffic by placement: every visit judged Valid or Invalid across imo, Likee and BIGO Audience Network, so you can uncheck the worst one.
placement in BIGO AdsThe buyer unchecks entire medias under Placement (imo, Likee or BIGO Audience Network), and ads stop showing there — there is no documented field to paste a list of bad site/app/sub-source IDs, so a bad-source list can only justify turning off a whole channel (or excluding an uploaded GAID/IDFA list, created under Library > Audience > Create a Custom Audience > Customer File, in the ad group’s Include/Exclude Audience setting).
BIGO Ads sells in-app inventory across BIGO’s own apps, Likee and imo, and BIGO Audience Network, all bought through one campaign flow. Likee is a short-video app and imo a messaging app; beyond them, BIGO counts more than 10,000 direct partner apps. A viewer tapping through from BIGO’s own feed and a tap inside a partner app can both arrive under the same campaign. Because BIGO’s placement control works channel by channel, the useful question is which channel’s visits are judged invalid.
BIGO Ads charges by the click: its help centre lists CPC and oCPC as the supported bidding models, so a tap is paid for whether or not a person meant it.
The formats differ by channel. On Likee and imo, BIGO lists native image, native video and playable ads. For the partner apps that carry its ads, BIGO’s monetization page lists rewarded video, playable ads, pop-ups and banners. Click counts look the same across all of them; the verdict on each arriving visit, grouped by channel, shows where the invalid share sits.
The remedy depends on what the channel is carrying: a channel whose visits are largely Invalid is one to turn off, while one carrying valid visits that convert poorly may only warrant a lower bid.
Compare quality between BIGO’s own apps (Likee, imo) and BIGO Audience Network. A channel whose visits sit well below your campaign baseline is the one to uncheck under Placement in the ad group.
Placement is set at ad group level, so give each media channel its own ad group. Verdicts then separate cleanly by channel, and turning one off doesn’t touch the others. Pass __PUBLISHER_ID__ as well: BIGO describes it as the channel ID for the advertising placement. Its table doesn’t list the values, so check them on your first visits against the ad group each one came from.
BIGO’s Web Events API credits conversions on bbg, its ad attribution identifier, read from the bbg key in the landing page URL or the _bge_bbg cookie. BIGO warns that a truncated value returns an invalid bbg error, so leave that parameter untouched when you add your own. ValidVisit doesn’t use it: its verdicts and conversions are tied to the visit itself.
Invalid share broken down by:
__PUBLISHER_ID__The channel ID for the advertising placement: BIGO's own apps or the audience network.Per-click id: BIGO Ads passes a unique click id, and ValidVisit stores it with each visit, so a verdict traces back to the click in BIGO Ads’s own reports.
Compare bot & invalid-traffic breakdown across every ad network →See your own BIGO Ads sub-sources judged this way.
Each BIGO Ads macro maps to a normalized parameter, so every judged visit is pinned to the right campaign, creative and publisher.
https://yoursite.com/landing?utm_source=bigo-ads&utm_medium=social&vv_campaign_id=__CAMPAIGN_ID__&vv_campaign_name=__CAMPAIGN_NAME__&vv_publisher_id=__PUBLISHER_ID__&vv_adset_id=__AD_GROUP_ID__&vv_ad_id=__AD_ID__&vv_click_id=__BBG__| Token | BIGO Ads macro | Maps to | Identifies |
|---|---|---|---|
| Campaign ID | __CAMPAIGN_ID__ | campaign_id | campaign |
| Campaign Name | __CAMPAIGN_NAME__ | campaign_name | campaign |
| Channel (publisher) ID | __PUBLISHER_ID__ | publisher_id | publisher |
| Ad Group ID | __AD_GROUP_ID__ | adset_id | adset |
| Ad ID | __AD_ID__ | ad_id | ad |
| Attribution ID (bbg) | __BBG__ | click_id | click |
__CAMPAIGN_ID____CAMPAIGN_NAME____PUBLISHER_ID____AD_GROUP_ID____AD_ID____BBG__Macros checked against BIGO Ads’s own documentation on 2026-10-02. BIGO Ads docs
The verdict works the same way on every network. ValidVisit never changes your BIGO Ads account: you make the exclusion there yourself. How the verdict works →
At ad group level: Campaign > Ad group > Placement. BIGO recommends keeping the default, but you can manually uncheck a media — imo, Likee or BIGO Audience Network — and ads stop showing there. There is no documented field for pasting a list of bad site, app or sub-source IDs, so a high invalid share can only justify turning off a whole channel. Once you have uploaded a GAID or IDFA list under Library > Audience > Create a Custom Audience > Customer File, you can also exclude that audience in the ad group.
BIGO documents age, gender, location, language and interest targeting, plus device targeting by operating system, OS version, carrier, connection type and device price. IP exclusion and browser or device-model targeting are not documented.
BIGO’s own macro table lists __PUBLISHER_ID__, the channel ID for the placement, plus __CAMPAIGN_ID__, __AD_GROUP_ID__ and __AD_ID__. The channel is the finest placement level BIGO exposes: there is no app, site or sub-placement macro, which is why one channel per ad group matters. The table has no macro named for a click ID; its attribution identifier is __BBG__, which BIGO’s own Events API matches conversions on. ValidVisit ties conversions to the visit itself instead.
BIGO’s campaign guide sets the minimum daily or total budget at 20 USD and the minimum bid at 0.01. It recommends setting budget at ad group level rather than campaign level, which fits the one-channel-per-ad-group setup: each channel gets its own budget, bid and verdicts.
Weighing a blocker for social traffic? How ValidVisit compares to ClickGUARD, Lunio and CHEQ.
See which publishers and placements send real buyers vs bots — every visit judged Valid or Invalid, worst first.
Join the waitlist with just your email · 7-day trial at launch
One script · no cookies · no device IDs · raw IP never stored